Goals & Wins Above Replacement (GAR / WAR)
The site's headline value metric: one number, in goals, for everything a skater contributes over a freely-available replacement - then converted to wins, and checked against what teams actually did on the ice.
What GAR measures
GAR rolls a skater's entire on-ice contribution into a single figure denominated in goals: the goals they help create and the goals they help prevent, above what a freely-available replacement player - a call-up or waiver-wire body - would have produced in the same minutes. WAR is the same value expressed in wins, dividing goals by a calibrated goals-per-win factor. Higher is better on both, and a replacement-level player sits at zero.
The seven components
GAR is built bottom-up from seven independent pieces, each measured in goals, that sum to the total. Even-strength offense and defense are the backbone; special teams, discipline, faceoffs, and finishing round it out.
| Component | What it captures |
|---|---|
| EV offense | 5v5 chance creation, incl. a transition credit for the puck-mover |
| EV defense | 5v5 chance suppression, oriented so higher is better |
| Power play | Scoring value added on the man advantage, over a replacement option |
| Penalty kill | Shorthanded chance suppression |
| Penalties | Penalties drawn minus penalties taken |
| Faceoffs | Draw wins above a replacement rate |
| Finishing | Goals scored above the expected value of the chances taken |
Replacement level, stated honestly
For the even-strength backbone, replacement is a genuine below-average floor - the 15th percentile of the qualified per-position talent distribution, a level roughly 85% of NHL regulars clear - not league average. The power play is measured over a replacement unit; penalties and faceoffs use a depth-player floor; finishing is anchored at league-average finishing. That is the change that makes WAR mean what it says: an earlier version baselined the backbone at league average, which quietly turned the headline into wins above average.
Single-season, and how we validate it
The headline WAR is a single-season number: the even-strength core is fit separately for each season on that season's own data, regularized toward league average by a strength chosen through cross-validation - never toward the player's own past. To check the number means what it claims, we sum every team's players' WAR and compare it to what the team actually did on the ice.
| Validation check | Result |
|---|---|
| Team-summed WAR vs team goal-differential | correlate ~0.84, on par with the best public models |
| Single-season fit vs the older pooled model | edges it out-of-sample on held-out games |
| Goalies in the skater WAR | none by construction; a structural gate blocks any leak |
Two more guards run before anything publishes: structural sanity gates refuse a build if the league-wide ordering drifts outside its expected bands, and a fingerprint check proves that a single-season update changed only that season. These catch pipeline mistakes before they ever reach a card.
Two WAR numbers, and why they do not add up
A skater can show two WAR figures, and they are not meant to be equal. The single-season number fits each year on its own data and answers what a player did that season. The multi-season, or true-talent, number pools the whole window into one stable estimate and answers how good the player is right now, the figure you would carry into next year. A pooled talent estimate is a different calculation from several separate seasons, so summing a player's single seasons will not reproduce the pooled figure, by design. The gap lives almost entirely in finishing, the least repeatable component. In the single-season number finishing is credited at face value - the goals that actually beat the expected value of the chances, that season - because a single-season figure is a descriptive record of what happened. In the true-talent number it is not: a season's finishing is pulled toward a neutral, league-average level in proportion to how little evidence stands behind it, so one hot season is mostly discounted while a full career of them survives as real skill. Because the single seasons are left un-pulled and the career figure is pulled, summing a high-volume shooter's descriptive seasons sits above his pooled true-talent finishing - and that gap is exactly the season-to-season noise the true-talent number is built to remove. The season number is the honest record; the career number is the honest forecast.
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.