Motion-blurred skater in a Carolina Hurricanes sweater
Breakdown · BUF at CAR

Hurricanes hold off the Sabres

The verdict · earned

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

BUF 1 · CAR 2
◆ By the ModelJul 12, 1:31 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

High-danger chances split 5–5, yet Carolina won 2–1. That gap defines the game. The Hurricanes controlled 56% of 5v5 expected goals (3.18–2.49) and 62% of shot attempts (29–18), translating to superior volume and structure. Buffalo simply couldn't finish.

Neither team broke through on high-danger chances. U. Luukkonen made 27 saves on 29 shots (0.931 SV%), stopping 1.18 goals beyond expectation. B. Bussi saved 17 of 18 (0.944 SV%), outperforming by 1.49. When both goalies excel, volume wins.

S. Aho dictated play with 2 assists in 19:38. A. Svechnikov scored and assisted in 17:17. Seth Jarvis's wrist shot from a sharp angle in the third period sealed it. R. Dahlin answered for Buffalo with a goal in 25:03, but one tally doesn't bridge a shot-attempt gap this wide.

The story wasn't desperation or drama—just Carolina's edge in attempts and expected goals proving durable. The Hurricanes won through superior play, not luck.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Jan 19
BUF
1
CAR
2

Hurricanes hold off the Sabres

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

The Hurricanes earned this one.

Expected goals · chance value
BUF
2.49
CAR
3.18
44% of the chances56%

The board read BUF 1, CAR 2. The chances read BUF 2.5, CAR 3.2.

Our xG model · NHL play-by-play · all situations
Luck check
CAR
−1.2
goals above expected
CAR3.18 expected · 2 scored
Expected
Scored
BUF2.49 expected · 1 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 01:33BUFR. Dahlin1–0
  2. P1 07:04CARA. Svechnikov1–1
  3. P3 02:10CARS. JarvisPP1–2
NHL play-by-play · chance value from our xG model
Where the shots came from
BUF
30 shots
1
Final
70 shots
CAR
40 shots
2
BUF attackCAR attack
BUF CAR Goal
30
shots · 1 in
40
shots · 2 in
Every unblocked shot · press play to replay it
Chances by danger
BUFCAR
0 / 5
1.15 xG
High danger
0 / 5
1.25 xG
0 / 9
0.85 xG
Medium
2 / 16
1.44 xG
1 / 22
0.49 xG
Low
0 / 31
0.48 xG

The Sabres went 0 for 5 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
B+
B. Bussi
+1.5
CAR · 17/18
B+
U. Luukkonen
+1.2
BUF · 27/29
The numbers, checked
BACKCHECK

Hurricanes hold off the Sabres

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 3–12
  1. 01:33BUFR. Dahlin(J. Quinn, J. Zucker)1–0
  2. 07:04CARA. Svechnikov(S. Aho, S. Walker)1–1
2ndshots 8–8no goals
    3rdshots 7–9
    1. 02:10CARS. Jarvispower play(A. Svechnikov, S. Aho)1–2

    score reads BUF–CAR

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

    The numbers

    XGBoost xG · NHL play-by-play
    3.18
    CAR chances
    Goals their shots were worth
    −1.2
    Finishing
    Goals below what those chances were worth
    1.011
    CAR puck luck
    About 1.000 — a normal night for bounces
    59.1%
    Shot attempts
    Over half — they had the puck more
    Split by club

    Who controlled the game

    2.49Expected goals3.18
    CAR 56% of the chance quality
    18Shots on goal29
    5High-danger chances5
    36All attempts (Corsi)52
    Adjusted for score: BUF 42% · CAR 58%
    Faceoffs · CAR won61%off40%neu60%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    BUF0 / 5 · 1.15 xG
    CAR0 / 5 · 1.25 xG
    Medium dangermid-range
    BUF0 / 9 · 0.85 xG
    CAR2 / 16 · 1.44 xG
    Low dangerperimeter & point
    BUF1 / 22 · 0.49 xG
    CAR0 / 31 · 0.48 xG

    CAR went 0-for-5 from high danger on 1.25 expected goals — 1.3 left on the table.

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

    Finishing vs expected

    expectedactual
    BUF
    1 G · 2.49 xG · -1.5
    CAR
    2 G · 3.18 xG · -1.2
    01234

    BUF finished -1.5 against expected, CAR -1.2.

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

    Shot diet

    goalsshots
    BUF
    SNAP1/10
    WRIST0/8
    TIP IN0/7
    SLAP0/2
    BACKHAND0/3
    WRAP AROUND0/0
    DEFLECTED0/0
    OTHER0/6
    CAR
    SNAP0/11
    WRIST1/11
    TIP IN1/4
    SLAP0/7
    BACKHAND0/5
    WRAP AROUND0/1
    DEFLECTED0/1
    OTHER0/12
    BUF
    CAR
    Off the rush
    1 G on 24
    2.29 xG
    1 G on 24
    2.24 xG
    Off rebounds
    0 G on 0
    0.00 xG
    1 G on 2
    0.23 xG

    Snap shots carried the volume: BUF went 1-for-10, CAR 0-for-11.

    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
    U. Luukkonen
    BUF · 27/29 · .931
    +1.2
    saved above expected
    B+
    the night
    By dangerG/attxGsaved
    High danger0/51.3+1.3
    Medium2/161.4-0.6
    Low0/310.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

    B. Bussi
    CAR · 17/18 · .944
    +1.5
    saved above expected
    B+
    the night
    By dangerG/attxGsaved
    High danger0/51.1+1.1
    Medium0/90.8+0.8
    Low1/220.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

    70 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    BUF
    30 shots
    1
    Final
    70 shots
    CAR
    40 shots
    2
    BUF attackCAR attack
    BUF CAR Goal

    Each club shoots toward its own end — BUF 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
    S. Aho
    #20 · C · CAR
    0 G · 2 A · 0 SOG · 19:38 on ice
    A. Svechnikov
    #37 · R · CAR
    1 G · 1 A · 1 SOG · 17:17 on ice
    R. Dahlin
    #26 · D · BUF
    1 G · 0 A · 3 SOG · 25:03 on ice
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

    Written Mon, Jan 19
    Open the pre-game read
    Written from the numbers

    The read

    Edited for clarity
    ◆ By the ModelJul 12, 1:46 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

    Carolina's the model's pick at 58% win probability, projected to win 2.4-2.9. The Hurricanes dominate the underlying play: 56.0% 5v5 xG and 60.0% Corsi, meaning they'll control territory and generate better scoring chances. Buffalo's retreating into a 50.0% xG and 49.0% Corsi split—structural disadvantage that compounds over 60 minutes.

    The edge gets sharper through the PDO lens. Carolina's 0.984 PDO means the team is running cold relative to shot quality and finished likelihood. Buffalo's 1.020 tells the opposite story—the Sabres are converting above expectation, which is unsustainable. When PDO corrects, Carolina improves and Buffalo retreats.

    F. Andersen plays on a back-to-back for Buffalo. Whether that means a backup start or a fatigued starter, it's a variable worth monitoring—a tired Andersen erodes the Sabres' already thin margin.

    On offense, Buffalo leans on Jason Zucker's 1.07 xG/60 (14G, 14A, 6 high-danger goals, 15.1% shooting). His shooting rate is elite; the real issue is whether he can sustain it. Josh Doan tracks at 1.01 xG/60 with 15G, 18A and a modest 11.5% shooting rate—more volume-driven than shot-quality-driven. Carolina counters with Jackson Blake (1.06 xG/60, 14G, 19A, 10.9% shooting) and Seth Jarvis (0.98 xG/60, 17G, 12A, 11.9% shooting). Blake's assists suggest playmaking; Jarvis is a pure goal-scorer who's already at 17 on modest xG production.

    Both teams grapple with identical offensive inefficiencies: 0% high-danger-goal rates and 0% rebound-goal rates suggest neither team is finishing messy chances. That advantage shifts to whoever generates the most primary scoring chances—which, by xG%, is Carolina.

    Defensively, Buffalo has Jack Quinn as a weak link; Carolina's is Charles Alexis Legault. Neither team can afford to let those players get shelled in defensive scenarios, but Carolina's superior xG advantage means Buffalo will see more offense coming their way. That magnifies Legault's minutes against Zucker or Doan if matchups align unfavorably.

    The Hurricanes' structural advantage—better play, regressing PDO, territorial control—outweighs Buffalo's hot-hand shooting and Zucker's elite per-60 rates. The model consensus is sound. Take Carolina.

    What the model said beforehand

    The model's lean

    CAR 58%
    58%
    CAR
    Model favorite
    42%
    58%
    BUF50CAR

    CAR by 16 points of win probability — a clear lean. Projected score BUF 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
    BUF← edge
    edge →CAR
    50.0%56.0%
    49.0%60.0%
    2.552.98
    2.552.31
    2.352.26
    1.901.95
    1.0200.984

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

    Source · NHL stats API + our xG · 5v5
    Form · Last 10
    BUF
    7-2-1
    +11 GD · 2d rest
    CAR
    6-3-1
    +12 GD · 1d rest
    1.020
    BUF 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 50.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 Sabres' PDO is 1.020 — running hot, expect some regression.
    Things to watch
    • The Hurricanes own the underlying play — 56.0% 5v5 xG vs 50.0%.
    • The Hurricanes drive Corsi at 60.0% — expect territorial tilt.
    • F. Andersen 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
    BUF
    Expected in goal
    U. Luukkonen
    2 days rest.861 last start
    Backup Ukko-Pekka Luukkonen · +10.5 GSAx this season

    No completed game on file for this club yet.

    CAR
    Expected in goal
    F. Andersen
    back-to-back.967 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
    BUF
    Jason Zucker14G 14A
    1.07 xG/60 · 6 HD · 15.1% sh
    Josh Doan15G 18A
    1.01 xG/60 · 2 HD · 11.5% 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