← Methodology

Goalie value: GSAx, High-Danger GSAx & Quality Starts

The headline goaltending metrics, built on the same shot-quality model as our skater work - and, by design, blind to which goalie is in the net.

Goals Saved Above Expected (GSAx)

For every shot a goalie faces, our expected-goals model estimates the chance it becomes a goal from the shot's location, angle, type, and the play that created it. GSAx is the sum of those expected goals minus the goals actually allowed: positive means the goalie stopped more than a league-average goalie would have on the same shots. It credits the difficulty of the shots faced, not just raw save percentage.

The key correctness property: the xG model carries no goalie feature - it never knows who is in the net (goalie identity is used only to flag empty nets and to assign each shot to the goalie facing it). That makes GSAx an unbiased read on the goalie rather than a model that has quietly memorized which goalies are good. It is the same engine documented on the shooter xG page, aggregated to the goalie instead of the shooter.

High-Danger GSAx

Not every save is equally informative. We split shots into three danger tiers by expected-goal value, and High-Danger GSAx restricts the same calculation to the toughest chances - the tier that best separates real goaltending talent from noise. It also plays to our shot model's strength: on the held-out season the leading public model over-values the very highest-danger chances (its top expected-goal decile over-predicts by about 8 percentage points), while ours sits essentially on the mark - so the hardest shots, the ones High-Danger GSAx is built from, are exactly where our valuations are most trustworthy.

Danger tierExpected goals per shot≈ Share of shots
Lowunder 0.0552%
Medium0.05 – 0.1231%
High0.12 and up17%

Quality Starts

A start counts as a quality start when the goalie's GSAx for that game is at or above zero - they were at least league-average against the shots they actually faced. Quality-Start % is the share of a goalie's starts that clear that bar. It is deliberately volume-neutral: it asks whether the goalie beat expectation on the night, not whether they happened to face few shots. That is a conscious departure from the common absolute goals-against definition, which conflates a light workload with a strong performance.

How we keep it honest

Because these metrics need only shot coordinates, they reach back to 2009-10: sixteen seasons of goaltending, all situations, scored on one consistent shot-quality yardstick. Season percentiles are computed only among goalies who carried a real workload - at least 20 starts - so a handful of spot appearances can never manufacture a leaderboard rank.

Before any season publishes, we check that the rankings land where a knowledgeable fan would expect. On the held-out 2024-25 season the danger-adjusted GSAx leaderboard is led by that year's Vezina winner, followed by other established starters - elite goaltending rises to the top on its own, without the model ever being told who is elite. It is a sanity check on the shot-to-goalie join, not a marketing claim.

Coverage & disciplineValue
Seasons covered (all situations)2009-10 → 2024-25 (16)
Goalie-seasons scored1,515
Cleared the 20-start percentile floor822 (168 goalies)
Shot mix scored (low / medium / high danger)52% / 31% / 17%

The honest caveat: goalie value is noisy

Single-season goaltending carries far more variance than skater skill, and we would rather say so than sell a number as steadier than it is. Measured season to season, a goalie's raw GSAx-per-shot repeats only weakly on light workloads and firms up as the sample grows - and even at its best it stays well below the year-to-year stability of a skater's chance creation.

Year-over-year repeatabilityCorrelation
GSAx per shot, no workload floor0.13
GSAx per shot, 500+ shots both seasons0.36
GSAx per shot, 1,000+ shots both seasons0.40
Season-total adjusted GSAx (20+ starts both years)0.18
For contrast: skater chance creation~0.88
Scope note: GSAx here is a descriptive measure of what a goalie did against the shots they actually faced, and we deliberately do not present it as a betting signal - our own testing puts game-level goaltending at the noise floor for prediction, and the repeatability table above is exactly why. What it is: a leak-free, goalie-neutral, shot-quality-aware scorecard.

Goalie Wins Above Replacement

We also convert a goalie's saves into wins. Goalie WAR is the goals a goalie saved above what a freely-available replacement goalie would have allowed on the same shots, expressed in wins. Because single-season goaltending is noisy, the saves-above-expected are regressed to their reliable share before the conversion, so the number reads sustainable value rather than one season's variance. It is shown for starters only - 25 or more starts in a season.

How we validate the goalie WAR

The amount of regression is not a guess: it is set from how repeatable goaltending actually is within a season. A split-half test of a goalie's save performance on their own shots puts the reliable share near one-half at a full season, so a season's saves-above-expected are regressed accordingly. The result lands where it should - the league's clear No. 1 starters top the list, an elite season is worth a few wins on the same scale as a strong skater (correctly a touch below the very best), and a typical starter sits under two wins.

The honest caveat: goaltending is the noisiest thing to value in the sport, so a single season's goalie WAR carries more uncertainty than a skater's, and it repeats only modestly from year to year. We regress it and restrict it to starters for exactly that reason - we would rather publish a conservative, defensible number than a flashy one.

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.