HoopsJunkie

JUNKIE

Joint Unified Noise-Kontrolled Impact Estimate

JUNKIE is our flagship player impact metric. It estimates how much a player contributes to their team's scoring differential per 100 possessions, building directly on RAPM with two refinements: a luck adjustment that prices shots by their expected value, and a box score component that stabilises the on/off signal. Each player receives an offensive rating (O-JUNKIE), a defensive rating (D-JUNKIE, where negative means fewer points allowed), a combined rating (JUNKIE), and a cumulative wins figure (JUNKIE Wins).

Kontrolling for luck

Raw plus-minus credits whatever happened while a player was on the floor, including outcomes nobody on the court controls. When opponents hit an unsustainable percentage of their threes, a defender's numbers suffer even if every one of those shots was well contested. JUNKIE replaces actual points with expected points: each shot is priced by how often shots like it go in, based on where it was taken and who took it.

Not all shooting variance is luck, so the adjustment is applied at different strengths for different shot types:

  • Three-pointers are mostly normalised. Within a single season, three-point percentage carries a lot of noise, so hot and cold stretches are largely priced at expected rates.
  • Two-pointers mostly keep their actual outcomes. Finishing at the rim on offense and contesting shots on defense are real repeatable skills and flattening them would erase genuine signal like rim protection.
  • Free throws are fully replaced with the shooter's own season rate, so an elite foul-drawer keeps the value of their trips while a teammate's hot or cold night at the line stops moving everyone else's numbers.

Shot-making skill survives the adjustment. Shots are priced at the shooter's own regressed rates rather than the league average, so an elite shooter's pull-up three is worth more expected points than the same attempt from an average shooter. We calibrated the adjustment strengths empirically, keeping the settings that best predicted player impact in the following season.

Balancing on/off impact and the box score

On/off data asks the right question (is the team better with this player on the floor?) but it stabilises slowly and struggles to separate players who always share the court. A role player who starts alongside a superstar inherits a flattering plus-minus that possession data alone cannot fully untangle within a single season. To counter this, JUNKIE blends the luck-adjusted on/off estimate with a box score estimate whose weightings are fitted against long-run RAPM.

The balance between the two shifts with playing time. Early in a season, or for low-minute players, JUNKIE leans on the box score estimate. As possessions accumulate, the on/off signal earns more weight. The blend itself was calibrated the same way as the luck adjustment: we tested which balance best predicted impact in the following season, and the data favoured keeping a substantial box score share even at full-season sample sizes.

JUNKIE Wins

JUNKIE is a rate stat, so two players with the same rating can differ enormously in seasonal value if one played twice the minutes. JUNKIE Wins converts the rating into cumulative value by comparing each player to a replacement-level player over the possessions they actually played, then translating those marginal points into wins using a points-per-win conversion derived empirically from each league's own results. Durable, very good players can accumulate more wins than brilliant players who miss half the season. That is the point of the stat.

Playoffs

JUNKIE is also computed for the playoffs. Playoff samples are small, so the blend leans heavily on the box score component and ratings are compressed toward zero. We do not publish JUNKIE Wins for the playoffs because a points-per-win conversion does not translate to a seven-game series.

How it compares to other metrics

JUNKIE belongs to the same family as LEBRON (BBall Index) and RAPTOR (FiveThirtyEight). All three combine a box score estimate with an on/off estimate, and LEBRON shares the luck-adjusted RAPM core. Where those metrics lean on proprietary tracking data or player archetypes, JUNKIE is built entirely from play-by-play and box score data, which lets us compute it identically for the NBA and the WNBA.

JUNKIE is a descriptive metric: it measures what happened, after stripping out the noise that happened alongside it. It is not a predictive model. Systems like DARKO use time-series methods to project what a player will do next; JUNKIE tells you how much a player has actually moved the needle this season.

See it on the leaderboards

Credits

JUNKIE stands on the shoulders of the public basketball analytics community: Jeremias Engelmann's RAPM (see our RAPM methodology), BBall Index's LEBRON (which pioneered the luck-adjusted RAPM with a box prior approach), and FiveThirtyEight's RAPTOR (which blended box and on/off components, weighting the box by its ability to predict long-run RAPM).