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

J. Dobes stands tall as the Canadiens edge the Hurricanes

The verdict · stolen

The Canadiens stole one. They lost the expected-goals battle 3.81–4.90 and won anyway.

MTL 3 · CAR 1
◆ By the ModelJul 12, 9:26 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

Montreal stole this one. The Canadiens beat Carolina 3-1 despite getting dominated in nearly every underlying metric—the Hurricanes controlled 56% of expected goals at 5v5, 66% of shot attempts, and created 5 high-danger chances to Montreal's 7. This was robbery.

The difference was goaltending. J. Dobes played like a wall: 34/35 saves at 0.971 SV%, stopping 3.90 goals above expected. That's not a solid outing—that's a heist. F. Andersen faced better chances but left 0.81 goals on the table with 15/18 stops.

Carolina's actual problem wasn't volume; it was efficiency. The Hurricanes created plenty but converted nothing—0 for 5 on high-danger chances, a conversion rate that won't hold. Meanwhile, Montreal's shots were cleaner. The Canadiens generated 0.091 expected goals per shot; Carolina managed only 0.049. Quality mattered more than quantity.

Nick Suzuki's wrist shot from the doorstep in the second period (19:53) was the turning point—Montreal's chance at the right time against the wrong goalie.

This game defined itself by who got lucky and who got punished. The Hurricanes dominated, outshot Montreal 35–18, and still lost. Carolina's rush defense collapsed (Montreal scored 2 goals on 20 rush chances), and the rebound battle went nowhere (7 rebound opportunities created, 0 converted). Montreal scored on its opportunities: Suzuki had 2, Cole Caufield 1, and Lane Hutson orchestrated the offense with 2 assists.

The xG gap (4.90–3.81, 56–44% split) says Carolina should've won. The scoreboard says Montreal did. Dobes made sure one story overruled the other.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Mar 29
MTL
3
CAR
1

J. Dobes stands tall as the Canadiens edge the Hurricanes

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

The Hurricanes deserved better.

Expected goals · chance value
MTL
3.81
CAR
4.90
44% of the chances56%

The board read MTL 3, CAR 1. The chances read MTL 3.8, CAR 4.9.

Our xG model · NHL play-by-play · all situations
Luck check
MTL
−0.8
goals above expected
MTL3.81 expected · 3 scored
Expected
Scored
CAR4.90 expected · 1 scored
Expected
Scored

The Hurricanes left 3.9 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 08:37CARA. SvechnikovPP0–1
  2. P2 06:18MTLN. Suzuki1–1
  3. P2 17:32MTLC. Caufield2–1
  4. P2 19:53MTLN. SuzukiPP3–1
NHL play-by-play · chance value from our xG model
Where the shots came from
MTL
29 shots
3
Final
96 shots
CAR
67 shots
1
MTL attackCAR attack
MTL CAR Goal
29
shots · 3 in
67
shots · 1 in
Every unblocked shot · press play to replay it
Chances by danger
MTLCAR
1 / 7
2.03 xG
High danger
0 / 5
1.42 xG
2 / 14
1.50 xG
Medium
0 / 24
2.57 xG
0 / 21
0.28 xG
Low
1 / 71
0.91 xG

The Hurricanes went 0 for 5 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A+
J. Dobes
+3.9
MTL · 34/35
B+
F. Andersen
+0.8
CAR · 15/18
The numbers, checked
BACKCHECK

J. Dobes stands tall as the Canadiens edge the Hurricanes

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 6–13
  1. 08:37CARA. Svechnikovpower play(S. Jarvis, S. Aho)0–1
2ndshots 8–14
  1. 06:18MTLN. Suzuki(C. Caufield, L. Hutson)1–1
  2. 17:32MTLC. Caufield(N. Suzuki, L. Hutson)2–1
  3. 19:53MTLN. Suzukipower play(J. Slafkovský, I. Demidov)3–1
3rdshots 4–8no goals

    score reads MTL–CAR

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

    The numbers

    XGBoost xG · NHL play-by-play
    3.81
    MTL chances
    Goals their shots were worth
    −0.8
    Finishing
    Goals below what those chances were worth
    1.061
    MTL puck luck
    Above 1.000 — the bounces went their way
    29.6%
    Shot attempts
    Under half — they were outshot
    Split by club

    Who controlled the game

    3.81Expected goals4.90
    CAR 56% of the chance quality
    18Shots on goal35
    7High-danger chances5
    42All attempts (Corsi)100
    Adjusted for score: MTL 29% · CAR 71%
    Faceoffs · CAR won76%off50%neu29%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    MTL1 / 7 · 2.03 xG
    CAR0 / 5 · 1.42 xG
    Medium dangermid-range
    MTL2 / 14 · 1.50 xG
    CAR0 / 24 · 2.57 xG
    Low dangerperimeter & point
    MTL0 / 21 · 0.28 xG
    CAR1 / 71 · 0.91 xG

    CAR went 0-for-24 from medium danger on 2.57 expected goals — 2.6 left on the table.

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

    Finishing vs expected

    expectedactual
    MTL
    3 G · 3.81 xG · -0.8
    CAR
    1 G · 4.90 xG · -3.9
    0123456

    MTL finished -0.8 against expected, CAR -3.9.

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

    Shot diet

    goalsshots
    MTL
    SNAP2/14
    BACKHAND0/3
    SLAP0/2
    TIP IN0/6
    WRIST1/3
    DEFLECTED0/1
    BAT0/0
    WRAP AROUND0/0
    OTHER0/13
    CAR
    SNAP0/42
    BACKHAND0/9
    SLAP1/7
    TIP IN0/2
    WRIST0/4
    DEFLECTED0/1
    BAT0/1
    WRAP AROUND0/1
    OTHER0/33
    MTL
    CAR
    Off the rush
    2 G on 20
    2.34 xG
    1 G on 39
    3.19 xG
    Off rebounds
    1 G on 4
    0.70 xG
    0 G on 7
    0.95 xG

    Snap shots carried the volume: MTL went 2-for-14, CAR 0-for-42. 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
    J. Dobes
    MTL · 34/35 · .971
    +3.9
    saved above expected
    A+
    the night
    By dangerG/attxGsaved
    High danger0/51.4+1.4
    Medium0/242.6+2.6
    Low1/710.9-0.1

    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

    F. Andersen
    CAR · 15/18 · .833
    +0.8
    saved above expected
    B+
    the night
    By dangerG/attxGsaved
    High danger1/72.0+1.0
    Medium2/141.5-0.5
    Low0/210.3+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

    96 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    MTL
    29 shots
    3
    Final
    96 shots
    CAR
    67 shots
    1
    MTL attackCAR attack
    MTL CAR Goal

    Each club shoots toward its own end — MTL left, CAR 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. Suzuki
    #14 · C · MTL
    2 G · 1 A · 5 SOG · 20:17 on ice · +2
    L. Hutson
    #48 · D · MTL
    0 G · 2 A · 0 SOG · 19:31 on ice · +2
    C. Caufield
    #13 · R · MTL
    1 G · 1 A · 3 SOG · 15:45 on ice · +2
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

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

    The read

    Edited for clarity
    ◆ By the ModelJul 12, 9:26 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 predictive model rates Carolina as a 60% favorite, projecting a 2.4 to 2.9 goal victory. The Hurricanes aren't stealing this edge — they've earned it through territorial and efficiency dominance all season.

    Carolina controls the underlying play decisively. At 56.0% expected goals, they outshot Montreal's 48.0% significantly. That gap widens in possession: the Hurricanes generated 60.0% of the Corsi battle, meaning they dictated where the puck lived. When Montreal sees this much pressure, scoring becomes harder, and goaltending carries more weight.

    The regression story cuts both ways. Carolina's 0.984 PDO suggests they're running cold relative to their shot quality and volume — regression favors their next performance. Montreal sits at 1.018, which inverts the problem: the Canadiens have converted their chances at a clip that doesn't track their underlying offense. Expect them to regress downward.

    Both teams carry fatigue into this matchup. B. Bussi and J. Fowler are both on back-to-backs, which means either starter could yield to a reserve, or a worn starter could falter. Fresh legs on Montreal's depth chart could matter.

    Cole Caufield carries Montreal's offensive load. His 0.97 xG/60 ranks among team regulars, and his 20.0% shooting rate bankrolled 33 goals and 16 assists — unsustainable conversion that feeds back into Montreal's elevated PDO. Oliver Kapanen (0.83 xG/60, 19G 12A) operates at lower volume but with the same hot streak: 17.8% shooting on four high-danger goals signals similar regression risk.

    Carolina's forward class runs deeper. Jackson Blake (1.06 xG/60, 14G 19A) generates quality chances consistently — two high-danger goals reflect his shot profile cleanly. Seth Jarvis (0.98 xG/60, 17G 12A) complements him; his 11.9% shooting rate suggests he's tracking his underlying play more reliably than Caufield or Kapanen.

    Mike Matheson is Montreal's defensive liability. Charles Alexis Legault is Carolina's corresponding weak link.

    Carolina's edge here is real, but not overwhelming. The Hurricanes' PDO regression doesn't guarantee them a win — it just reflects that their current record slightly flatters their play, while Montreal's inflates it. The model's 60% confidence reflects that precision: Carolina is the better team tonight, but Montreal has live chances if the Canadiens execute and the Hurricanes play tired.

    What the model said beforehand

    The model's lean

    CAR 60%
    60%
    CAR
    Model favorite
    40%
    60%
    MTL50CAR

    CAR by 20 points of win probability — a clear lean. Projected score MTL 2.4–2.9 CAR; 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
    MTL← edge
    edge →CAR
    48.0%56.0%
    49.0%60.0%
    2.412.98
    2.622.31
    2.242.26
    1.961.95
    1.0180.984

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

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

    Keys to the game

    Where the edges live
    • The Hurricanes own the underlying play — 56.0% 5v5 xG vs 48.0%.
    • The Hurricanes drive Corsi at 60.0% — expect territorial tilt.
    Regression watch
    • The Hurricanes' PDO is 0.984 — running cold, due for positive regression.
    • The Canadiens' PDO is 1.018 — running hot, expect some regression.
    Things to watch
    • The Hurricanes own the underlying play — 56.0% 5v5 xG vs 48.0%.
    • The Hurricanes drive Corsi at 60.0% — expect territorial tilt.
    • B. Bussi is on a back-to-back — watch for a backup start or a tired starter.
    • J. Fowler is on a back-to-back — watch for a backup start or a tired starter.
    • The Hurricanes' PDO is 0.984 — running cold, due for positive regression.
    Last game's lineup · confirmed at warm-up

    Lineups

    NHL box score
    MTL
    Expected in goal
    J. Fowler
    back-to-back.958 last start
    Backup Jakub Dobes · +17.3 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.

    CAR
    Expected in goal
    B. Bussi
    back-to-back.895 last start
    Backup Brandon Bussi · +2.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
    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
    CAR
    Jackson Blake14G 19A
    1.06 xG/60 · 2 HD · 10.9% sh
    Seth Jarvis17G 12A
    0.98 xG/60 · 1 HD · 11.9% sh
    Keep going

    Where to next