Motion-blurred skater in a Calgary Flames sweater
Breakdown · SJS at CGY

Flames run the Sharks off the ice on the underlying numbers

The verdict · earned

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

SJS 2 · CGY 3
◆ By the ModelJul 12, 3:25 AMxG: 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 Flames beat the Sharks 3-2, but the underlying numbers tell a starker story. Calgary dominated expected goals 5.82 to 3.37, holding 63% of shot attempts and high-danger chances (10 to 4). A one-goal final margin obscures that gulf.

The scoreline stayed tight because both teams underperformed their xG: the Flames by 2.82 goals, San Jose by 1.37. A. Nedeljkovic saved 2.82 goals above expected, stopping all 10 high-danger chances he faced. Yet his elite performance wasn't enough. Calgary's 0-for-10 finish on high-danger chances is unsustainable, but M. Frost (1G, 1A) and M. Weegar (1A) made the difference.

Joel Farabee's backhander from the doorstep (6:53, third period) proved decisive.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Jan 31
SJS
2
CGY
3

Flames run the Sharks off the ice on the underlying numbers

Chances 3.4 – 5.8Did they deserve it? →
Did they deserve it?

The Flames earned this one.

Expected goals · chance value
SJS
3.37
CGY
5.82
37% of the chances63%

The board read SJS 2, CGY 3. The chances read SJS 3.4, CGY 5.8.

Our xG model · NHL play-by-play · all situations
Luck check
CGY
−2.8
goals above expected
CGY5.82 expected · 3 scored
Expected
Scored
SJS3.37 expected · 2 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 03:11SJSW. SmithPP1–0
  2. P1 14:44CGYM. FrostPP1–1
  3. P2 01:21SJSA. Gaudette2–1
  4. P2 06:59CGYM. Gridin2–2
  5. P3 06:53CGYJ. FarabeeSH2–3
NHL play-by-play · chance value from our xG model
Where the shots came from
SJS
35 shots
2
Final
97 shots
CGY
62 shots
3
SJS attackCGY attack
SJS CGY Goal
35
shots · 2 in
62
shots · 3 in
Every unblocked shot · press play to replay it
Chances by danger
SJSCGY
1 / 4
0.82 xG
High danger
0 / 10
2.68 xG
1 / 17
2.10 xG
Medium
3 / 19
2.27 xG
0 / 32
0.46 xG
Low
0 / 53
0.88 xG

High-danger looks: SJS 1 of 4, CGY 0 of 10.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A+
A. Nedeljkovic
+2.8
SJS · 39/42
B+
D. Wolf
+1.4
CGY · 23/25
The numbers, checked
BACKCHECK

Flames 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 11–15
  1. 03:11SJSW. Smithpower play(A. Wennberg)1–0
  2. 14:44CGYM. Frostpower play(M. Coronato, J. Huberdeau)1–1
2ndshots 6–17
  1. 01:21SJSA. Gaudette(W. Eklund, M. Misa)2–1
  2. 06:59CGYM. Gridin(M. Frost, M. Weegar)2–2
3rdshots 8–10
  1. 06:53CGYJ. Farabeeshorthanded(M. Backlund, K. Bahl)2–3

score reads SJS–CGY

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

The numbers

XGBoost xG · NHL play-by-play
5.82
CGY chances
Goals their shots were worth
−2.8
Finishing
Goals below what those chances were worth
0.999
CGY puck luck
About 1.000 — a normal night for bounces
60.7%
Shot attempts
Over half — they had the puck more
Split by club

Who controlled the game

3.37Expected goals5.82
CGY 63% of the chance quality
25Shots on goal42
4High-danger chances10
53All attempts (Corsi)82
Adjusted for score: SJS 39% · CGY 61%
Faceoffs · CGY won74%off44%neu48%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
SJS1 / 4 · 0.82 xG
CGY0 / 10 · 2.68 xG
Medium dangermid-range
SJS1 / 17 · 2.10 xG
CGY3 / 19 · 2.27 xG
Low dangerperimeter & point
SJS0 / 32 · 0.46 xG
CGY0 / 53 · 0.88 xG

CGY went 0-for-10 from high danger on 2.68 expected goals — 2.7 left on the table.

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

Finishing vs expected

expectedactual
SJS
2 G · 3.37 xG · -1.4
CGY
3 G · 5.82 xG · -2.8
01234567

SJS finished -1.4 against expected, CGY -2.8.

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

Shot diet

goalsshots
SJS
WRIST1/16
SNAP1/7
SLAP0/4
TIP IN0/4
BACKHAND0/4
POKE0/0
DEFLECTED0/0
OTHER0/18
CGY
WRIST0/24
SNAP2/16
SLAP0/8
TIP IN0/6
BACKHAND1/4
POKE0/3
DEFLECTED0/1
OTHER0/20
SJS
CGY
Off the rush
2 G on 24
2.46 xG
1 G on 34
3.26 xG
Off rebounds
0 G on 2
0.38 xG
2 G on 10
1.86 xG

Wrist shots carried the volume: SJS went 1-for-16, CGY 0-for-24. SJS scored 2 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
A. Nedeljkovic
SJS · 39/42 · .929
+2.8
saved above expected
A+
the night
By dangerG/attxGsaved
High danger0/102.7+2.7
Medium3/192.3-0.7
Low0/530.9+0.9

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

D. Wolf
CGY · 23/25 · .920
+1.4
saved above expected
B+
the night
By dangerG/attxGsaved
High danger1/40.8-0.2
Medium1/172.1+1.1
Low0/320.5+0.5

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

97 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
SJS
35 shots
2
Final
97 shots
CGY
62 shots
3
SJS attackCGY attack
SJS CGY Goal

Each club shoots toward its own end — SJS left, CGY 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. Frost
#16 · C · CGY
1 G · 1 A · 5 SOG · 17:13 on ice · +1
M. Weegar
#52 · D · CGY
0 G · 1 A · 4 SOG · 26:17 on ice
A. Wennberg
#21 · C · SJS
0 G · 1 A · 2 SOG · 24:30 on ice · -1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Sat, Jan 31
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 12, 3:22 AMEdited 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 SJS 2.5 - 2.6 CGY game with the Flames at 52% win probability. This is about as close to a pick'em as you'll find.

San Jose is the hotter team, going 6-3-1 in their last 10, while Calgary sits at minus-10 goal differential over the same stretch. Underlying metrics are equally tight. The Sharks hold a 48.0% expected-goals share at 5v5 versus Calgary's 47.0%, but the Flames edge them in Corsi at 49.0% to 47.0%. The Sharks' PDO sits at 0.998; the Flames' at 0.985. That deficit suggests Calgary is due for positive regression.

Both teams feature back-to-back situations in goal. D. Cooley and Y. Askarov are each on the second half, so watch for either a backup appearance or a tired starter from one side.

Players to Watch

SJS

  • Pavol Regenda: 1.10 xG/60, 5G 1A, 2 HD goals, 16.1% shooting
  • Igor Chernyshov: 0.91 xG/60, 6G 8A, 1 HD goals, 15.0% shooting

CGY

  • Blake Coleman: 0.89 xG/60, 16G 12A, 2 HD goals, 11.4% shooting
  • Matt Coronato: 0.80 xG/60, 10G 16A, 6.6% shooting

Regenda's 16.1% shooting percentage is elite finishing—he's converting at well above expectation. Chernyshov's 6 goals at 15.0% on a lower expected-goal pace makes him a secondary threat. Coleman is Calgary's workhorse: 16 goals and 12 assists on 0.89 xG/60. Coronato has produced 10 goals and 16 assists at 0.80 xG/60 with a 6.6% shooting rate.

This is a genuine flip. The model knows it. You should too.

What the model said beforehand

The model's lean

CGY 52%
52%
CGY
Model favorite
48%
52%
SJS50CGY

CGY by 4 points of win probability — effectively a coin flip. Projected score SJS 2.5–2.6 CGY; 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 →CGY
48.0%47.0%
47.0%49.0%
2.332.36
2.562.66
1.991.76
2.322.15
0.9980.985

The season numbers split 3–3 — no clear process edge — and the luck row (0.998 vs 0.985) says SJS has been getting the bounces, which tends not to last.

Source · NHL stats API + our xG · 5v5
Form · Last 10
SJS
6-3-1
+0 GD · 1d rest
CGY
3-5-2
-10 GD · 1d rest
0.998
SJS PDO
Luck gauge · drifts to 1.000
0.985
CGY PDO
Luck gauge · drifts to 1.000
What decides it

Keys to the game

Regression watch
  • The Flames' PDO is 0.985 — running cold, due for positive regression.
Things to watch
  • D. Cooley 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 Sharks are the hotter team by points pace (6-3-1 in their last 10).
  • The Flames are underwater at -10 goal differential over their last 10.
  • The Flames' PDO is 0.985 — 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.875 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.

CGY
Expected in goal
D. Cooley
back-to-back.870 last start
Backup Dustin Wolf · -1.8 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
CGY
Blake Coleman16G 12A
0.89 xG/60 · 2 HD · 11.4% sh
Matt Coronato10G 16A
0.80 xG/60 · 0 HD · 6.6% sh
Keep going

Where to next