Motion-blurred skater in a Montreal Canadiens sweater
Breakdown · CGY at MTL

Canadiens run the Flames off the ice on the underlying numbers

The verdict · earned

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

CGY 1 · MTL 4
◆ By the ModelJul 11, 11:43 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

Montreal demolished Calgary 4-1, but the scoreline understates Montreal's control. Calgary's underlying metrics tell a more painful story: they underperformed their expected goals by 1.50—a gap that swallowed their scoring deficit.

The Canadiens earned dominance with legitimate firepower. They generated 4.46 expected goals to Calgary's 2.50, a 64-36 split confirming Montreal's 36-29 shot-attempt advantage translates to play-driving superiority. High-danger chances went 8-3—Montreal created twice as many opportunities from prime real estate.

But Calgary's collapse wasn't just volume. The Flames generated fewer shots (29 vs. 36) yet maintained sharper efficiency: 0.042 xG per shot against Montreal's 0.070. That 1.50-goal underperformance suggests poor finishing—a team that squandered higher-quality looks through execution failure.

Montreal's other advantage was J. Fowler in net. The goaltender saved 1.50 goals above expected through consistent positioning. Against a team that generated 2.50 xG but scored once, Fowler's outperformance meant the difference between close and rout.

The Canadiens' efficiency mattered too. They converted their dominant play into 4 goals on 4.46 xG, indicating quality generation and clean finishing. A. Texier (1G, 2A in 13:57) and C. Caufield (1G, 1A in 14:43) drove Montreal's offense, while L. Hutson (1G in 23:29) contributed from the backend.

Calgary's underlying play—higher shot quality, competitive xG-per-attempt—offers small consolation. They came to play but couldn't land punches. Montreal's depth of advantage made the scoreboard align with reality.

  • #85 A. Texier (MTL) — 1G, 2A in 13:57
  • #13 C. Caufield (MTL) — 1G, 1A in 14:43
  • #48 L. Hutson (MTL) — 1G in 23:29
The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Jan 7
CGY
1
MTL
4

Canadiens run the Flames off the ice on the underlying numbers

Chances 2.5 – 4.5Did they deserve it? →
Did they deserve it?

The Canadiens earned this one.

Expected goals · chance value
CGY
2.50
MTL
4.46
36% of the chances64%

The board read CGY 1, MTL 4. The chances read CGY 2.5, MTL 4.5.

Our xG model · NHL play-by-play · all situations
Luck check
MTL
−0.5
goals above expected
MTL4.46 expected · 4 scored
Expected
Scored
CGY2.50 expected · 1 scored
Expected
Scored

The Flames left 1.5 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. P2 03:10MTLA. Texier0–1
  2. P2 07:05MTLL. Hutson0–2
  3. P2 08:12MTLO. Kapanen0–3
  4. P2 17:39CGYJ. Farabee1–3
  5. P3 03:56MTLC. Caufield1–4
NHL play-by-play · chance value from our xG model
Where the shots came from
CGY
41 shots
1
Final
91 shots
MTL
50 shots
4
CGY attackMTL attack
CGY MTL Goal
41
shots · 1 in
50
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
CGYMTL
0 / 3
0.81 xG
High danger
2 / 8
1.99 xG
0 / 11
1.04 xG
Medium
1 / 14
1.63 xG
1 / 46
0.65 xG
Low
1 / 42
0.84 xG

The Flames went 0 for 3 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
J. Fowler
+1.5
MTL · 28/29
B
D. Wolf
+0.5
CGY · 32/36
The numbers, checked
BACKCHECK

Canadiens 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 7–14no goals
    2ndshots 14–10
    1. 03:10MTLA. Texier(A. Carrier, C. Caufield)0–1
    2. 07:05MTLL. Hutson(P. Danault, A. Texier)0–2
    3. 08:12MTLO. Kapanen(J. Slafkovský)0–3
    4. 17:39CGYJ. Farabee(Y. Sharangovich, H. Brzustewicz)1–3
    3rdshots 8–12
    1. 03:56MTLC. Caufield(A. Texier, N. Suzuki)1–4

    score reads CGY–MTL

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

    The numbers

    XGBoost xG · NHL play-by-play
    4.46
    MTL chances
    Goals their shots were worth
    −0.5
    Finishing
    Goals below what those chances were worth
    1.046
    MTL puck luck
    Above 1.000 — the bounces went their way
    51.6%
    Shot attempts
    Over half — they had the puck more
    Split by club

    Who controlled the game

    2.50Expected goals4.46
    MTL 64% of the chance quality
    29Shots on goal36
    3High-danger chances8
    60All attempts (Corsi)64
    Adjusted for score: CGY 53% · MTL 47%
    Faceoffs · MTL won38%off61%neu50%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    CGY0 / 3 · 0.81 xG
    MTL2 / 8 · 1.99 xG
    Medium dangermid-range
    CGY0 / 11 · 1.04 xG
    MTL1 / 14 · 1.63 xG
    Low dangerperimeter & point
    CGY1 / 46 · 0.65 xG
    MTL1 / 42 · 0.84 xG

    CGY went 0-for-11 from medium danger on 1.04 expected goals — 1.0 left on the table.

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

    Finishing vs expected

    expectedactual
    CGY
    1 G · 2.50 xG · -1.5
    MTL
    4 G · 4.46 xG · -0.5
    012345

    CGY finished -1.5 against expected, MTL -0.5.

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

    Shot diet

    goalsshots
    CGY
    SNAP1/25
    SLAP0/6
    TIP IN0/2
    WRIST0/6
    BACKHAND0/1
    BAT0/1
    DEFLECTED0/0
    WRAP AROUND0/0
    OTHER0/19
    MTL
    SNAP3/35
    SLAP1/5
    TIP IN0/6
    WRIST0/1
    BACKHAND0/1
    BAT0/0
    DEFLECTED0/1
    WRAP AROUND0/1
    OTHER0/14
    CGY
    MTL
    Off the rush
    1 G on 24
    2.06 xG
    2 G on 31
    3.08 xG
    Off rebounds
    0 G on 0
    0.00 xG
    1 G on 4
    0.62 xG

    Snap shots carried the volume: CGY went 1-for-25, MTL 3-for-35. MTL scored 2 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 · 32/36 · .889
    +0.5
    saved above expected
    B
    the night
    By dangerG/attxGsaved
    High danger2/82.0-0.0
    Medium1/141.6+0.6
    Low1/420.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

    J. Fowler
    MTL · 28/29 · .966
    +1.5
    saved above expected
    A
    the night
    By dangerG/attxGsaved
    High danger0/30.8+0.8
    Medium0/111.0+1.0
    Low1/460.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

    91 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    CGY
    41 shots
    1
    Final
    91 shots
    MTL
    50 shots
    4
    CGY attackMTL attack
    CGY MTL Goal

    Each club shoots toward its own end — CGY left, MTL 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
    A. Texier
    #85 · L · MTL
    1 G · 2 A · 3 SOG · 13:57 on ice · +3
    C. Caufield
    #13 · R · MTL
    1 G · 1 A · 4 SOG · 14:43 on ice · +2
    L. Hutson
    #48 · D · MTL
    1 G · 0 A · 1 SOG · 23:29 on ice · +3
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

    Written Wed, Jan 7
    Open the pre-game read
    Written from the numbers

    The read

    Edited for clarity
    ◆ By the ModelJul 11, 11:41 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.5–2.7 expected-goal game and gives Montreal a 53% win probability—the definition of a pick'em.

    At 5-on-5, these teams are analytically interchangeable. Calgary sits at 47.0% expected goals; Montreal at 48.0%—a gap smaller than margin of error. Corsi runs 49.0% for both. Where they diverge is process-to-results alignment. Montreal's 1.018 PDO means their actual goals exceed what their shot quality typically produces. The Canadiens are running hot, a performance sustained only by variance that will regress. Calgary's 0.985 PDO tells the opposite story: their results lag their shot quality. They're cold and due for positive regression—a team whose underlying talent should eventually catch up.

    Montreal's rest advantage is the wrinkle. The Canadiens arrive on three full days off; Calgary on one. That edge sharpens considerably if D. Wolf operates on back-to-back fatigue or loses the start to a backup, scenarios that would further degrade Calgary's goaltending.

    Calgary's attack centers on Blake Coleman (16G, 12A, 0.89 xG/60, 11.4% shooting, 2 high-danger goals) and Matt Coronato (10G, 16A, 0.80 xG/60, 6.6% shooting). Coleman's 11.4% shooting rate represents sustainable production; Coronato's 6.6% signals positive variance ahead. Montreal counters with Cole Caufield (33G, 16A, 0.97 xG/60, 20.0% shooting, 1 high-danger goal) and Oliver Kapanen (19G, 12A, 0.83 xG/60, 17.8% shooting, 4 high-danger goals). Caufield operates at 20.0%—rarefied company. Kapanen at 17.8% is similarly elite. Both Canadiens finishers are ahead of their variance curves; both Flames scorers are running cold.

    Defensively, each team has a weak link. Calgary's Coronato carries back-end liability despite his scoring; Montreal's Mike Matheson represents structural vulnerability. Both teams sit at 0% high-danger goal rates and 0% rebound rates this season—symmetrical zeroes suggesting neither has capitalized on second chances.

    Weighed together: Montreal holds a material edge in rest and regression direction. Calgary is due for upside; Montreal vulnerable to correction. But one day of rest is not destiny, and due regression is not guaranteed. The model knows this balance. A coin flip it remains.

    What the model said beforehand

    The model's lean

    MTL 53%
    53%
    MTL
    Model favorite
    47%
    53%
    CGY50MTL

    MTL by 6 points of win probability — a modest lean. Projected score CGY 2.5–2.7 MTL; 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 →MTL
    47.0%48.0%
    49.0%49.0%
    2.362.41
    2.662.62
    1.762.24
    2.151.96
    0.9851.018

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

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

    Keys to the game

    Regression watch
    • The Canadiens' PDO is 1.018 — running hot, expect some regression.
    • The Flames' PDO is 0.985 — running cold, due for positive regression.
    Things to watch
    • D. Wolf is on a back-to-back — watch for a backup start or a tired starter.
    • The Canadiens' PDO is 1.018 — running hot, expect some regression.
    • The Canadiens have 2 more days of rest.
    Last game's lineup · confirmed at warm-up

    Lineups

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

    MTL
    Expected in goal
    S. Montembeault
    3 days rest.889 last start
    Backup Jakub Dobes · +17.3 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
    MTL
    Cole Caufield33G 16A
    0.97 xG/60 · 1 HD · 20.0% sh
    Oliver Kapanen19G 12A
    0.83 xG/60 · 4 HD · 17.8% sh
    Keep going

    Where to next