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

Flames edge the Lightning in overtime

The verdict · stolen

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

TBL 3 · CGY 4
◆ By the ModelJul 12, 8:29 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

Calgary's 4-3 overtime victory over Tampa Bay was a heist: the Lightning dominated expected goals 3.82–3.00 and controlled 56% at 5v5, yet left empty-handed. The Flames won by finishing, not by outplaying.

The differential was stark. Calgary held just 45% of shot attempts (29–35) and trailed in high-danger chances 3–6. On volume, Tampa Bay was the better team. But expected goals measure opportunity, not execution—and execution is what won the game.

Goaltending tilted the balance. D. Cooley (Calgary) saved 32 of 35 shots at 0.914 SV%, outperforming his expected save percentage by 0.82 goals. J. Johansson (Tampa Bay) made 25 saves on 29 shots at 0.862 SV%, underperforming by 1.00 goal—a two-goal swing entirely on goalie performance. That gap determined the outcome.

Calgary's scoring came at high leverage. The Flames converted at elite efficiency on the rush: 3 goals from 26 chances. Tampa Bay generated 6 rebound opportunities and converted none, a sign they crashed effectively but the bounces didn't cooperate.

The game turned at 00:26 of overtime, when Ryan Strome's snap shot from the slot ended it. One shot. One outcome. One result that defied the underlying numbers.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · OT · Mar 22
TBL
3
CGY
4

Flames edge the Lightning in overtime

Chances 3.8 – 3.0Did they deserve it? →
Did they deserve it?

The Lightning deserved better.

Expected goals · chance value
TBL
3.82
CGY
3.00
56% of the chances44%

The board read TBL 3, CGY 4. The chances read TBL 3.8, CGY 3.0.

Our xG model · NHL play-by-play · all situations
Luck check
CGY
+1.0
goals above expected
CGY3.00 expected · 4 scored
Expected
Scored
TBL3.82 expected · 3 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 07:25TBLR. McDonagh1–0
  2. P1 16:25CGYV. Olofsson1–1
  3. P1 16:52CGYM. Frost1–2
  4. P2 08:28CGYM. Backlund1–3
  5. P2 11:47TBLD. Raddysh2–3
  6. P3 15:40TBLP. Holmberg3–3
  7. OT 00:26CGYR. Strome3–4
NHL play-by-play · chance value from our xG model
Where the shots came from
TBL
48 shots
3
Final
94 shots
CGY
46 shots
4
TBL attackCGY attack
TBL CGY Goal
48
shots · 3 in
46
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
TBLCGY
1 / 6
1.64 xG
High danger
2 / 3
0.77 xG
1 / 13
1.50 xG
Medium
2 / 13
1.42 xG
1 / 45
0.68 xG
Low
0 / 34
0.81 xG

The Flames buried 2 of 3 high-danger looks.

Danger tiers by our xG model · high ≥ 20% chance
In the net
B+
D. Cooley
+0.8
CGY · 32/35
D-
J. Johansson
−1.0
TBL · 25/29
The numbers, checked
BACKCHECK

Flames edge the Lightning in overtime

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 10–11
  1. 07:25TBLR. McDonagh(G. Goncalves)1–0
  2. 16:25CGYV. Olofsson(Y. Sharangovich, Z. Whitecloud)1–1
  3. 16:52CGYM. Frost(M. Coronato)1–2
2ndshots 15–11
  1. 08:28CGYM. Backlund(B. Coleman, H. Brzustewicz)1–3
  2. 11:47TBLD. Raddysh(N. Kucherov, J. Moser)2–3
3rdshots 10–6
  1. 15:40TBLP. Holmberg(Y. Gourde)3–3
OTshots 0–1
  1. 00:26CGYR. Strome(M. Gridin, K. Bahl)3–4

score reads TBL–CGY

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

The numbers

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

Who controlled the game

3.82Expected goals3.00
TBL 56% of the chance quality
35Shots on goal29
6High-danger chances3
64All attempts (Corsi)50
Adjusted for score: TBL 59% · CGY 41%
Faceoffs · CGY won50%off54%neu56%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
TBL1 / 6 · 1.64 xG
CGY2 / 3 · 0.77 xG
Medium dangermid-range
TBL1 / 13 · 1.50 xG
CGY2 / 13 · 1.42 xG
Low dangerperimeter & point
TBL1 / 45 · 0.68 xG
CGY0 / 34 · 0.81 xG

CGY went 2-for-3 from high danger on 0.77 expected goals — 1.2 above expected.

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

Finishing vs expected

expectedactual
TBL
3 G · 3.82 xG · -0.8
CGY
4 G · 3.00 xG · +1.0
012345

TBL finished -0.8 against expected, CGY +1.0.

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

Shot diet

goalsshots
TBL
WRIST1/21
SNAP1/8
SLAP1/7
TIP IN0/5
BACKHAND0/3
WRAP AROUND0/2
POKE0/1
DEFLECTED0/1
BAT0/0
OTHER0/16
CGY
WRIST1/25
SNAP2/6
SLAP1/6
TIP IN0/4
BACKHAND0/4
WRAP AROUND0/0
POKE0/0
DEFLECTED0/0
BAT0/1
OTHER0/4
TBL
CGY
Off the rush
1 G on 23
1.71 xG
3 G on 26
2.16 xG
Off rebounds
0 G on 6
1.42 xG
0 G on 2
0.19 xG

Wrist shots carried the volume: TBL went 1-for-21, CGY 1-for-25. 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
J. Johansson
TBL · 25/29 · .862
-1.0
saved above expected
D-
the night
By dangerG/attxGsaved
High danger2/30.8-1.2
Medium2/131.4-0.6
Low0/340.8+0.8

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. Cooley
CGY · 32/35 · .914
+0.8
saved above expected
B+
the night
By dangerG/attxGsaved
High danger1/61.6+0.6
Medium1/131.5+0.5
Low1/450.7-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

94 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
TBL
48 shots
3
Final
94 shots
CGY
46 shots
4
TBL attackCGY attack
TBL CGY Goal

Each club shoots toward its own end — TBL 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
D. Raddysh
#43 · D · TBL
1 G · 0 A · 5 SOG · 24:39 on ice · -1
J. Moser
#90 · D · TBL
0 G · 1 A · 1 SOG · 23:08 on ice · -2
Z. Whitecloud
#28 · D · CGY
0 G · 1 A · 4 SOG · 23:03 on ice · +1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Sun, Mar 22
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 12, 8:27 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 2.7-2.4 Lightning edge with Tampa at 54% win probability. This is a pick'em.

Tampa's 54.0% expected goals share and 53.0% Corsi mark genuine territorial dominance: they're in Calgary's end more, taking better shots, and creating higher-quality chances from there. The Flames' -14 goal differential over their last 10 tells a different story—their offence has stalled. A 0.985 PDO confirms the diagnosis: they're shooting below expectation and getting outshot in the goal column. Calgary is running cold by process, not just fate.

The Lightning's 1.019 PDO is the counterpoint. Sustained excellence at even-strength doesn't produce luck this extreme; regression toward the mean is inevitable. Tampa dominates play, yet they shouldn't project as a heavier favourite because both teams are due to revert. The Flames' offence will warm. The Lightning's luck will cool. That dual regression path explains why the model stops at a coin flip despite one team's clear control of underlying play.

Goaltending is where the outcome actually decides itself. D. Wolf on a back-to-back means either a tired starter or a backup receiving the call. A fresh Calgary goaltender shifts the dynamic entirely—he'd be facing an offence generating volume, but at least without fatigue compounding the problem. That ambiguity alone prevents this from being a Lightning lean despite the underlying advantage.

Players to Watch

Lightning: Brandon Hagel (1.10 expected goals per 60, 23 goals, 26 assists, 15.8% shooting) is the engine—still operating below what those underlying metrics suggest. Anthony Cirelli (0.95 xG/60, 15 goals, 18 assists, 5 high-danger goals, 17.0% shooting) operates at exceptional efficiency.

Flames: Blake Coleman (0.89 xG/60, 16 goals, 12 assists, 2 high-danger goals, 11.4% shooting) carries the load. Matt Coronato (0.80 xG/60, 10 goals, 16 assists, 6.6% shooting) is severely underwater on shooting percentage and primed for positive variance.

The underlying advantage belongs to Tampa Bay. But Calgary's upside, goaltending ambiguity, and the forces pulling both teams toward sustainability make this genuinely even.

What the model said beforehand

The model's lean

TBL 54%
54%
TBL
Model favorite
54%
46%
TBL50CGY

TBL by 8 points of win probability — a modest lean. Projected score TBL 2.7–2.4 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
TBL← edge
edge →CGY
54.0%47.0%
53.0%49.0%
2.672.36
2.282.66
2.381.76
1.852.15
1.0190.985

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

Source · NHL stats API + our xG · 5v5
Form · Last 10
TBL
4-6-0
-3 GD · 2d rest
CGY
4-6-0
-14 GD · 1d rest
1.019
TBL 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 Lightning own the underlying play — 54.0% 5v5 xG vs 47.0%.
  • The Lightning drive Corsi at 53.0% — expect territorial tilt.
Regression watch
  • The Flames' PDO is 0.985 — running cold, due for positive regression.
  • The Lightning's PDO is 1.019 — running hot, expect some regression.
Things to watch
  • The Lightning own the underlying play — 54.0% 5v5 xG vs 47.0%.
  • The Lightning drive Corsi at 53.0% — expect territorial tilt.
  • D. Wolf is on a back-to-back — watch for a backup start or a tired starter.
  • The Flames are underwater at -14 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
TBL
Expected in goal
A. Vasilevskiy
2 days rest.905 last start
Backup Andrei Vasilevskiy · +24.7 GSAx this season

No completed game on file for this club yet.

CGY
Expected in goal
D. Wolf
back-to-back.960 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
TBL
Brandon Hagel23G 26A
1.10 xG/60 · 2 HD · 15.8% sh
Anthony Cirelli15G 18A
0.95 xG/60 · 5 HD · 17.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