Motion-blurred skater in a green sweater
Breakdown · SJS at DAL

Stars run the Sharks off the ice on the underlying numbers

The verdict · earned

The Stars earned it — the game and the expected-goals battle both.

SJS 1 · DAL 4
◆ By the ModelJul 11, 7:27 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

Jake Oettinger stopped 1.1 goals above expectation, the margin that separated a close game from a blowout. Dallas defeated San Jose 4–1, but the gap between expected goals (61–39) and the final score tells the real story: Oettinger's performance amplified a good game into a dominant one.

The Stars controlled through superior shot quality. They averaged 0.066 expected goals per shot attempt compared to San Jose's 0.050 — efficient, dangerous offense versus volume shooting. On expected goals, Dallas led 3.18–2.06.

High-danger chances went 6–2 to Dallas, reflecting their net-front presence. The Stars crashed effectively for rebounds, converting 2 of 3 opportunities; San Jose converted 1 of 3. Dallas also held 58% of shot attempts (24–17), controlling tempo.

Yaroslav Askarov made 20 saves on 23 shots (0.870 SV%), outmatched by the volume and danger Dallas created. Miro Heiskanen's wrist shot from a sharp angle (17:41, third period) stands as the turning point — the moment Dallas's dominance crystallized into a decisive result.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Dec 5
SJS
1
DAL
4

Stars run the Sharks off the ice on the underlying numbers

Chances 2.1 – 3.2Did they deserve it? →
Did they deserve it?

The Stars earned this one.

Expected goals · chance value
SJS
2.06
DAL
3.18
39% of the chances61%

The board read SJS 1, DAL 4. The chances read SJS 2.1, DAL 3.2.

Our xG model · NHL play-by-play · all situations
Luck check
DAL
+0.8
goals above expected
DAL3.18 expected · 4 scored
Expected
Scored
SJS2.06 expected · 1 scored
Expected
Scored

Both sides finished close to what their chances were worth. This one was earned on the ice.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P1 14:20DALJ. RobertsonPP0–1
  2. P2 08:23SJSC. Graf1–1
  3. P3 10:56DALS. Steel1–2
  4. P3 16:39DALM. Rantanen1–3
  5. P3 17:41DALM. HeiskanenEN1–4
NHL play-by-play · chance value from our xG model
Where the shots came from
SJS
24 shots
1
Final
62 shots
DAL
38 shots
4
SJS attackDAL attack
SJS DAL Goal
24
shots · 1 in
38
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
SJSDAL
0 / 2
0.45 xG
High danger
2 / 6
1.55 xG
1 / 9
1.28 xG
Medium
1 / 12
1.21 xG
0 / 30
0.33 xG
Low
1 / 30
0.42 xG

The Stars buried 2 of 6 high-danger looks.

Danger tiers by our xG model · high ≥ 20% chance
In the net
B+
J. Oettinger
+1.1
DAL · 16/17
C
Y. Askarov
+0.2
SJS · 20/23
The numbers, checked
BACKCHECK

Stars run the Sharks off the ice on the underlying numbers

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 3–9
  1. 14:20DALJ. Robertsonpower play(W. Johnston, M. Rantanen)0–1
2ndshots 6–4
  1. 08:23SJSC. Graf(T. Dellandrea, N. Leddy)1–1
3rdshots 8–11
  1. 10:56DALS. Steel(A. Petrovic, M. Rantanen)1–2
  2. 16:39DALM. Rantanen(W. Johnston, V. Kolyachonok)1–3
  3. 17:41DALM. Heiskanenempty net(R. Hintz)1–4

score reads SJS–DAL

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

The numbers

XGBoost xG · NHL play-by-play
3.18
DAL chances
Goals their shots were worth
+0.8
Finishing
Goals above what those chances were worth
1.059
DAL puck luck
Above 1.000 — the bounces went their way
53.9%
Shot attempts
Over half — they had the puck more
Split by club

Who controlled the game

2.06Expected goals3.18
DAL 61% of the chance quality
17Shots on goal24
2High-danger chances6
41All attempts (Corsi)48
Adjusted for score: SJS 48% · DAL 52%
Faceoffs · DAL won42%off53%neu72%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
SJS0 / 2 · 0.45 xG
DAL2 / 6 · 1.55 xG
Medium dangermid-range
SJS1 / 9 · 1.28 xG
DAL1 / 12 · 1.21 xG
Low dangerperimeter & point
SJS0 / 30 · 0.33 xG
DAL1 / 30 · 0.42 xG

DAL went 1-for-30 from low danger on 0.42 expected goals — 0.6 above expected.

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

Finishing vs expected

expectedactual
SJS
1 G · 2.06 xG · -1.1
DAL
4 G · 3.18 xG · +0.8
012345

SJS finished -1.1 against expected, DAL +0.8.

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

Shot diet

goalsshots
SJS
SNAP0/12
WRIST1/7
TIP IN0/3
BACKHAND0/1
SLAP0/1
WRAP AROUND0/0
OTHER0/17
DAL
SNAP1/12
WRIST2/13
TIP IN0/5
BACKHAND1/6
SLAP0/1
WRAP AROUND0/1
OTHER0/10
SJS
DAL
Off the rush
0 G on 15
1.56 xG
1 G on 26
2.16 xG
Off rebounds
1 G on 3
0.40 xG
2 G on 3
0.53 xG

Snap shots carried the volume: SJS went 0-for-12, DAL 1-for-12.

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 · 20/23 · .870
+0.2
saved above expected
C
the night
By dangerG/attxGsaved
High danger2/61.6-0.5
Medium1/121.2+0.2
Low1/300.4-0.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

J. Oettinger
DAL · 16/17 · .941
+1.1
saved above expected
B+
the night
By dangerG/attxGsaved
High danger0/20.5+0.5
Medium1/91.3+0.3
Low0/300.3+0.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

62 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
SJS
24 shots
1
Final
62 shots
DAL
38 shots
4
SJS attackDAL attack
SJS DAL Goal

Each club shoots toward its own end — SJS left, DAL 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
M. Rantanen
#96 · R · DAL
1 G · 2 A · 2 SOG · 18:17 on ice · +2
W. Johnston
#53 · C · DAL
0 G · 2 A · 2 SOG · 16:39 on ice · +1
M. Heiskanen
#4 · D · DAL
1 G · 0 A · 3 SOG · 24:48 on ice
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Fri, Dec 5
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 11, 7:03 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 projection spells it plainly: San Jose between 2.3 and 2.6 goals, Dallas at 55% win probability. This is a coin flip.

Dallas owns recent play—7-1-2 in their last 10. San Jose is submerged at -9 goal differential over the same stretch: not variance, but being systematically outplayed.

The underlying edge belongs to Dallas. They control 51.0% of expected goals at 5v5 against San Jose's 48.0%. Corsi, though, tells a different story—both sit at 47.0%—suggesting possession is tighter than shot quality. Dallas's PDO of 1.024 is the warning: they're running hot. Regression is due.

Goaltending offers no relief. J. Oettinger and A. Nedeljkovic both arrive on back-to-backs, leaving both teams facing either fatigue or a backup in a pick'em game.

San Jose loses Pavol Regenda to inactivity, their 1.10 xG/60 edge. Igor Chernyshov (0.91 xG/60, 6 goals, 8 assists) steps in, though his 15.0% shooting rate will normalize. Dallas counters with Jason Robertson—25 goals, 21 assists, 0.96 xG/60—the patient accumulator who punishes mistakes. Michael Bunting (0.83 xG/60, 8 goals) finishes cleanly.

Dallas has the model edge and the momentum. In games this tight, goaltending and luck determine the night.

What the model said beforehand

The model's lean

DAL 55%
55%
DAL
Model favorite
45%
55%
SJS50DAL

DAL by 10 points of win probability — a modest lean. Projected score SJS 2.3–2.6 DAL; 19% 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 →DAL
48.0%51.0%
47.0%47.0%
2.332.36
2.562.29
1.992.07
2.321.68
0.9981.024

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

Source · NHL stats API + our xG · 5v5
Form · Last 10
SJS
5-5-0
-9 GD · 1d rest
DAL
7-1-2
+18 GD · 1d rest
0.998
SJS PDO
Luck gauge · drifts to 1.000
1.024
DAL PDO
Luck gauge · drifts to 1.000
What decides it

Keys to the game

Where the edges live
  • The Stars own the underlying play — 51.0% 5v5 xG vs 48.0%.
Regression watch
  • The Stars' PDO is 1.024 — running hot, expect some regression.
Things to watch
  • The Stars own the underlying play — 51.0% 5v5 xG vs 48.0%.
  • J. Oettinger is on a back-to-back — watch for a backup start or a tired starter.
  • A. Nedeljkovic is on a back-to-back — watch for a backup start or a tired starter.
  • The Stars are the hotter team by points pace (7-1-2 in their last 10).
  • The Sharks are underwater at -9 goal differential over their last 10.
  • The Stars' PDO is 1.024 — running hot, expect some regression.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
SJS
Expected in goal
A. Nedeljkovic
back-to-back.842 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.

DAL
Expected in goal
J. Oettinger
back-to-back1.000 last start
Backup Jake Oettinger · +5.7 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
DAL
Jason Robertson25G 21A
0.96 xG/60 · 2 HD · 12.4% sh
Michael Bunting8G 14A
0.83 xG/60 · 0 HD · 7.6% sh
Keep going

Where to next