Dangerous off the rush
4 goals on 33 rush shots worth 3.86 xG.

The Flames rolled past the Maple Leafs 5-2 and the underlying numbers backed it up — they controlled 57% of 5v5 expected goals (5.18–3.98).
The numbers behind the result. The Flames held 56% of shot attempts (35–27 on goal). Expected goals finished 5.18–3.98 (57–43% split), and high-danger chances went 6–4.
Variance watch. The Maple Leafs underperformed their xG by 1.98 goals.
Turning point. Martin Pospisil's wrist shot from the wing (P3, 19:21).
Final: TOR 2 – CGY 5
Data: NHL play-by-play and shift charts, Backcheck xG model
Flames pull away from the Maple Leafs
The Flames earned this one.
The board read TOR 2, CGY 5. The chances read TOR 4.0, CGY 5.2.
The Maple Leafs left 2.0 goals on the table against what their chances were worth.
M. Gridin makes it 0–1.
The Maple Leafs went 0 for 4 from the slot.
Flames pull away from the Maple Leafs
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 breakdownWrist shot from 26 feet, a 10% chance (off the rush), past S. Bobrovsky. Win probability moved 15 points.On the ice: K. Bahl, B. Othmann, S. Nemec, A. Klapka, J. Castagna · against O. Ekman-Larsson, T. Blueger, D. Mermis, B. Duhaime, Z. MacEwen
Wrist shot from 26 feet, an 11% chance (off the rush), past S. Bobrovsky. Win probability moved 12 points.On the ice: M. Backlund, J. Farabee, K. Bahl, M. Coronato, S. Nemec · against M. Rielly, J. Roslovic, A. Matthews, T. Stecher, E. Cowan
Wrist shot from 21 feet, a 10% chance (off the rush), past S. Bobrovsky. Win probability moved 8 points.On the ice: R. Strome, K. Bahl, Y. Sharangovich, S. Nemec, M. Gridin · against O. Ekman-Larsson, N. Paul, D. Mermis, W. Nylander, K. Marchenko
Tip-in from 13 feet, a 9% chance, a shot that rarely goes in (off the rush), past D. Cooley. Win probability moved 7 points.On the ice: T. Blueger, J. McCabe, D. Raddysh, B. Duhaime, Z. MacEwen · against K. Bahl, B. Othmann, S. Nemec, A. Klapka, J. Castagna
Snap shot from 12 feet, a 14% chance (off the rush), past D. Cooley. Win probability moved 13 points.On the ice: O. Ekman-Larsson, N. Paul, D. Mermis, E. Cowan, G. McKenna · against R. Strome, J. Middleton, Z. Whitecloud, M. Pospisil, M. Gridin
Wrist shot from 19 feet, an 82% chance, a near-certain one (off the rush). 3s after a CGY block.
Wrist shot from 51 feet, a 47% chance.
score reads TOR–CGY
TOR went 0-for-4 from high danger on 1.54 expected goals — 1.5 left on the table.
TOR finished -2.0 against expected, CGY -0.2.
Wrist shots carried the volume: TOR went 0-for-24, CGY 5-for-29. CGY scored 4 of theirs off the rush.
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 →
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
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
Best skater on the ice by our rating: M. Gridin (CGY), 16:11 of ice, 2-1, 60% of the expected goals while he was out.
| Skater | TOI | G-A | SOG | ixG | xG% | PD/PT | Impact | /60 | Grade |
|---|---|---|---|---|---|---|---|---|---|
| A. MatthewsC | 19:00 | 0-1 | 1 | 1.13 | 90 | 0/2 | 1.59 | 5.02 | A+ |
| E. CowanR | 15:30 | 1-0 | 1 | 0.21 | 78 | 1/2 | 1.37 | 5.32 | A |
| J. RoslovicC | 18:43 | 0-1 | 1 | 0.20 | 81 | 0/0 | 1.41 | 4.50 | A |
| M. RiellyD | 19:27 | 0-1 | 1 | 0.11 | 67 | 1/0 | 1.36 | 4.19 | A |
| T. StecherD | 22:04 | 0-1 | 1 | 0.07 | 63 | 0/0 | 1.27 | 3.46 | B |
| W. NylanderR | 19:14 | 1-0 | 4 | 0.48 | 51 | 0/1 | 1.04 | 3.25 | B |
| Z. MacEwenR | 10:12 | 0-0 | 2 | 0.35 | 64 | 2/1 | 0.60 | 3.54 | B |
| K. MarchenkoR | 7:05 | 0-0 | 1 | 0.14 | 74 | 0/0 | 0.29 | 2.44 | C |
| B. DuhaimeL | 11:11 | 0-0 | 2 | 0.29 | 47 | 0/0 | 0.19 | 1.01 | C |
| D. RaddyshD | 23:49 | 0-0 | 3 | 0.15 | 43 | 0/0 | 0.24 | 0.60 | C |
| G. McKennaL | 14:50 | 0-0 | 1 | 0.14 | 52 | 0/0 | 0.15 | 0.60 | C |
| T. BluegerC | 14:27 | 0-0 | 2 | 0.05 | 42 | 0/0 | 0.13 | 0.54 | D |
| O. Ekman-LarssonD | 19:14 | 0-0 | 3 | 0.10 | 40 | 0/0 | 0.12 | 0.39 | D |
| N. PaulL | 17:35 | 0-0 | 1 | 0.31 | 42 | 0/0 | 0.06 | 0.20 | D |
| J. McCabeD | 18:17 | 0-0 | 0 | 0.00 | 46 | 0/0 | 0.06 | 0.18 | D |
| V. LettieriC | 11:54 | 0-0 | 1 | 0.01 | 36 | 0/0 | -0.05 | -0.25 | D |
| D. MermisD | 13:33 | 0-0 | 1 | 0.14 | 35 | 0/1 | -0.09 | -0.39 | F |
| C. SissonsC | 14:17 | 0-0 | 1 | 0.08 | 9 | 0/0 | -0.36 | -1.52 | F |
| Skater | TOI | G-A | SOG | ixG | xG% | PD/PT | Impact | /60 | Grade |
|---|---|---|---|---|---|---|---|---|---|
| M. GridinR | 16:11 | 2-1 | 5 | 0.33 | 60 | 0/0 | 2.91 | 10.80 | A+ |
| M. PospisilC | 12:20 | 1-1 | 2 | 0.59 | 64 | 1/1 | 1.91 | 9.30 | A+ |
| J. FarabeeL | 24:08 | 1-1 | 2 | 1.33 | 39 | 1/0 | 1.68 | 4.17 | A |
| Z. ParekhD | 20:16 | 0-1 | 3 | 0.27 | 67 | 1/0 | 1.59 | 4.72 | A |
| M. CoronatoR | 18:44 | 0-2 | 2 | 0.44 | 36 | 0/0 | 1.34 | 4.30 | B |
| A. SunievL | 14:25 | 0-0 | 7 | 0.36 | 69 | 1/0 | 1.01 | 4.22 | B |
| Y. KuznetsovD | 13:57 | 0-1 | 0 | 0.00 | 57 | 0/0 | 0.69 | 2.95 | B |
| M. FrostC | 16:11 | 0-0 | 2 | 0.42 | 65 | 1/0 | 0.67 | 2.48 | B |
| S. NemecD | 21:51 | 0-2 | 1 | 0.11 | 30 | 0/0 | 0.68 | 1.86 | C |
| R. StromeC | 13:48 | 0-0 | 5 | 0.40 | 55 | 0/0 | 0.58 | 2.50 | C |
| Z. WhitecloudD | 17:45 | 0-0 | 2 | 0.00 | 49 | 0/0 | 0.19 | 0.65 | C |
| M. BacklundC | 18:32 | 1-0 | 1 | 0.22 | 15 | 0/1 | 0.15 | 0.49 | C |
| B. OthmannL | 9:22 | 0-0 | 1 | 0.20 | 57 | 0/1 | 0.07 | 0.47 | D |
| J. CastagnaC | 10:20 | 0-0 | 1 | 0.10 | 52 | 0/0 | 0.05 | 0.31 | D |
| Y. SharangovichC | 16:47 | 0-0 | 1 | 0.20 | 43 | 0/0 | 0.04 | 0.14 | D |
| A. KlapkaR | 11:48 | 0-0 | 0 | 0.01 | 46 | 0/0 | -0.06 | -0.32 | F |
| J. MiddletonD | 16:14 | 0-0 | 0 | 0.00 | 33 | 2/1 | -0.07 | -0.28 | F |
| K. BahlD | 21:43 | 0-0 | 0 | 0.21 | 30 | 0/0 | -0.49 | -1.35 | F |
xG% = share of expected goals while on the ice · PD/PT = penalties drawn / taken · “in N min” = a per-60 rate far above the raw total. Impact = 0.75 G + 0.7 A1 + 0.55 A2 + 0.075 SOG + 0.05 BLK + 0.15 penalties drawn − 0.15 taken + 0.01 faceoff wins − 0.01 losses + 0.3 individual xG + 0.5 on-ice xG for − 0.5 on-ice xG against. Rating = 65% impact + 35% impact per 60, as a percentile among the skaters in this game.
Scratched, TOR: B. Groulx, C. McWard. Scratched, CGY: J. Hanley, B. Jones, M. Tsyplakov. Referees Frederick L'Ecuyer and Stephen Hiff; linesmen CJ Murray and Trent Knorr.
TOR Created 3.98 xG against a ~2.70 league-average game; 4 high-danger shots (1.54 xG) and 26 rush shots (2.38 xG).
CGY Created 5.18 xG against a ~2.70 league-average game; 6 high-danger shots (2.32 xG) and 33 rush shots (3.86 xG).
TOR Allowed 5.18 xG against a ~2.70 league-average game; conceded 6 high-danger shots (2.32 xG) and 33 rush shots (3.86 xG).
CGY Allowed 3.98 xG against a ~2.70 league-average game; conceded 4 high-danger shots (1.54 xG) and 26 rush shots (2.38 xG).
TOR Rush shots 26–33, rush xG 2.38–3.86 (rush-based; public data has no zone entries).
CGY Rush shots 33–26, rush xG 3.86–2.38 (rush-based; public data has no zone entries).
TOR 0-for-2 on the power play (0%; league ≈21%) with 0.54 PP xG.
CGY 1-for-5 on the power play (20%; league ≈21%) with 0.92 PP xG.
TOR +2.18 goals saved above expected on 33 shots against.
CGY +1.98 goals saved above expected on 27 shots against.
TOR Took 8 penalties for 19 PIM vs 5 for 13 on the other side.
CGY Took 5 penalties for 13 PIM vs 8 for 19 on the other side.
Grades bounces, not skill — C is neutral
TOR Finishing -1.98 goals vs xG plus +2.18 GSAx of save luck = +0.20 total. This grades luck, not skill — C is neutral, A is very lucky.
CGY Finishing -0.18 goals vs xG plus +1.98 GSAx of save luck = +1.80 total. This grades luck, not skill — C is neutral, A is very lucky.
4 goals on 33 rush shots worth 3.86 xG.
Gave up 33 rush shots worth 3.86 xG (4 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.
S. Bobrovsky stopped 30 of 33 (0.909) — +2.18 goals saved above expected in a 3-goal game.
Gave up 26 rush shots worth 2.38 xG (2 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.
2 goals on 26 rush shots worth 2.38 xG.
Scored 2 on 3.98 xG — -1.98 vs expected. The looks were there; the finish will come back.
Each club shoots toward its own end — TOR 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.
Nothing in the numbers separates these clubs. The model calls it about as close to a pick'em as the schedule produces, and the Flames get the narrowest of edges.
The model projects a TOR 3.2 - 3.3 CGY game. Calgary's win probability sits at 51%, a lean rather than a verdict.
Toronto has the better process at even strength. Its share of expected goals is 48.4%, which means it has been creating the better scoring chances. Calgary's share is 44.3%.
Calgary counters with volume. The Flames hold 51.0% of shot attempts, a territorial edge that suggests they will spend more time with the puck in the other side's end.
Toronto also arrives in form, at 6-2-2 over its last 10 games. Calgary has been on the wrong side of results, with a goal differential of -16 over the same stretch.
The Flames' luck looks poor. Their PDO, a combined shooting and save-percentage figure, is 0.935. That means they are running cold and are due for positive regression.
In goal, A. Stolarz has been slightly ahead of expectation, with +0.6 goals saved beyond what an average goalie would have stopped on the shots he faced over 5 games. His save percentage is 90.7%.
D. Cooley has the stronger case, at +2.8 goals saved beyond the average over 5 games. His save percentage is 91.2%.
Data: NHL API, Backcheck xG model
CGY by 2 points of win probability — effectively a coin flip. Projected score TOR 3.2–3.3 CGY; 16% chance it's tied after 60.
TOR holds 5 of 6 process categories — and the luck row (1.002 vs 0.935) says TOR has been getting the bounces, which tends not to last.
The Maple Leafs own the underlying play — 48.4% 5v5 xG vs 44.3%.
The Flames drive Corsi at 51.0% — expect territorial tilt.
The Flames' PDO is 0.935 — running cold, due for positive regression.
Weight the underlying numbers over the recent results.
Win probability splits 51%–49% — margins decide this one.
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.