Motion-blurred skater in a San Jose Sharks sweater
Breakdown · SJS at ANA

Sharks steal one from the Ducks against the run of play

The verdict · stolen

The Sharks stole one. They lost the expected-goals battle 1.76–5.42 and won anyway.

SJS 5 · ANA 4
◆ By the ModelJul 11, 10:22 PMxG: xgboost-0.758Edited for clarityDrafted from NHL play-by-play by Backcheck's model, worded for clarity by an AI editor that may not change a number. Nobody at Backcheck was at the rink. How this works

The Sharks won 5–4 in a game the Ducks should have won. San Jose faced 5.42 expected goals against and generated just 1.76 — a 76–24 deficit that would sink most teams. Instead, superior goaltending and finishing depth flipped the result.

Y. Askarov's 0.905 save percentage translated to 1.42 goals saved above expectation. L. Dostal's 0.556 mark — split across two goalies mid-game — cost Anaheim dearly, allowing 2.78 goals beyond what the shot quality deserved. The Ducks generated more dangerous chances (7 high-danger opportunities to 3), but neither margin nor talent won the night. Execution and variance did.

The Ducks were objectively the better team in analytics: 42 shot attempts to 13, 0.065 expected goals per shot versus San Jose's 0.049. They crashed the net (9 rebound chances) and attacked off the rush (4 goals on 43 chances). Yet rush-play efficiency cuts both ways. The Sharks' 5 goals on 19 rush attempts eclipsed Anaheim's rate and proved decisive in the third period.

T. Terry (2 goals, 1 assist) and the Sharks' secondary scoring overcame the xG gap. M. Celebrini (1 goal, 2 assists) and A. Wennberg (2 assists) finished with authority. The Ducks' elite shot quality couldn't compensate for goaltending collapse — P. Mrazek's 3/4 saves offered no relief to his partner's subpar 38/42 night.

This was a heist: the xG equivalent of stealing a game on a shot-attempt deficit, salvaged by rush dominance and goaltending swings. Anaheim outplayed San Jose in every meaningful way except the one that appeared on the scoreboard.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Dec 29
SJS
5
ANA
4

Sharks steal one from the Ducks against the run of play

Chances 1.8 – 5.4Did they deserve it? →
Did they deserve it?

The Ducks deserved better.

Expected goals · chance value
SJS
1.76
ANA
5.42
25% of the chances76%

The board read SJS 5, ANA 4. The chances read SJS 1.8, ANA 5.4.

Our xG model · NHL play-by-play · all situations
Luck check
SJS
+3.2
goals above expected
SJS1.76 expected · 5 scored
Expected
Scored
ANA5.42 expected · 4 scored
Expected
Scored

The Sharks scored 3.2 more than their chances were worth. That does not repeat.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P1 10:43SJSM. Ferraro1–0
  2. P1 15:02ANAT. Terry1–1
  3. P1 19:12SJSM. Celebrini2–1
  4. P2 06:30SJSI. Chernyshov3–1
  5. P2 12:17SJSW. Eklund4–1
  6. P2 16:26ANAC. Gauthier4–2
  7. P3 03:07ANAP. Mintyukov4–3
+2 more on the full breakdown
NHL play-by-play · chance value from our xG model
Where the shots came from
SJS
23 shots
5
Final
86 shots
ANA
63 shots
4
SJS attackANA attack
SJS ANA Goal
23
shots · 5 in
63
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
SJSANA
2 / 3
0.68 xG
High danger
1 / 7
1.58 xG
1 / 6
0.68 xG
Medium
1 / 28
3.10 xG
2 / 27
0.39 xG
Low
2 / 49
0.75 xG

The Sharks buried 2 of 3 high-danger looks.

Danger tiers by our xG model · high ≥ 20% chance
In the net
B+
Y. Askarov
+1.4
SJS · 38/42
B+
P. Mrazek
+0.8
ANA · 3/4
+1 more on the full breakdown
The numbers, checked
BACKCHECK

Sharks steal one from the Ducks against the run of play

A model, not a newsroom. Every number on these frames comes from the NHL's play-by-play and our own models. Nothing was watched, guessed or heard from anyone.

Read the full breakdown
backcheckreport.com
01 / 08 · Final
Every goal, in order

How it happened

NHL play-by-play
1stshots 7–14
  1. 10:43SJSM. Ferraro(A. Wennberg, A. Gaudette)1–0
  2. 15:02ANAT. Terry(N. Nesterenko)1–1
  3. 19:12SJSM. Celebrini(A. Wennberg, T. Toffoli)2–1
2ndshots 3–14
  1. 06:30SJSI. Chernyshov(M. Celebrini, S. Dickinson)3–1
  2. 12:17SJSW. Eklund(M. Celebrini)4–1
  3. 16:26ANAC. Gauthier(T. Terry, R. Poehling)4–2
3rdshots 3–14
  1. 03:07ANAP. Mintyukov(C. Gauthier, I. Moore)4–3
  2. 13:47SJSZ. Ostapchuk(V. Iorio, B. Goodrow)5–3
  3. 15:58ANAT. Terrypower play(M. McTavish, J. LaCombe)5–4

score reads SJS–ANA

Source · NHL play-by-play (api-web.nhle.com)
Process vs result

The numbers

XGBoost xG · NHL play-by-play
1.76
SJS chances
Goals their shots were worth
+3.2
Finishing
Goals above what those chances were worth
1.091
SJS puck luck
Above 1.000 — the bounces went their way
30.0%
Shot attempts
Under half — they were outshot
Split by club

Who controlled the game

1.76Expected goals5.42
ANA 76% of the chance quality
13Shots on goal42
3High-danger chances7
36All attempts (Corsi)84
Adjusted for score: SJS 27% · ANA 73%
Faceoffs · ANA won76%off55%neu29%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
SJS2 / 3 · 0.68 xG
ANA1 / 7 · 1.58 xG
Medium dangermid-range
SJS1 / 6 · 0.68 xG
ANA1 / 28 · 3.10 xG
Low dangerperimeter & point
SJS2 / 27 · 0.39 xG
ANA2 / 49 · 0.75 xG

ANA went 1-for-28 from medium danger on 3.10 expected goals — 2.1 left on the table.

Source · Backcheck xG model · NHL play-by-play
The luck layer

Finishing vs expected

expectedactual
SJS
5 G · 1.76 xG · +3.2
ANA
4 G · 5.42 xG · -1.4
0123456

SJS finished +3.2 against expected, ANA -1.4.

Source · Backcheck xG model
Shot types · rush and rebound chancesopen +
What they shot — and what went in

Shot diet

goalsshots
SJS
SNAP2/12
WRIST0/3
TIP IN2/5
SLAP0/0
DEFLECTED0/2
BACKHAND1/1
OTHER0/13
ANA
SNAP1/24
WRIST1/12
TIP IN1/10
SLAP0/8
DEFLECTED0/4
BACKHAND1/5
OTHER0/21
SJS
ANA
Off the rush
5 G on 19
1.69 xG
4 G on 43
3.86 xG
Off rebounds
0 G on 1
0.01 xG
0 G on 9
1.18 xG

Snap shots carried the volume: SJS went 2-for-12, ANA 1-for-24. SJS scored 5 of theirs off the rush.

Source · Backcheck xG model · NHL shot types
New to these numbers?

Two things happened in this game: who created the better chances, and who put the puck in the net. They are not the same thing, and this page separates them on purpose.

The one to watch is expected goals— the best single read on who deserved to win. When it disagrees with the scoreboard, that disagreement is usually the story. Nothing here is a projection; every figure is computed from this game's play-by-play. Full glossary →

xG
Expected goals. Every shot scored by how often that exact look goes in. 2.5 xG means the chances were worth about two and a half goals.
HD
High-danger chances — shots from the slot and the crease, where shots actually become goals.
Corsi
Every shot attempt, including the ones that missed or got blocked. A rough read on who had the puck.
Adj.
Score-adjusted. Teams that trail shoot more and teams that lead sit back, so this corrects the attempt count for the scoreboard.
GSAx
Goals saved above expected. A positive number means the goalie stopped more than an average goalie would have on those shots.
PDO
Shooting % plus save % — a luck gauge. It sits near 1.000 over a season, so a game far from it usually means the bounces decided it.
Shot by shot

In the net

Graded on goals saved above expected
Y. Askarov
SJS · 38/42 · .905
+1.4
saved above expected
B+
the night
By dangerG/attxGsaved
High danger1/71.6+0.6
Medium1/283.1+2.1
Low2/490.8-1.3

A+ ≥ +2.5 saved above expected · A ≥ +1.5 · B+ ≥ +0.75 · B ≥ +0.25 · C ≥ −0.25 · D ≥ −0.75 · F below −1.5

L. Dostal
ANA · 5/9 · .556
-2.2
saved above expected
F
the night
By dangerG/attxGsaved
High danger2/30.7-1.3
Medium1/60.7-0.3
Low2/270.4-1.6

A+ ≥ +2.5 saved above expected · A ≥ +1.5 · B+ ≥ +0.75 · B ≥ +0.25 · C ≥ −0.25 · D ≥ −0.75 · F below −1.5

P. Mrazek
ANA · 3/4 · .750
+0.8
saved above expected
B+
the night
By dangerG/attxGsaved
High danger2/30.7-1.3
Medium1/60.7-0.3
Low2/270.4-1.6

A+ ≥ +2.5 saved above expected · A ≥ +1.5 · B+ ≥ +0.75 · B ≥ +0.25 · C ≥ −0.25 · D ≥ −0.75 · F below −1.5

86 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
SJS
23 shots
5
Final
86 shots
ANA
63 shots
4
SJS attackANA attack
SJS ANA Goal

Each club shoots toward its own end — SJS left, ANA right — the way you would watch it. A dot's size is how dangerous the look was, from distance and angle; it is a proxy for shot quality, not the xG model the article is written from. Hover a dot for the shooter and the clock.

Ranked from the box score

Three stars

Points first
Three stars · computed, not voted
T. Terry
#19 · R · ANA
2 G · 1 A · 3 SOG · 18:51 on ice · +2
M. Celebrini
#71 · C · SJS
1 G · 2 A · 1 SOG · 16:14 on ice
A. Wennberg
#21 · C · SJS
0 G · 2 A · 0 SOG · 19:38 on ice · +1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Mon, Dec 29
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 11, 10:20 PMEdited for clarityDrafted from NHL play-by-play by Backcheck's model, worded for clarity by an AI editor that may not change a number. Nobody at Backcheck was at the rink. How this works

The model projects a 2.5–2.8 goal game favoring Anaheim, with the Ducks at 56% win probability—a tight edge built on territorial control. Anaheim owns the underlying play at 5v5: 52.0% xG and 52.0% Corsi to San Jose's 48.0% and 47.0% respectively.

The wrinkle is a familiar one. Anaheim's -8 goal differential over their last ten games suggests recent struggles that contradict their strong underlying metrics. The culprit is PDO. The Ducks' 0.981 sits meaningfully below San Jose's 0.998, meaning Anaheim is running cold and primed for positive regression. When a team dominates play but loses games, the model expects luck to reverse.

Both goaltenders face back-to-back situations. L. Dostal for Anaheim and Y. Askarov for San Jose are candidates for backup starts or fatigue-worn performances, a variable that could shift a tight game.

On offense, Anaheim builds around Beckett Sennecke (20G, 1.03 xG/60, 8 high-danger chances, 13.5% shooting) and Cutter Gauthier (25G, 0.99 xG/60, 2 high-danger chances, 12.9% shooting). Sennecke's 1.03 xG/60 makes him the engine; watch his shot volume. Gauthier's 25 goals suggest efficiency, though his 2 high-danger tallies indicate opportunistic play.

San Jose's offense flows through Igor Chernyshov (6G, 0.91 xG/60, 1 high-danger chance, 15.0% shooting). Pavol Regenda, who posted 1.10 xG/60 and 2 high-danger goals, is marked likely out. Chernyshov's 15.0% shooting is elite and unsustainable; regression is coming.

Defensively, San Jose's Chernyshov doubles as a liability—the team's defensive weak link—while Anaheim's Mason McTavish holds that role. Chernyshov as both offensive catalyst and defensive sieve is the tension to track: if he generates chances but bleeds in transition, Anaheim's edge widens.

The verdict favors Anaheim. The underlying metrics are clean, and PDO regression is the play. If the Ducks finish half their high-danger chances, the low-60s projection becomes more comfortable. Watch for Sennecke's shot volume and whether San Jose's dual-goaltender uncertainty breeds breakdowns.

What the model said beforehand

The model's lean

ANA 56%
56%
ANA
Model favorite
44%
56%
SJS50ANA

ANA by 12 points of win probability — a modest lean. Projected score SJS 2.5–2.8 ANA; 18% chance it's tied after 60.

Source · Backcheck Poisson projection · season scoring rates
Season rates · 5v5

Tale of the tape

NHL stats API · our xG
SJS← edge
edge →ANA
48.0%52.0%
47.0%52.0%
2.332.80
2.562.59
1.992.09
2.322.32
0.9980.981

ANA holds 5 of 6 process categories — and the luck row (0.998 vs 0.981) says SJS has been getting the bounces, which tends not to last.

Source · NHL stats API + our xG · 5v5
Form · Last 10
SJS
5-5-0
-4 GD · 1d rest
ANA
4-5-1
-8 GD · 1d rest
0.998
SJS PDO
Luck gauge · drifts to 1.000
0.981
ANA PDO
Luck gauge · drifts to 1.000
What decides it

Keys to the game

Where the edges live
  • The Ducks own the underlying play — 52.0% 5v5 xG vs 48.0%.
  • The Ducks drive Corsi at 52.0% — expect territorial tilt.
Regression watch
  • The Ducks' PDO is 0.981 — running cold, due for positive regression.
Things to watch
  • The Ducks own the underlying play — 52.0% 5v5 xG vs 48.0%.
  • The Ducks drive Corsi at 52.0% — expect territorial tilt.
  • L. Dostal is on a back-to-back — watch for a backup start or a tired starter.
  • Y. Askarov is on a back-to-back — watch for a backup start or a tired starter.
  • The Ducks are underwater at -8 goal differential over their last 10.
  • The Ducks' PDO is 0.981 — running cold, due for positive regression.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
SJS
Expected in goal
Y. Askarov
back-to-back.889 last start
Backup Yaroslav Askarov · -18.9 GSAx this season
Back-to-back: the backup often gets this one. Treat the starter as unconfirmed.

No completed game on file for this club yet.

ANA
Expected in goal
L. Dostal
back-to-back.800 last start
Backup Lukas Dostal · -2.9 GSAx this season
Back-to-back: the backup often gets this one. Treat the starter as unconfirmed.

No completed game on file for this club yet.

Lineups are the players who dressed in each club's last game, with their minutes; clubs confirm tonight's at warm-up. Every player this preview names was in that lineup.

Computed danger · scouting

Players to watch

NHL stats API · our xG
SJS
Pavol Regenda5G 1A
1.10 xG/60 · 2 HD · 16.1% sh
Igor Chernyshov6G 8A
0.91 xG/60 · 1 HD · 15.0% sh
ANA
Beckett Sennecke20G 19A
1.03 xG/60 · 8 HD · 13.5% sh
Cutter Gauthier25G 16A
0.99 xG/60 · 2 HD · 12.9% sh
Keep going

Where to next