Measuring What Defenders Actually Do
September 2026 Β· Draft Chalkboard
Part 2 of the PWHL Player Value series
In Part 1, we built an expected goals model from 11,625 shots across two PWHL seasons. That tells us who creates chances and who finishes them. But hockey is played on both sides of the ice. A player who generates 8 xG but gives up 12 isn't helping her team win. Part 2 tackles the harder question: who's actually good at preventing goals?
The Problem: Defenders Have No Stats
In other sports, defenders have real metrics. Basketball has steals, blocks, defensive rating, and shot contests. Baseball has Defensive Runs Saved and Outs Above Average. Hockey defenders have three things:
- Blocked shotsβ a raw count that doesn't distinguish blocking a harmless point shot from blocking a one-timer from the slot
- Hitsβ a count with no context about whether the hit actually disrupted a scoring chance or just finished a check along the boards
- Plus-minusβ universally dismissed as a useful individual metric. It credits or blames every skater on the ice equally and treats a fluky deflection the same as a breakaway goal
Neither tells you who's actually suppressing dangerous chances. So we built something better using the same play-by-play and shift data from the xG model, covering 120 games of the 2025-26 season where shift data is available.
What We Can Count: Raw Defensive Stats
Using play-by-play data enriched with shift charts, we can track what happens while each player is on the ice at 5v5. For every shot taken against, we know who was out there and what the shot was worth in expected goals. Sum it up across a season and you get a simple picture of on-ice defense.
First, the team-level view. Montreal and Boston were the league's best defensive teams by expected goals against per game. Seattle and Ottawa were the worst.
| Team | SA/G | xGA/G | GA | HD% | Block% |
|---|---|---|---|---|---|
| Montreal | 25.2 | 2.06 | 41 | 10.3% | 35.0% |
| Boston | 26.1 | 2.17 | 43 | 7.7% | 28.7% |
| New York | 26.1 | 2.26 | 82 | 11.5% | 29.4% |
| Minnesota | 27.5 | 2.27 | 73 | 11.1% | 29.3% |
| Toronto | 28.3 | 2.34 | 67 | 10.0% | 30.8% |
| Vancouver | 28.5 | 2.56 | 80 | 12.2% | 31.7% |
| Ottawa | 30.7 | 2.81 | 70 | 12.1% | 23.1% |
| Seattle | 31.1 | 2.85 | 89 | 10.8% | 31.1% |
SA/G = shots against per game. xGA/G = expected goals against per game (from shot quality, not actual goals). GA = actual goals allowed. HD% = high-danger shot percentage. Block% = percentage of shot attempts blocked.
Notice the gap between xGA and GA. New York allowed 2.26 xGA per game (3rd best in the league) but gave up 82 actual goals.Their defense was fine. Their goaltending wasn't. Montreal and Boston had both strong defense and elite goaltending. We'll tackle goaltending in Part 3.
Individual On-Ice Defense
At the individual level, we can sum the xG value of every shot taken against while a player is on the ice at 5v5. xGA (expected goals against) is lower for players whose teams face fewer and lower-quality shots during their shifts. Here are the top shot suppressors among skaters with 200+ minutes of 5v5 ice time.
| Player | Team | Pos | GP | 5v5 TOI | xGA/60 | Rel xGA/60 |
|---|---|---|---|---|---|---|
| Shay Maloney | BOS | F | 30 | 459 | 1.39 | β0.44 |
| Hadley Hartmetz | BOS | D | 27 | 375 | 1.45 | β0.39 |
| Kathryn Reilly | OTT | D | 25 | 391 | 2.09 | β0.33 |
| Britta Curl-Salemme | MIN | F | 30 | 521 | 1.78 | β0.28 |
| Kendall Cooper | MIN | D | 30 | 645 | 1.81 | β0.26 |
| Sophie Jaques | VAN | D | 30 | 741 | 2.28 | β0.26 |
| Kati Tabin | MTL | D | 30 | 627 | 1.73 | β0.23 |
| Cayla Barnes | SEA | D | 30 | 699 | 2.49 | β0.22 |
| Maggie Flaherty | MTL | D | 30 | 555 | 1.75 | β0.22 |
| Rory Guilday | OTT | D | 30 | 627 | 2.21 | β0.22 |
5v5 TOI in minutes. xGA/60 = expected goals against per 60 minutes of 5v5 ice time. Rel xGA/60 = xGA/60 relative to team average (negative = better than teammates). Min 200 5v5 minutes.
Shay Maloney and Hadley Hartmetz in Boston stand out. Maloney, a forward, allowed just 1.39 xGA/60, nearly half a goal per 60 minutes below her team average. But notice the TOI column. Maloney played 459 5v5 minutes. Sophie Jaques played 741. Cayla Barnes played 699. The heavy-minutes players tend to cluster around their team's average because they aretheir team's average. That doesn't mean they're not suppressing chances. It means the metric can't tell.
Shot Blocking: Not Just a Count
Traditional blocked shot totals treat all blocks equally. But the xG model lets us ask: how much danger did each block actually remove? A block on a 3% point shot prevented 0.03 expected goals. A block on a 15% slot shot prevented 0.15.
| Player | Team | GP | Blocks | xG Blk | Avg xG/Blk |
|---|---|---|---|---|---|
| Maggie Flaherty | MTL | 30 | 63 | 3.44 | 0.055 |
| Ashton Bell | VAN | 30 | 54 | 3.22 | 0.060 |
| Ella Shelton | TOR | 30 | 55 | 3.06 | 0.056 |
| Sidney Morin | MIN | 30 | 42 | 2.95 | 0.070 |
| Cayla Barnes | SEA | 30 | 43 | 2.60 | 0.061 |
| Amanda Boulier | MTL | 30 | 44 | 2.44 | 0.055 |
| Sophie Jaques | VAN | 30 | 39 | 2.26 | 0.058 |
| Haley Winn | BOS | 30 | 45 | 2.01 | 0.045 |
Flaherty leads the league with 3.44 expected goals prevented through blocks alone. But the last column is revealing: most blocks prevent about 0.055 xG, meaning they're stopping shots from outside the danger zones. Sidney Morin is the outlier at 0.070 xG per block, suggesting she's getting in the way of more dangerous shots. Haley Winn blocks the most shots but her blocks are the lowest quality (0.045), consistent with blocking shots the goalie probably would have seen anyway.
What We Can Count: Assist Creation from Defenders
The xG model already captures every skater's individual shooting production, defenders included. But defenders also create offense for teammates. Primary assist expected goals (a1xG) measures how much xG a defender generates through passing: the expected goal value of every goal where that defender made the last pass.
| Player | Team | GP | 5v5 TOI | a1xG |
|---|---|---|---|---|
| Sophie Jaques | VAN | 30 | 367 | 0.70 |
| Renata Fast | TOR | 26 | 334 | 0.58 |
| Megan Keller | BOS | 30 | 376 | 0.53 |
| Jaime Bourbonnais | NY | 28 | 280 | 0.52 |
| Lee Stecklein | MIN | 28 | 354 | 0.44 |
| Cayla Barnes | SEA | 30 | 314 | 0.28 |
| Kati Tabin | MTL | 30 | 324 | 0.26 |
| Sidney Morin | MIN | 30 | 329 | 0.24 |
| Ella Shelton | TOR | 30 | 378 | 0.13 |
| Maja NylΓ©n Persson | NY | 30 | 286 | 0.00 |
5v5 TOI from RAPM stint data (~60% of total 5v5 time). a1xG = expected goals from goals where the player had the primary assist.
Jaques leads defenders in assist creation at 0.70 a1xG, followed by Fast (0.58) and Keller (0.53). Some defenders generate zero assist value in the data (NylΓ©n Persson: 0.00 a1xG), suggesting a purely defensive role. The question is whether we can actually separate defensive value from offensive value at the individual level.
The Catch: Context Matters
The on-ice stats above have a fundamental problem. A defender's xGA depends on:
- Who she plays with. A bad partner inflates your xGA. A great goalie deflates your GA.
- Who she plays against. Facing top lines generates more xGA than facing fourth lines.
- Score state. Teams trailing take more risks, inflating shot counts for both sides.
- Home/away. Home teams suppress shots slightly better on average.
Kati Tabin and Maggie Flaherty (Montreal) post excellent raw xGA numbers. But they play with Ann-RenΓ©e Desbiens in net, the league's best goalie by Goals Saved Above Expected (+22.6). They play on the league's best defensive team. How much of their on-ice suppression is their doing, and how much is Montreal's system? Raw numbers can't answer that.
We measured quality of competition across the league. The spread is narrow: average opponent xGF/60 ranges from 1.72 (Minnesota defenders, easiest) to 1.79 (several players, hardest). But even small differences compound over a season. A player facing 0.07 more xGF/60 than her teammate accumulates roughly 0.5 extra xGA over 600 minutes. Context adjustments matter.
RAPM: Isolating Individual Impact
To separate individual contributions from context, we use Regularized Adjusted Plus-Minus (RAPM). Here's how it works at a level a hockey fan can follow:
- We break every game into stints: continuous intervals where the same 10 skaters are on the ice at 5v5
- Each stint, we know exactly who was out there and how many expected goals were generated for and against
- Ridge regression asks: given that these 5 skaters were defending and those 5 were attacking, what's each individual's contribution to the xGA rate?
- The model simultaneously controls for every other skater, home/away advantage, and score state (trailing, leading, or tied)
From 120 games with shift data, we extracted 13,752 valid 5v5 stints covering 3,567 total minutes (~60% of 5v5 time; the rest is lost to line changes shorter than 5 seconds). The output is a defensive impact coefficient (DEF xG) and an offensive impact coefficient (ATK xG) for every skater.
The key property of RAPM: xGA is pre-goalie.It measures shot quality allowed, not goals allowed. Goaltending is factored out by construction. A defender's DEF xG reflects her shot suppression independent of who was in net. We'll measure goalies separately in Part 3.
RAPM Leaders: Full Season Impact
DEF xG is the total expected goals prevented (negative = good, suppressed more chances than average). ATK xG is the total expected goals generated (positive = good). Net xG = ATK β DEF, measuring total two-way impact.
| Player | Team | Pos | GP | TOI | DEF xG | ATK xG | Net xG |
|---|---|---|---|---|---|---|---|
| Maja NylΓ©n Persson | NY | D | 30 | 286 | β2.00 | +5.51 | +7.50 |
| Sophie Jaques | VAN | D | 30 | 367 | β6.55 | +0.76 | +7.31 |
| Claire Butorac | MIN | F | 30 | 175 | +0.75 | +7.72 | +6.97 |
| Alex Carpenter | SEA | F | 30 | 282 | β4.61 | +2.11 | +6.72 |
| Ella Shelton | TOR | D | 30 | 378 | +3.17 | +9.86 | +6.68 |
| Amanda Boulier | MTL | D | 30 | 292 | β0.85 | +5.59 | +6.44 |
| Britta Curl-Salemme | MIN | F | 30 | 269 | β1.85 | +3.58 | +5.43 |
| Ashton Bell | VAN | D | 30 | 320 | β3.02 | +2.36 | +5.39 |
| Natalie Snodgrass | SEA | F | 29 | 236 | β4.17 | +1.21 | +5.37 |
| Sydney Bard | VAN | D | 30 | 229 | β4.61 | β0.52 | +4.09 |
| Megan Keller | BOS | D | 30 | 376 | β0.38 | +0.88 | +1.26 |
| β¦ 148 skaters omitted β¦ | |||||||
| Maddi Wheeler | NY | F | 29 | 200 | +5.49 | β1.24 | β6.74 |
| Lee Stecklein | MIN | D | 28 | 354 | +4.56 | β2.15 | β6.70 |
| Cayla Barnes | SEA | D | 30 | 314 | +8.00 | +1.07 | β6.94 |
| Claire Thompson | VAN | D | 28 | 332 | +4.14 | β3.15 | β7.29 |
| Hayley Scamurra | MTL | F | 30 | 248 | +4.75 | β3.04 | β7.79 |
5v5 TOI in minutes from RAPM stints (~60% of total 5v5 time). DEF xG: negative = prevented more xGA than average (good). ATK xG: positive = generated more xGF than average (good). Net xG = ATK β DEF. 168 skaters total. Keller included for reference despite ranking #53 overall.
The model produces two distinct types of value. Sophie Jaques leads all skaters in defensive impact(β6.55 DEF xG), meaning her on-ice presence suppressed 6.55 more expected goals than the average skater over the season. Her offensive contribution is modest (+0.76 ATK xG), but the defensive value alone makes her the #2 overall skater.
Contrast that with Ella Shelton (+3.17 DEF xG, +9.86 ATK xG). Shelton's defensive RAPM is positive, meaning her teams allowed more xGA than average when she played. But her offensive generation was so high (+9.86, the most in the league) that she's still #5 overall. Two paths to value.
Sydney Bardis the league's purest defensive specialist among defenders: β4.61 DEF xG (best rate in the league at β1.208 per 60 minutes) with slightly negative offensive impact. Her defense alone places her 15th overall. Not a name you hear in award conversations.
Adding Special Teams
The 5v5 model captures the majority of ice time, but power play and penalty kill minutes matter. A separate RAPM model estimates each skater's xG contribution on special teams. Combining 5v5 net xG with PP and PK gives total xG impact across all situations.
| Player | Team | Pos | GP | 5v5 xG | PP xG | PK xG | Total xG |
|---|---|---|---|---|---|---|---|
| Maja NylΓ©n Persson | NY | D | 30 | +7.50 | +0.09 | β0.14 | +7.45 |
| Alex Carpenter | SEA | F | 30 | +6.72 | +0.82 | β0.11 | +7.43 |
| Sophie Jaques | VAN | D | 30 | +7.31 | β0.39 | +0.40 | +7.31 |
| Claire Butorac | MIN | F | 30 | +6.97 | +0.20 | +0.03 | +7.20 |
| Ella Shelton | TOR | D | 30 | +6.68 | +0.23 | β0.09 | +6.82 |
| Grace Zumwinkle | MIN | F | 29 | +6.52 | +0.19 | β0.14 | +6.57 |
| Amanda Boulier | MTL | D | 30 | +6.44 | +0.05 | β0.12 | +6.36 |
| Savannah Harmon | TOR | D | 30 | +5.57 | +0.22 | +0.18 | +5.97 |
| Natalie Snodgrass | SEA | F | 29 | +5.37 | +0.43 | +0.10 | +5.90 |
| Britta Curl-Salemme | MIN | F | 30 | +5.43 | +0.28 | +0.17 | +5.87 |
| Ashton Bell | VAN | D | 30 | +5.39 | β0.20 | +0.39 | +5.57 |
| Jessie Eldridge | BOS | F | 30 | +4.03 | +1.04 | +0.25 | +5.32 |
| Laura Stacey | MTL | F | 30 | +3.60 | +0.07 | +1.04 | +4.71 |
| β¦ 149 skaters omitted β¦ | |||||||
| Megan Keller | BOS | D | 30 | +1.26 | β0.60 | β0.10 | +0.56 |
| β¦ | |||||||
| Hayley Scamurra | MTL | F | 30 | β7.79 | +0.22 | +0.59 | β6.98 |
| Claire Thompson | VAN | D | 28 | β7.29 | +0.18 | β0.01 | β7.11 |
| Cayla Barnes | SEA | D | 30 | β6.94 | β0.24 | β0.14 | β7.32 |
| Lee Stecklein | MIN | D | 28 | β6.70 | β0.25 | β0.44 | β7.39 |
Total xG = 5v5 Net xG + PP xG + PK xG. PP/PK estimates are noisier due to smaller samples. PK xG: positive = suppressed opponent chances on the kill. 168 skaters total.
The top 5 barely moves. NylΓ©n Persson, Carpenter, Jaques, Butorac, and Shelton are the league's five most valuable skaters regardless of whether you include special teams. Most elite players' PP and PK contributions are small and roughly offsetting.
The interesting cases are further down. Laura Staceyjumps from a 5v5 value of +3.60 to a total of +4.71 on the strength of her penalty kill (+1.04 PK xG, the best in the league). She suppresses 1.93 xG per 60 PK minutes across 32 minutes of shorthanded ice time. That's genuine defensive value the 5v5 model misses entirely. Jessie Eldridge gets a similar boost from the other side: +1.04 PP xG from 31.5 power play minutes.
Special teams also hurt. Maggie Flahertydrops from +4.60 (5v5) to +3.87 (total) because her penalty kill is the second-worst in the league (β1.07 PK xG). Brianne Jenner's PK impact (β1.36, worst in the league across 31.4 PK minutes) drags her from β1.89 to β3.16. Keller slips from +1.26 to +0.56, mostly on poor power play returns (β0.60 PP xG) despite heavy PP deployment.
Why RAPM Isnβt the Final Answer
RAPM is the best methodology available for isolating individual defense, but at this sample size, it's a rough tool. The core problem: defender pairs share enormous amounts of ice time. In the 2025-26 season, 24 pairs shared more than 70% of their 5v5 time. 43 pairs shared more than 60%. The regression tries to separate them using the small windows where one plays without the other, but with a 30-game season, those windows are often tiny.
We can see exactly what the model is working with using WOWY (With Or Without You) diagnostics. These show the team's xGA/60 rate in four scenarios: both on, Player A only, Player B only, and neither.
Jaques and Thompson (Vancouver)
RAPM: Jaques +7.31 Net xG (#2 overall) vs. Thompson β7.29 (#167). A 14.6 xG gap. They share 65% of their ice time.
When Jaques plays alone, Vancouver's xGA/60 drops 0.44 below baseline. When Thompson plays alone, it's 0.13 above. The WOWY supports the direction of the RAPM split: Jaques is the stronger half. But 129 solo minutes is still limited, and the true gap between them is probably smaller than 14.6 xG. The model fills gaps using the forwards each D plays with, which introduces indirect inference.
Keller and Winn (Boston)
RAPM: Keller +1.26 Net xG (#53) vs. Winn β1.44 (#126). They share 68% of their ice time.
Together they allow 2.68 xGA/60, but when either plays alone, the rate drops to 2.18 and 2.07 respectively. The pair is worse together than either is alone. This is unusual and may reflect deployment patterns (they play together against top opposition) rather than a real interaction effect. The RAPM assigns Keller a slight edge over Winn, but the WOWY suggests the gap is thin. Neither looks like a defensive standout independent of the other.
The honest conclusion: RAPM gives us the direction. It does not give us precision. At 30 games with 60-80% shared ice time among partners, the individual coefficients are rough estimates. Where multiple metrics agree (RAPM, raw on-ice, and the WOWY), we can be fairly confident. Where they disagree, we need more data.
What Can We Actually Say?
Four players illustrate the range of what the model can and can't tell us.
Sophie Jaques: The Consensus
#2 overall by Net xG (+7.31). Best DEF xG in the league (β6.55). Leads all defenders in ixG (4.50). The WOWY supports her defensive impact (solo xGA/60 drops 0.44 below baseline). She does everything: suppresses chances, generates offense, and the data agrees from multiple angles. The closest thing this model produces to a consensus elite defender.
Sydney Bard: The Surprise
Best DEF/60 in the league (β1.208), ahead of Jaques, Carpenter, and every other skater. A pure defensive specialist with negative offensive output (β0.52 ATK xG). Not a finalist for any award. Ranked 15th overall because the defensive suppression is that strong: 4.61 expected goals prevented over the season, despite playing only 229 RAPM minutes.
Jaques and Thompson: The Collinearity Problem
RAPM assigns Jaques +7.31 and Thompson β7.29. Almost exactly opposite. A 14.6 xG gap between partners who share 65% of their ice time. The WOWY partially supports it (Jaques alone is better), but the magnitude of the split likely overstates the true difference. If they were on different teams, the model might assign each a more moderate value. This is the inherent limitation of a 30-game season.
Megan Keller: Offense, Not Defense
Defender of the Year. The model ranks her #53 overall with a DEF xG of β0.38 (essentially zero defensive impact) and ATK xG of +0.88. She leads all D-men in ixG (4.03), confirming her value is offensive. She also plays with Aerin Frankel (GSAx +19.4), who saves 59% of the expected goals Keller allows. Keller's on-ice GA/60 is an elite 0.60, but her xGA/60 is an average 1.85. The gap is mostly Frankel. This doesn't mean the award is wrong. It might mean Keller does things the model can't see: gap control, positioning, communication. Or it might mean the award is responding to goaltending-inflated results.
Limitations
- PP/PK samples are small. The stint-based RAPM is most reliable at 5v5. Special teams estimates come from fewer minutes, so individual PP/PK values are noisier than 5v5.
- 60% capture rate. Shift data covers 120 of 210 games. Within those games, stints shorter than 5 seconds (line changes in progress) are discarded. The model sees about 60% of total 5v5 time.
- 30-game season. Defender pairs sharing 60-80% of ice time produce inherent collinearity. With 50-130 minutes of solo data per player, the model is often making indirect inferences through shared forwards.
- xGA is pre-goalie.The defensive metric measures shot suppression, not goals prevented. A defender who works well with a specific goalie (or poorly) won't show that in RAPM.
- No pre-shot data.Zone entries, passing sequences, and controlled breakouts are not in the play-by-play feed. The model sees the shot. It doesn't see the 10 seconds before it.
- Regularization pulls toward zero.Ridge regression (Ξ»=50) shrinks all coefficients toward the mean. Players with less ice time get shrunk more. The true spread of talent is probably wider than what the model reports.
Whatβs Next
Part 3: goaltending. Goals Saved Above Expected (GSAx) measures each goalie's performance against the same xG model, independent of skater RAPM by construction. With offensive xG (Part 1), defensive impact (Part 2), and goaltending (Part 3), we have the building blocks for a complete player value framework that covers all three phases of hockey.
Data from the PWHL HockeyTech play-by-play and shift APIs. 120 games with shift data from the 2025-26 season. 13,752 valid 5v5 stints, 3,567 total minutes. RAPM via ridge regression (Ξ»=50, 377 columns, 27,504 observations). Sensitivity tested at Ξ»=25/50/100 (rank correlation Ο β₯ 0.997).