Motion-blurred skater in a Colorado Avalanche sweater
Breakdown · CGY at COL

Avalanche run the Flames off the ice on the underlying numbers

The verdict · earned

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

CGY 2 · COL 9
◆ By the ModelJul 12, 9:42 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 9-2 scoreline suggested a blowout; the underlying metrics suggested otherwise. Colorado's expected goals (5.96) and Calgary's (3.31) pointed to a far tighter game—but two goaltending performances diverged sharply.

S. Wedgewood (COL) stopped 27 of 29 shots with a 0.931 save percentage, outperforming his expected result by 1.31 goals. D. Wolf (CGY) faced only 16 shots yet allowed 4 he should have stopped, finishing at 0.750 with a -2.05 expected-goal deficit. Even D. Cooley's 28 saves couldn't compensate—his 0.848 save percentage left Calgary nearly a goal short of expectation.

Colorado's dominance underneath was genuine. They controlled 63% of shot attempts (49–29) and 64% of expected goals while winning high-danger chances 8–6. They overperformed their xG by 3.04 goals, converting 4 of 8 high-danger chances, scoring 4 goals on 38 rush attempts, and scoring 3 power-play goals. Calgary created 3 rebound opportunities (0 converted); Colorado crashed for 12 and buried 4.

Artturi Lehkonen's snap shot from the doorstep (16:48, third period) crystallized what separated the teams: Colorado's clinical finishing in tight spaces. The Flames competed on underlying metrics. The Avalanche executed when it mattered.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Mar 30
CGY
2
COL
9

Avalanche run the Flames off the ice on the underlying numbers

Chances 3.3 – 6.0Did they deserve it? →
Did they deserve it?

The Avalanche earned this one.

Expected goals · chance value
CGY
3.31
COL
5.96
36% of the chances64%

The board read CGY 2, COL 9. The chances read CGY 3.3, COL 6.0.

Our xG model · NHL play-by-play · all situations
Luck check
COL
+3.0
goals above expected
COL5.96 expected · 9 scored
Expected
Scored
CGY3.31 expected · 2 scored
Expected
Scored

The Avalanche scored 3.0 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 02:31COLJ. Drury0–1
  2. P1 06:31COLN. KadriPP0–2
  3. P1 07:37COLN. KadriPP0–3
  4. P1 09:19COLG. Landeskog0–4
  5. P1 15:50COLP. Kelly0–5
  6. P2 03:37CGYB. Othmann1–5
  7. P2 19:25COLN. MacKinnonPP1–6
+4 more on the full breakdown
NHL play-by-play · chance value from our xG model
Where the shots came from
CGY
45 shots
2
Final
118 shots
COL
73 shots
9
CGY attackCOL attack
CGY COL Goal
45
shots · 2 in
73
shots · 9 in
Every unblocked shot · press play to replay it
Chances by danger
CGYCOL
2 / 6
1.38 xG
High danger
4 / 8
1.81 xG
0 / 11
1.30 xG
Medium
4 / 27
3.17 xG
0 / 41
0.63 xG
Low
1 / 54
0.98 xG

The Avalanche buried 4 of 8 high-danger looks.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
D. Wolf
+2.0
CGY · 12/16
B+
S. Wedgewood
+1.3
COL · 27/29
+1 more on the full breakdown
The numbers, checked
BACKCHECK

Avalanche run the Flames 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 9–26
  1. 02:31COLJ. Drury(P. Kelly, S. Malinski)0–1
  2. 06:31COLN. Kadripower play(M. Necas, C. Makar)0–2
  3. 07:37COLN. Kadripower play0–3
  4. 09:19COLG. Landeskog(B. Nelson, V. Nichushkin)0–4
  5. 15:50COLP. Kelly(C. Makar, J. Drury)0–5
2ndshots 8–7
  1. 03:37CGYB. Othmann(J. Beecher)1–5
  2. 19:25COLN. MacKinnonpower play(C. Makar, B. Nelson)1–6
3rdshots 12–16
  1. 06:24COLM. Necas(N. MacKinnon, A. Lehkonen)1–7
  2. 08:10COLS. Malinski(P. Kelly, J. Drury)1–8
  3. 12:53CGYR. Strome(Y. Sharangovich, V. Olofsson)2–8
  4. 16:48COLA. Lehkonen(N. MacKinnon, M. Necas)2–9

score reads CGY–COL

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

The numbers

XGBoost xG · NHL play-by-play
5.96
COL chances
Goals their shots were worth
+3.0
Finishing
Goals above what those chances were worth
1.067
COL puck luck
Above 1.000 — the bounces went their way
60.5%
Shot attempts
Over half — they had the puck more
Split by club

Who controlled the game

3.31Expected goals5.96
COL 64% of the chance quality
29Shots on goal49
6High-danger chances8
58All attempts (Corsi)89
Adjusted for score: CGY 47% · COL 53%
Faceoffs · COL won56%off22%neu40%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
CGY2 / 6 · 1.38 xG
COL4 / 8 · 1.81 xG
Medium dangermid-range
CGY0 / 11 · 1.30 xG
COL4 / 27 · 3.17 xG
Low dangerperimeter & point
CGY0 / 41 · 0.63 xG
COL1 / 54 · 0.98 xG

COL went 4-for-8 from high danger on 1.81 expected goals — 2.2 above expected.

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

Finishing vs expected

expectedactual
CGY
2 G · 3.31 xG · -1.3
COL
9 G · 5.96 xG · +3.0
012345678910

CGY finished -1.3 against expected, COL +3.0.

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

Shot diet

goalsshots
CGY
WRIST1/25
SNAP0/12
SLAP1/2
TIP IN0/3
BACKHAND0/1
DEFLECTED0/2
BETWEEN LEGS0/0
OTHER0/13
COL
WRIST1/30
SNAP5/12
SLAP1/16
TIP IN1/6
BACKHAND1/7
DEFLECTED0/1
BETWEEN LEGS0/1
OTHER0/16
CGY
COL
Off the rush
1 G on 27
2.35 xG
4 G on 38
3.31 xG
Off rebounds
0 G on 3
0.45 xG
4 G on 12
1.76 xG

Wrist shots carried the volume: CGY went 1-for-25, COL 1-for-30. COL scored 4 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. Cooley
CGY · 28/33 · .848
+1.0
saved above expected
B+
the night
By dangerG/attxGsaved
High danger4/81.8-2.2
Medium4/273.2-0.8
Low1/541.0-0.0

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 · 12/16 · .750
+2.0
saved above expected
A
the night
By dangerG/attxGsaved
High danger4/81.8-2.2
Medium4/273.2-0.8
Low1/541.0-0.0

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

S. Wedgewood
COL · 27/29 · .931
+1.3
saved above expected
B+
the night
By dangerG/attxGsaved
High danger2/61.4-0.6
Medium0/111.3+1.3
Low0/410.6+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

118 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
CGY
45 shots
2
Final
118 shots
COL
73 shots
9
CGY attackCOL attack
CGY COL Goal

Each club shoots toward its own end — CGY left, COL 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
N. MacKinnon
#29 · C · COL
1 G · 2 A · 5 SOG · 19:20 on ice · +1
M. Necas
#88 · C · COL
1 G · 2 A · 3 SOG · 17:57 on ice · +1
C. Makar
#8 · D · COL
0 G · 3 A · 2 SOG · 17:15 on ice · +1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Mon, Mar 30
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 12, 9:59 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

Colorado is the model's pick: 61% win probability, with a projected score of CGY 2.3 - 3.0 COL. The underlying numbers align.

Where the Edge Lives

The Avalanche generate better scoring chances. Their 57.0% xG to Calgary's 47.0% means Colorado creates high-quality opportunities at a significantly higher rate. That advantage extends to possession: the Avalanche control 57.0% Corsi against Calgary's 49.0%, so expect territorial dominance.

The Regression Trap

Here's where it gets complicated. Colorado's PDO is 1.021 — the team is overperforming, luck running hot. Calgary sits at 0.985 PDO, meaning the Flames are underperforming and due for positive regression. If variance shifts in Calgary's direction, the model's edge compresses quickly.

Goaltending Uncertainty

D. Wolf is on a back-to-back and could see a backup start or take the net fatigued. Either way, it's a point of leverage for Colorado.

The Forwards

Blake Coleman is Calgary's engine at 0.89 xG/60, backed by 16 goals and 12 assists. His 11.4% shooting rate is elevated — he has 2 high-danger goals, meaning his current production depends on sustained luck. Matt Coronato (0.80 xG/60, 10 goals, 16 assists) offers regression upside; his 6.6% shooting percentage is below expected and he's due to regain form if generating chances.

Artturi Lehkonen drives Colorado's attack at 1.11 xG/60 with 18 goals and 22 assists. His 6 high-danger goals indicate sustainable scoring from prime areas. Ross Colton matches Lehkonen's underlying rate (1.10 xG/60) but has converted less (7 goals, 15 assists, 4.9% shooting), another regression candidate if he regains touch.

Defensive Vulnerabilities

Nazem Kadri is Colorado's weak link. For Calgary, it's Matt Coronato — counterintuitive given his offensive output, but it signals where Colorado applies pressure.

The Verdict

Take the Avalanche at 61%. Their xG advantage and possession edge are legitimate. But understand the variance: Colorado's PDO regression risk is real, and Calgary's upside depends on positive variance converging with play. The model's edge is sound, but not as comfortable as the headline suggests.

What the model said beforehand

The model's lean

COL 61%
61%
COL
Model favorite
39%
61%
CGY50COL

COL by 22 points of win probability — a clear lean. Projected score CGY 2.3–3.0 COL; 17% 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 →COL
47.0%57.0%
49.0%57.0%
2.363.03
2.662.30
1.762.63
2.151.56
0.9851.021

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

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

Keys to the game

Where the edges live
  • The Avalanche own the underlying play — 57.0% 5v5 xG vs 47.0%.
  • The Avalanche drive Corsi at 57.0% — expect territorial tilt.
Regression watch
  • The Avalanche's PDO is 1.021 — running hot, expect some regression.
  • The Flames' PDO is 0.985 — running cold, due for positive regression.
Things to watch
  • The Avalanche own the underlying play — 57.0% 5v5 xG vs 47.0%.
  • The Avalanche drive Corsi at 57.0% — expect territorial tilt.
  • D. Wolf is on a back-to-back — watch for a backup start or a tired starter.
  • The Avalanche's PDO is 1.021 — running hot, expect some regression.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
CGY
Expected in goal
D. Wolf
back-to-back.912 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.

COL
Expected in goal
M. Blackwood
2 days rest.850 last start
Backup Scott Wedgewood · +23.1 GSAx this season

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
COL
Artturi Lehkonen18G 22A
1.11 xG/60 · 6 HD · 14.9% sh
Ross Colton7G 15A
1.10 xG/60 · 1 HD · 4.9% sh
Keep going

Where to next