GoaltendingAdvanced

What is Goals Saved Above Expected?

Abbreviated: GSAX

How many more (or fewer) goals a goaltender prevented compared to what an average goalie would allow on the same shots.

What this tells us

When this goaltender faces a shot, we calculate the quality and danger of that shot using our expected-goals model. Then we compare what he actually gave up to what an average NHL goalie would have given up on those same shots. A positive GSAX means he's stopping shots better than average; a negative number means he's giving up more goals than a typical starter would. It's the purest measure of goaltending skill because it accounts for the fact that not all shots are created equal.

Limitations

GSAX depends entirely on the accuracy of the underlying expected-goals model — if the model misjudges shot quality or misses context (like whether a defenseman was screening the goalie), GSAX will be off. It also doesn't account for volume: a starter facing 25 shots a night will show more variance than a backup. Small sample sizes can be misleading. That's why we pair GSAX with save percentage and workload.

Formula[show]
GSAX = xGA – GA, where xGA is expected goals against (based on shot quality faced) and GA is actual goals against.

How PuckLab calculates this

PuckLab GSAX is built on our v2 expected-goals model (56 features, AUC 0.758). Full methodology will live on /methodology page. We calculate xGA at the play level and aggregate by goaltender and game state (5v5, power play, short-handed).

Example

A top-tier starter might post a GSAX of +8 to +15 over a season, meaning he's preventing several more goals than league average on the same shot diet. A league-average starter typically sits near 0. A struggling goalie might be at –5 to –10.