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

Flames pull away from the Canucks

The verdict · earned

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

CGY 5 · VAN 2
◆ By the ModelJul 11, 5:26 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

Vancouver commanded 60% of shot attempts (31–21 on goal) but lost 5–2. Calgary's shots were worth more: 0.094 expected goals per attempt against Vancouver's 0.056. That efficiency gap swallowed the volume advantage.

The Canucks underperformed their 3.73 expected goals by 1.73. They scored on zero of five high-danger attempts. K. Lankinen (VAN) ceded 0.57 goals above expected; D. Wolf (CGY) saved 1.73 above expected and was perfect on high-danger shots, 5-for-5.

Calgary generated a 10–5 edge in high-danger chances and was lethal off the rush: three goals on 21 attempts. Both teams created rebound opportunities — Vancouver converted one of three, Calgary two of four.

Quinn Hughes's backhander from the doorstep (P3, 08:16) was the turning point.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Nov 23
CGY
5
VAN
2

Flames pull away from the Canucks

Chances 4.4 – 3.7Did they deserve it? →
Did they deserve it?

The Flames earned this one.

Expected goals · chance value
CGY
4.43
VAN
3.73
54% of the chances46%

The board read CGY 5, VAN 2. The chances read CGY 4.4, VAN 3.7.

Our xG model · NHL play-by-play · all situations
Luck check
CGY
+0.6
goals above expected
CGY4.43 expected · 5 scored
Expected
Scored
VAN3.73 expected · 2 scored
Expected
Scored

The Canucks left 1.7 goals on the table against what their chances were worth.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P1 01:05VANF. Hronek0–1
  2. P1 07:33CGYM. Frost1–1
  3. P1 08:08CGYC. Zary2–1
  4. P2 10:37CGYK. Bahl3–1
  5. P2 16:31CGYY. Sharangovich4–1
  6. P3 07:59CGYB. ColemanSH5–1
  7. P3 08:16VANQ. HughesPP5–2
NHL play-by-play · chance value from our xG model
Where the shots came from
CGY
34 shots
5
Final
85 shots
VAN
51 shots
2
CGY attackVAN attack
CGY VAN Goal
34
shots · 5 in
51
shots · 2 in
Every unblocked shot · press play to replay it
Chances by danger
CGYVAN
2 / 10
3.00 xG
High danger
0 / 5
1.09 xG
3 / 10
1.10 xG
Medium
1 / 17
1.84 xG
0 / 27
0.33 xG
Low
1 / 45
0.80 xG

The Canucks went 0 for 5 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
D. Wolf
+1.7
CGY · 29/31
D
K. Lankinen
−0.6
VAN · 16/21
The numbers, checked
BACKCHECK

Flames pull away from the Canucks

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–13
  1. 01:05VANF. Hronek(J. DeBrusk)0–1
  2. 07:33CGYM. Frost(R. Andersson, M. Coronato)1–1
  3. 08:08CGYC. Zary(M. Backlund, B. Coleman)2–1
2ndshots 11–6
  1. 10:37CGYK. Bahl(N. Kadri, R. Andersson)3–1
  2. 16:31CGYY. Sharangovich(R. Andersson, N. Kadri)4–1
3rdshots 3–12
  1. 07:59CGYB. Colemanshorthanded(M. Backlund)5–1
  2. 08:16VANQ. Hughespower play(K. Lankinen)5–2

score reads CGY–VAN

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

The numbers

XGBoost xG · NHL play-by-play
4.43
CGY chances
Goals their shots were worth
+0.6
Finishing
Goals above what those chances were worth
1.077
CGY puck luck
Above 1.000 — the bounces went their way
41.2%
Shot attempts
Under half — they were outshot
Split by club

Who controlled the game

4.43Expected goals3.73
CGY 54% of the chance quality
21Shots on goal31
10High-danger chances5
47All attempts (Corsi)67
Adjusted for score: CGY 37% · VAN 63%
Faceoffs · VAN won58%off57%neu35%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
CGY2 / 10 · 3.00 xG
VAN0 / 5 · 1.09 xG
Medium dangermid-range
CGY3 / 10 · 1.10 xG
VAN1 / 17 · 1.84 xG
Low dangerperimeter & point
CGY0 / 27 · 0.33 xG
VAN1 / 45 · 0.80 xG

CGY went 3-for-10 from medium danger on 1.10 expected goals — 1.9 above expected.

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

Finishing vs expected

expectedactual
CGY
5 G · 4.43 xG · +0.6
VAN
2 G · 3.73 xG · -1.7
0123456

CGY finished +0.6 against expected, VAN -1.7.

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

Shot diet

goalsshots
CGY
WRIST1/16
SLAP0/5
SNAP1/3
TIP IN2/2
BACKHAND0/5
DEFLECTED0/1
POKE0/1
BAT1/1
OTHER0/13
VAN
WRIST1/30
SLAP0/7
SNAP0/5
TIP IN0/6
BACKHAND1/2
DEFLECTED0/1
POKE0/0
BAT0/0
OTHER0/16
CGY
VAN
Off the rush
3 G on 21
1.90 xG
1 G on 26
2.17 xG
Off rebounds
2 G on 4
0.62 xG
1 G on 3
0.39 xG

Wrist shots carried the volume: CGY went 1-for-16, VAN 1-for-30. CGY scored 3 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
D. Wolf
CGY · 29/31 · .935
+1.7
saved above expected
A
the night
By dangerG/attxGsaved
High danger0/51.1+1.1
Medium1/171.8+0.8
Low1/450.8-0.2

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

K. Lankinen
VAN · 16/21 · .762
-0.6
saved above expected
D
the night
By dangerG/attxGsaved
High danger2/103.0+1.0
Medium3/101.1-1.9
Low0/270.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

85 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
CGY
34 shots
5
Final
85 shots
VAN
51 shots
2
CGY attackVAN attack
CGY VAN Goal

Each club shoots toward its own end — CGY left, VAN 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
R. Andersson
#4 · D · CGY
0 G · 3 A · 2 SOG · 24:46 on ice · +4
M. Backlund
#11 · C · CGY
0 G · 2 A · 2 SOG · 18:16 on ice · +2
B. Coleman
#20 · L · CGY
1 G · 1 A · 2 SOG · 16:24 on ice · +2
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Sun, Nov 23
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 11, 5:24 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

Calgary and Vancouver are statistically indistinguishable. The model projects a 2.6–2.6 game with the Flames at 50% win probability.

Season 5v5 metrics show why. Calgary leads in expected-goals share at 47.0% to Vancouver's 44.0%, and in Corsi at 49.0% to 46.0%. Both teams are running cold on PDO, though—Calgary at 0.985, Vancouver at 0.974—meaning both should regress toward normal luck. The teams are genuinely matched.

Calgary's only structural advantage is rest: three days to Vancouver's zero. That's real, but not decisive.

The deciding factor is personnel. Blake Coleman is Calgary's engine at 0.89 xG per 60 minutes, with 16 goals and 12 assists on an 11.4% shooting rate and two high-danger goals. Matt Coronato generates shot volume at 0.80 xG/60 but owns just a 6.6% shooting rate despite 10 goals and 16 assists—he's a high-variance contributor trending toward better luck.

Vancouver counters with Filip Chytil, a pure volume play at 1.03 xG/60 who has managed only three goals and zero assists at a 15.0% shooting rate. That gap between shot quality and output suggests bad timing, not bad skill. Drew O'Connor provides the steadier hand: 0.85 xG/60, 13 goals, 11 assists, three high-danger goals, and an 11.8% shooting rate that tracks close to expectation.

Rest favors Calgary. Depth favors Vancouver slightly. When models can't separate teams, execution determines outcomes—and neither projects to execute decisively enough to break the tie.

What the model said beforehand

The model's lean

CGY 50%
50%
CGY
Model favorite
50%
50%
CGY50VAN

CGY by 0 points of win probability — effectively a coin flip. Projected score CGY 2.6–2.6 VAN; 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
CGY← edge
edge →VAN
47.0%44.0%
49.0%46.0%
2.362.22
2.662.81
1.761.60
2.152.56
0.9850.974

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

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

Keys to the game

Regression watch
  • The Canucks' PDO is 0.974 — running cold, due for positive regression.
  • The Flames' PDO is 0.985 — running cold, due for positive regression.
Things to watch
  • The Canucks' PDO is 0.974 — running cold, due for positive regression.
  • The Flames have 3 more days of rest.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
CGY
Expected in goal
D. Cooley
3 days rest.933 last start
Backup Dustin Wolf · -1.8 GSAx this season

No completed game on file for this club yet.

VAN
Expected in goal
—
no game on file

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
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
VAN
Filip Chytil3G 0A
1.03 xG/60 · 1 HD · 15.0% sh
Drew O'Connor13G 11A
0.85 xG/60 · 3 HD · 11.8% sh
Keep going

Where to next