← Methodology

Transition-credit RAPM

A multi-season rating that isolates a single player's on-ice impact, with an original adjustment that returns value to the defensemen who drive play but don't finish it.

Isolating one player's impact

Raw on-ice results are contaminated by who else is on the ice, who the player was matched against, and how the coach used them. Our RAPM untangles that. Over a multi-season window it statistically holds constant a player's teammates, the quality of their competition, and the situations they were deployed in - zone starts, score state, home ice, and rest - leaving an estimate of the impact that belongs to that player alone. Offense and defense are estimated together in one simultaneous fit, oriented so that higher is always better on both ends of the ice, and only the player terms are regularized so the context controls never absorb credit that belongs to a skater.

The transition-credit adjustment

Plus-minus-style ratings tend to hand a rush chance's value to whoever shoots it, quietly under-rewarding the player who actually carried the puck up the ice to create it. That blind spot falls hardest on puck-moving defensemen, whose defensive suppression a pure on-ice model captures well but whose offensive contribution it systematically under-credits. We correct for it with an original transition credit: the puck-mover on a same-team zone transition earns a share of the chance that follows, measured on a shrunken basis so a small sample of flashy carries can't inflate a rating. That credit is combined with the offensive rating on a common standardized scale, restoring value to the defensemen who drive play rather than finish it.

How the regularization is set

A rating like this needs regularization - a dial that pulls noisy, small-sample estimates toward the league average so a player with few minutes isn't handed a wild number. We don't set that dial by taste. Its strength is chosen by out-of-sample tuning: we fit the model across a range of settings and keep the one that best explains held-out play, rather than the one that flatters the in-sample fit. The resulting estimates are deliberately conservative, and every rating is oriented and pooled consistently so the leaderboard is comparable across positions.

Since August 2026 there are two of those dials rather than one, and both are estimated from the data instead of chosen. Offense and defense used to share a single setting. Measured across all six seasons in the model, they should not: the true spread of defensive impact between NHL players is consistently narrower than the spread of offensive impact, about 60% as wide, in every season without exception, so one shared setting hedged offense too hard while hedging defense too little. Where the held-out criterion could not tell two candidate settings apart - and on the defense side it genuinely could not, the two finalists landing four orders of magnitude inside the measure's own reproducibility - the tie was broken by which settings the individual seasons preferred and by a likelihood-based estimate fit separately to each season, rather than by our judgment about which number looked right.

Validating the level, not just the ranking

A rating can rank players sensibly and still be miscalibrated on how much each player is actually worth. So we check the level against the standings. This RAPM is the engine underneath our goals-and-wins value stack, and when we sum every team's players' value and compare it to what the team actually did on the ice, it tracks team goal-differential at about 0.84 - on par with the best public value models. The goals-to-wins conversion is then fit from that same relationship, so the value a team's roster adds up to reflects its real on-ice differential rather than a number borrowed from another model.

Coverage is a career-pooled rating: one row per skater across the multi-season window, so the counts below are player counts, not player-seasons. The rated population is defensemen-heavy by design - the transition credit exists precisely to value that group correctly.

CoverageRated skaters
Distinct skaters rated1,587
Defensemen518
Centers478
Left wing268
Right wing242
Honest caveats. The 0.84 figure validates the team-summed value stack this RAPM feeds - not the individual coefficients in isolation; there is no standalone RAPM-versus-standings number, and we don't manufacture one. The out-of-sample tuning score that sets the regularization is low in absolute terms, which is normal for shift-level RAPM and is what honest stint-level signal looks like - it is not a claim that any single player's rating is predictive on its own. This is a descriptive, public-play-by-play player rating with the usual multi-season caveats, not a tracking-data microstat and not a betting signal. The training window is our multi-season modern era (2020-21 onward); an internal reference document still cites the earlier, pre-extension window, and we flag that mismatch rather than paper over it. Any two RAPM models will disagree on individual players - ours is teammate- and competition-adjusted, so a star in sheltered minutes can read lower than a raw-production model would put him.

Validation figures reflect the data through 2025-26 and are recomputed each season. Head-to-head benchmark tests (log-loss, AUC, bootstrap intervals) are dated snapshots of a specific held-out season, labeled where they appear.