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

Flames hold off the Oilers

The verdict · stolen

The Flames stole one. They lost the expected-goals battle 4.08–3.53 and won anyway.

EDM 2 · CGY 3
◆ By the ModelJul 11, 10:05 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 Oilers played better and lost. Edmonton generated 4.08 expected goals to Calgary's 3.53—the Oilers created the better chances—yet finished down 3-2. The gap wasn't theoretical: the Oilers left 2.08 goals on the table, squandering a scoring advantage that should have delivered a win.

D. Wolf (CGY) did the squandering for them. The goaltender stopped 29 of 31 shots (0.935 SV%) and saved 2.08 goals above expected, the difference between a lost game and a plausible one. C. Ingram (EDM) held 29/32 (0.906 SV%) and was +0.53, solid but outmatched by Wolf's work.

Calgary had 32 shot attempts to Edmonton's 31—roughly even at five-on-five. High-danger chances showed the Oilers' true edge: 6 to 4, clean evidence they were hunting better areas. Off the rush, the Flames were lethal: 3 goals on 28 attempts, a rate that won't sustain.

E. Bouchard (EDM) led the scoresheet with 1 goal and 1 assist in 29:04. C. McDavid (EDM) added 1 goal in 26:39, while L. Draisaitl (EDM) chipped in 1 assist in 24:23.

This was an xG mismatch dressed as a close game. The Oilers created the chances, the Flames finished theirs, and Wolf made them pay for it. Edmonton will replay this one—not because it was tight, but because they had no business losing.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Dec 27
EDM
2
CGY
3

Flames hold off the Oilers

Chances 4.1 – 3.5Did they deserve it? →
Did they deserve it?

The Oilers deserved better.

Expected goals · chance value
EDM
4.08
CGY
3.53
54% of the chances46%

The board read EDM 2, CGY 3. The chances read EDM 4.1, CGY 3.5.

Our xG model · NHL play-by-play · all situations
Luck check
CGY
−0.5
goals above expected
CGY3.53 expected · 3 scored
Expected
Scored
EDM4.08 expected · 2 scored
Expected
Scored

The Oilers left 2.1 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 07:00CGYY. Sharangovich0–1
  2. P1 08:36EDME. BouchardPP1–1
  3. P2 03:28CGYR. Lomberg1–2
  4. P3 12:31CGYB. Coleman1–3
  5. P3 15:23EDMC. McDavid2–3
NHL play-by-play · chance value from our xG model
Where the shots came from
EDM
43 shots
2
Final
85 shots
CGY
42 shots
3
EDM attackCGY attack
EDM CGY Goal
43
shots · 2 in
42
shots · 3 in
Every unblocked shot · press play to replay it
Chances by danger
EDMCGY
1 / 6
1.45 xG
High danger
0 / 4
0.89 xG
0 / 18
2.00 xG
Medium
2 / 19
2.11 xG
1 / 45
0.63 xG
Low
1 / 40
0.52 xG

High-danger looks: EDM 1 of 6, CGY 0 of 4.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
D. Wolf
+2.1
CGY · 29/31
B
C. Ingram
+0.5
EDM · 29/32
The numbers, checked
BACKCHECK

Flames hold off the Oilers

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–14
  1. 07:00CGYY. Sharangovich(A. Klapka)0–1
  2. 08:36EDME. Bouchardpower play(L. Draisaitl, R. Nugent-Hopkins)1–1
2ndshots 10–10
  1. 03:28CGYR. Lomberg1–2
3rdshots 12–8
  1. 12:31CGYB. Coleman(M. Backlund, K. Bahl)1–3
  2. 15:23EDMC. McDavid(Z. Hyman, E. Bouchard)2–3

score reads EDM–CGY

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

The numbers

XGBoost xG · NHL play-by-play
3.53
CGY chances
Goals their shots were worth
−0.5
Finishing
Goals below what those chances were worth
1.019
CGY puck luck
About 1.000 — a normal night for bounces
47.7%
Shot attempts
Under half — they were outshot
Split by club

Who controlled the game

4.08Expected goals3.53
EDM 54% of the chance quality
31Shots on goal32
6High-danger chances4
69All attempts (Corsi)63
Adjusted for score: EDM 55% · CGY 45%
Faceoffs · CGY won35%off53%neu18%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
EDM1 / 6 · 1.45 xG
CGY0 / 4 · 0.89 xG
Medium dangermid-range
EDM0 / 18 · 2.00 xG
CGY2 / 19 · 2.11 xG
Low dangerperimeter & point
EDM1 / 45 · 0.63 xG
CGY1 / 40 · 0.52 xG

EDM went 0-for-18 from medium danger on 2.00 expected goals — 2.0 left on the table.

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

Finishing vs expected

expectedactual
EDM
2 G · 4.08 xG · -2.1
CGY
3 G · 3.53 xG · -0.5
012345

EDM finished -2.1 against expected, CGY -0.5.

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

Shot diet

goalsshots
EDM
WRIST0/21
BACKHAND0/8
SLAP1/7
TIP IN0/4
SNAP0/1
DEFLECTED0/1
BAT0/0
POKE1/1
OTHER0/26
CGY
WRIST2/21
BACKHAND0/4
SLAP0/3
TIP IN0/5
SNAP1/5
DEFLECTED0/2
BAT0/2
POKE0/0
OTHER0/21
EDM
CGY
Off the rush
1 G on 31
2.66 xG
3 G on 28
2.53 xG
Off rebounds
1 G on 5
1.11 xG
0 G on 4
0.68 xG

Wrist shots carried the volume: EDM went 0-for-21, CGY 2-for-21. 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
C. Ingram
EDM · 29/32 · .906
+0.5
saved above expected
B
the night
By dangerG/attxGsaved
High danger0/40.9+0.9
Medium2/192.1+0.1
Low1/400.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

D. Wolf
CGY · 29/31 · .935
+2.1
saved above expected
A
the night
By dangerG/attxGsaved
High danger1/61.4+0.5
Medium0/182.0+2.0
Low1/450.6-0.4

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
EDM
43 shots
2
Final
85 shots
CGY
42 shots
3
EDM attackCGY attack
EDM CGY Goal

Each club shoots toward its own end — EDM 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
E. Bouchard
#2 · D · EDM
1 G · 1 A · 4 SOG · 29:04 on ice
C. McDavid
#97 · C · EDM
1 G · 0 A · 7 SOG · 26:39 on ice
L. Draisaitl
#29 · C · EDM
0 G · 1 A · 2 SOG · 24:23 on ice · -1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Sat, Dec 27
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 11, 9:58 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.6–2.5 Oilers win, and at 52% Edmonton win probability, this is functionally a pick'em.

Edmonton owns the underlying play. The Oilers' 52.0% 5v5 xG% is nearly five points clear of Calgary's 47.0%, and that gap is meaningful — it separates competent from opportunistic. The Corsi% tells a quieter story (50.0% vs. 49.0%), a marginal split, but expected goals don't lie. Edmonton generates more danger per minute.

Both teams are due. Edmonton sits at 0.982 PDO, Calgary at 0.985 — both running cold, both due for positive regression. Variance cuts both ways, which is partly why the line compresses to a coin flip.

The Oilers' advantage lives in shot quality. Zach Hyman carries 1.23 xG/60 and has posted 14G on 13A with a 13.0% shooting rate — he's converting at better than his fair share. Connor McDavid's 0.92 xG/60 is modest for him, but his 25G 33A with 5 HD goals and 13.7% shooting marks him as the game's most dangerous driver: he makes difficult chances look routine.

Blake Coleman is Calgary's countermeasure. At 0.89 xG/60 with 16G 12A and a 11.4% shooting rate, Coleman compounds his volume with efficiency. Matt Coronato (0.80 xG/60, 10G 16A, 6.6% shooting) is the secondary threat, lower-leverage but functional.

Edmonton's defensive weak link is Jake Walman — an exploitable point on forecheck cycles. Calgary's is Matt Coronato.

One curiosity: both teams sit at 0% HD goal rate and 0% rebound goal rate. That's an artifact of sample size or deployment — neither team is hiding obvious pucks-in-front vulnerability, but small-sample PDO volatility can paper over that real quick.

The Oilers have the edge in shot quality, but Calgary's PDO is higher, suggesting either meaner secondary scoring or luckier bounces on their way forward. The gap is small enough that PDO reversion alone could flip this game. Edmonton's margin in xG% (52.0% vs. 47.0%) isn't huge; it's the kind of gap that holds up over sixty games but evaporates in one.

Call it what it is: a coin flip with a slight Edmonton tilt.

What the model said beforehand

The model's lean

EDM 52%
52%
EDM
Model favorite
52%
48%
EDM50CGY

EDM by 4 points of win probability — effectively a coin flip. Projected score EDM 2.6–2.5 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
EDM← edge
edge →CGY
52.0%47.0%
50.0%49.0%
2.642.36
2.472.66
2.131.76
2.292.15
0.9820.985

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

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

Keys to the game

Where the edges live
  • The Oilers own the underlying play — 52.0% 5v5 xG vs 47.0%.
Regression watch
  • The Flames' PDO is 0.985 — running cold, due for positive regression.
  • The Oilers' PDO is 0.982 — running cold, due for positive regression.
Things to watch
  • The Oilers own the underlying play — 52.0% 5v5 xG vs 47.0%.
  • The Flames' PDO is 0.985 — running cold, due for positive regression.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
EDM
Expected in goal
C. Ingram
3 days rest.947 last start
Backup Connor Ingram · +1.7 GSAx this season

No completed game on file for this club yet.

CGY
Expected in goal
D. Wolf
3 days rest.872 last start
Backup Dustin Wolf · -1.8 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
EDM
Zach Hyman14G 13A
1.23 xG/60 · 1 HD · 13.0% sh
Connor McDavid25G 33A
0.92 xG/60 · 5 HD · 13.7% 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