Draft Chalkboard
← Back to Articles

PWHL Goaltending: Goals Saved Above Expected

September 2026 · Draft Chalkboard

Part 3 of the PWHL Player Value series

In Part 1, we built an expected goals model from 11,625 shots. In Part 2, we measured defensive impact with RAPM, deliberately excluding goaltending so skater defense could stand on its own. Now we bring goalies back in.

Save Percentage Is a Team Stat

In June, when the PWHL expansion protection lists were due, we argued that teams were wasting protection slots on goalies. Part of that argument was that save percentage is misleading because it blends goalie skill with team defense. But we also had to admit: “The PWHL doesn't publish shot quality data, so we can't isolate how much of any goalie's numbers are her and how much are her teammates.” Now we can.

Ann-Renée Desbiens faces 2.01 expected goals per 60 minutes. Gwyneth Philips faces 2.87. That gap has nothing to do with how good they are. Montreal's defense limits shot quality. Ottawa's doesn't. Of course Desbiens posts a higher save percentage.

Goals Saved Above Expected (GSAx) fixes this. It takes every shot a goalie faces, looks up the expected goal probability from our xG model, sums those probabilities to get expected goals against (xGA), and compares to actual goals against. Positive GSAx means the goalie saved more than the model predicted. Negative means she let in more than expected.

The result is a goaltending metric that controls for shot quality, shot distance, and rebound status. It doesn't care how good the defense in front of you is. It only asks: given the shots you actually faced, how many did you save relative to what an average goalie would have saved?

The Rankings

All 12 goalies who played 8+ games in the 2025-26 season, ranked by GSAx:

GoalieTeamGPShotsGAxGAGSAxSV%
Ann-Renée DesbiensMTL256202850.6+22.695.5%
Aerin FrankelBOS266653453.4+19.494.9%
Gwyneth PhilipsOTT288496378.7+15.792.6%
Raygan KirkTOR236424452.7+8.793.1%
Corinne SchroederSEA175054446.9+2.991.3%
Maddie RooneyMIN164203436.1+2.191.9%
Emerance MaschmeyerVAN195504949.4+0.491.1%
Kristen CampbellVAN133053127.4-3.689.8%
Nicole HensleyMIN133823530.2-4.890.8%
Hannah MurphySEA123763933.7-5.389.6%
Elaine ChuliTOR82062317.4-5.688.8%
Kayle OsborneNY276987060.5-9.590.0%

Three goalies separate from the pack. Desbiens (+22.6) saved nearly 23 more goals than expected across 25 games. She faced the easiest workload in the league (2.01 xG/60) and still beat the model by a wide margin. Frankel (+19.4)posted similar numbers behind a similarly strong Boston defense. Both of these are unsurprising. They played for the league's best two teams, and they were both excellent.

Philips (+15.7)is the more interesting story. She faced the second-hardest workload in the league (2.87 xG/60, behind only Seattle), started 28 games, and still posted a GSAx that would be elite on any team. Ottawa's defense put her in difficult positions. She bailed them out repeatedly.

At the other end, Osborne (-9.5)is worth examining. Her 90.0% save percentage looks adequate at first glance. But once you account for shot quality, New York's defense actually did a decent job of limiting quality chances (2.30 xG/60, 5th in the league). Osborne faced a below-average workload and still allowed 9.5 more goals than expected. The raw SV% masked below-average goaltending.

One more data point. In the expansion article, we highlighted Elaine Chuli's .949 SV% behind Montreal's defense as evidence that backups look elite behind elite teams. This season she moved to Toronto and posted a GSAx of -5.6 in 8 games. Same goalie, different defense, replacement-level results.

Where They Save

GSAx tells you who's good. It doesn't tell you how. For that, we can break down save percentage by distance and shot quality.

Save % by Distance

Top 6 goalies by GSAx, save percentage in four distance buckets:

Goalie0-10ft10-20ft20-30ft30+ft
Desbiens100.0%89.1%95.7%97.4%
Frankel80.0%92.5%93.1%96.2%
Philips87.5%87.8%89.4%96.4%
Kirk60.0%86.0%88.3%97.6%
Schroeder66.7%85.8%85.8%96.6%
Rooney75.0%85.7%89.2%96.4%

From 30+ feet, everyone saves 93-97%. That's the range where shot distance alone makes the goalie's job routine. The separation happens in close.

The 10-20 foot range is where elite separates from average. This is the slot, the area where most goals are scored. Frankel leads at 92.5%. Desbiens is at 89.1%. Schroeder and Rooney are both under 86%. That 6-7 point gap in slot save percentage is the difference between a GSAx of +19 and a GSAx near zero.

Desbiens' 100% at 0-10 feet is striking but comes on a small sample. Most shots from that range are deflections, rebounds, or scrambles. The number will regress. But her 95.7% from 20-30 feet is on a larger sample and genuinely elite. She's stopping shots that most goalies let through.

Save % by Shot Quality

Splitting shots into quality (close-range, high xG) and non-quality (distant, low xG):

GoalieQuality SV%Non-Quality SV%
Desbiens91.3%99.1%
Frankel91.5%97.8%
Philips88.8%96.6%
Kirk87.9%97.2%
Rooney88.1%95.1%
Osborne86.9%92.8%

Frankel and Desbiens are nearly identical on quality shots (91.5% vs 91.3%). Both are well above the pack. The gap between the top two and the rest is 2-4 percentage points on the highest-danger shots. On non-quality shots, Desbiens is near-perfect at 99.1%. She barely lets in anything that isn't a genuine scoring chance.

Osborne's numbers confirm the GSAx story. She's below average on both quality (86.9%) and non-quality shots (92.8%). She's leaking goals on shots that most goalies save routinely.

Goaltending and Team Defense

In Part 2, we built RAPM to isolate skater defensive impact. RAPM uses expected goals against (xGA) as its dependent variable, which means goaltending is excluded by construction. xGA measures shot quality allowed, not goals allowed. A defender's RAPM coefficient reflects her shot suppression independent of who was in net.

That separation was deliberate. It lets us now add goaltending back on top and see how the two layers interact.

The Keller-Frankel Effect

Megan Keller won the Defender of the Year award. In Part 2, we noted that her RAPM DEF/60 was near zero (rank 48 of 168 skaters). Her individual shot suppression is average. But her on-ice results are exceptional: GA/60 of 0.60, compared to an xGA/60 of 1.85.

That gap is Aerin Frankel. When Keller is on the ice, Frankel faces 215 shots at 5v5 and allows just 7 goals against 15.6 expected. That's a GSAx of +8.6 in Keller's shifts alone. Keller's on-ice results look elite, but the goaltending behind her is doing the heavy lifting on the defensive end. This doesn't mean the award was wrong. Keller may do things the model can't see: gap control, communication, positioning that never shows up as a prevented shot because the play never develops. But it does mean her results are inseparable from Frankel's performance.

Montreal: Defense and Goaltending Aligned

Montreal allowed the fewest goals in the league (41 in 30 games, 1.37 per game). They also had the best team xGA (2.06 per game), meaning their defense limited shot quality better than anyone. And then Desbiens saved 22.6 more goals than expected on top of that.

This is the ideal combination: fewer shots, lower-quality shots, and an elite goalie converting those advantages into the league's best goals-against record. Montreal didn't rely on goaltending to bail out a leaky defense. They built the defense first and let Desbiens add the margin.

New York: Defense Without Goaltending

New York is the counter-example. They posted the 3rd-best xGA per game in the league (2.26), ahead of Minnesota and Toronto. Their skaters did their jobs. But they allowed 82 actual goals, the 3rd worst in the league (2.73 per game).

The gap: 82 GA vs 67.8 xGA, a difference of 14.2 goals. Osborne's -9.5 GSAx accounts for most of that. New York's problem wasn't defense. It was goaltending. The skaters suppressed shot quality. The goalie didn't convert that suppression into saved goals.

Combined Team Defense

Complete team defense is the sum of two independent components: skater shot suppression (measured by RAPM, which uses xGA) and goaltending (measured by GSAx, which uses actual saves vs xGA). Neither captures the full picture alone.

TeamxGA/GGA/GGAAssessment
MTL2.061.3741Elite D + elite goaltending
BOS2.171.4343Strong D + elite goaltending
NY2.262.7382Strong D, weak goaltending
MIN2.272.4373Average D, split goaltending
TOR2.342.2367Average D, good goaltending
VAN2.562.6780Weak D, average goaltending
OTT2.812.3370Weak D, elite goaltending
SEA2.852.9789Weak D, below-average goaltending

Ottawa is the mirror image of New York. Worst xGA/G in the league after Seattle (2.81), but only 70 actual goals. Philips' +15.7 GSAx turned a bottom-tier defense into a middle-of-the-pack goals-against record. Toronto shows a similar pattern on a smaller scale: Kirk's +8.7 GSAx improved an average defense into a respectable one.

Was Protecting Them Worth It?

In June, five teams used expansion protection slots on goalies. We argued none of them should have. With GSAx, we can revisit that claim.

TeamProtectedGSAxxG/60Verdict
MTLDesbiens+22.62.01Genuinely elite
BOSFrankel+19.42.02Genuinely elite
OTTPhilips+15.72.87Genuinely elite, hardest job
VANMaschmeyer+0.42.76Replacement level
MINRooney+2.12.23Marginal

We were wrong about three of them. Desbiens, Frankel, and Philips aren't just products of their defense. They're genuinely saving 15-23 more goals than an average goalie would behind the same defense. Philips is especially notable: she faced the hardest workload and still posted elite GSAx. Protecting her was correct.

But we were right about two. Maschmeyer (+0.4) is exactly replacement level. Vancouver used a protection slot to keep a goalie who saved 0.4 more goals than average across 19 games. Campbell, the backup they were willing to lose, posted -3.6. The gap between them is about 4 goals over a full season. Whatever skater Vancouver left exposed to keep that margin was almost certainly worth more. Rooney (+2.1) is slightly above average but not enough to justify a protection slot over a top-four skater.

The original argument still holds in principle: goalie value is easier to replace than skater value, and SV% overstates the gap between starters. But the blanket “none of them should” was too aggressive. When a goalie is saving 15-20+ goals above expected, she's providing real, measurable value that a replacement can't replicate. The mistake was assuming all five were similar. They weren't. Three were elite. Two were replaceable.

Limitations

Several caveats to keep in mind:

  • Sample sizes are small.Goalies range from 8 to 28 games played. One season of PWHL data (120 games total) is far less than what NHL analysis works with. Desbiens' 100% save rate at 0-10 feet is a product of small N, not superhuman ability.
  • No pre-shot movement data.The xG model doesn't know about screens, cross-ice passes, broken plays, or goalie positioning before the shot. A screened shot from 25 feet is much harder than an unscreened one, but the model treats them identically. This means some GSAx variance is actually shot difficulty the model can't measure.
  • Season-to-season stability is unknown.The PWHL is two seasons old. We can't yet measure how well GSAx persists year over year. In the NHL, goalie performance is famously volatile. It may be similar here.
  • Rebounds are partially endogenous.A goalie who gives up more rebounds creates more high-danger follow-up shots. Our model accounts for rebound status on the shot itself, but the goalie's tendency to generate rebounds isn't captured.

What’s Next

We now have the three building blocks: offensive production via xG, skater defensive impact via RAPM, and goaltending via GSAx. Part 4 will combine them into a single player value framework and connect it to salary data from the PWHLPA. The question that framework answers: given what a player actually contributes on both sides of the ice, what should she be paid?

Data from the PWHL HockeyTech play-by-play API. 120 games, 2025-26 season. 6,711 shots on goal. xG model calibrated on 11,625 shots across both seasons (990 goals vs 993.2 xG predicted, 0.3% over). GSAx = xGA − GA (positive = above expected).

Save percentages in this article are derived from play-by-play shot events, which undercount total shots faced relative to official statistics. The PBP feed doesn't capture every save. Goals against match official totals, but some routine saves are missing from the play-by-play record, which lowers the SV% denominator. The effect on GSAx is minimal since the missing shots are overwhelmingly low-xG saves. For official SV% figures, see the expansion protection article.