Motion-blurred skater in a Ottawa Senators sweater
Breakdown · BUF at OTT

Senators run the Sabres off the ice on the underlying numbers

The verdict · earned

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

BUF 1 · OTT 4
◆ By the ModelJul 12, 9:55 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

The Senators rolled past the Sabres 4-1. Ottawa generated 4.36 expected goals to Buffalo's 2.30—a 65–35 split—by firing higher-quality chances: 0.081 xG per attempt versus Buffalo's 0.050. Buffalo underperformed their modest xG by 1.30 goals, unable to capitalize even with decent chances. L. Ullmark (21/22, 0.955 SV%, +1.30 vs expected) was superb for Ottawa, shutting down what little Buffalo had. U. Luukkonen played above expectations for Buffalo (20/22, 0.909 SV%, +2.36 vs expected) but was overwhelmed. Ottawa won the high-danger zone 4–2 and converted 3 of 24 rush chances into goals.

Shane Pinto's wrist shot from the high slot (P3, 18:42) was the inflection point—when Ottawa's dominance became irresistible.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Apr 2
BUF
1
OTT
4

Senators run the Sabres off the ice on the underlying numbers

Chances 2.3 – 4.4Did they deserve it? →
Did they deserve it?

The Senators earned this one.

Expected goals · chance value
BUF
2.30
OTT
4.36
35% of the chances65%

The board read BUF 1, OTT 4. The chances read BUF 2.3, OTT 4.4.

Our xG model · NHL play-by-play · all situations
Luck check
OTT
−0.4
goals above expected
OTT4.36 expected · 4 scored
Expected
Scored
BUF2.30 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. P2 08:49BUFM. Samuelsson1–0
  2. P2 15:18OTTD. Cozens1–1
  3. P3 05:55OTTL. Eller1–2
  4. P3 17:42OTTR. GreigEN1–3
  5. P3 18:42OTTS. PintoEN1–4
NHL play-by-play · chance value from our xG model
Where the shots came from
BUF
36 shots
1
Final
74 shots
OTT
38 shots
4
BUF attackOTT attack
BUF OTT Goal
36
shots · 1 in
38
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
BUFOTT
0 / 2
0.62 xG
High danger
2 / 4
2.18 xG
0 / 11
1.08 xG
Medium
2 / 15
1.76 xG
1 / 33
0.61 xG
Low
0 / 35
0.41 xG

The Senators buried 2 of 4 high-danger looks.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A
U. Luukkonen
+2.4
BUF · 20/22
B+
L. Ullmark
+1.3
OTT · 21/22
The numbers, checked
BACKCHECK

Senators run the Sabres 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 6–4no goals
    2ndshots 9–8
    1. 08:49BUFM. Samuelsson(B. Byram, P. Krebs)1–0
    2. 15:18OTTD. Cozens(B. Tkachuk, R. Greig)1–1
    3rdshots 7–12
    1. 05:55OTTL. Eller(A. Zub, W. Foegele)1–2
    2. 17:42OTTR. Greigempty net(J. Spence)1–3
    3. 18:42OTTS. Pintoempty net1–4

    score reads BUF–OTT

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

    The numbers

    XGBoost xG · NHL play-by-play
    4.36
    OTT chances
    Goals their shots were worth
    −0.4
    Finishing
    Goals below what those chances were worth
    1.052
    OTT puck luck
    Above 1.000 — the bounces went their way
    54.0%
    Shot attempts
    Over half — they had the puck more
    Split by club

    Who controlled the game

    2.30Expected goals4.36
    OTT 65% of the chance quality
    22Shots on goal24
    2High-danger chances4
    46All attempts (Corsi)54
    Adjusted for score: BUF 46% · OTT 54%
    Faceoffs · OTT won59%off39%neu47%def
    Source · NHL play-by-play · XGBoost xG
    How the game was won

    The danger ladder

    shotsgoalsexpected
    High dangerslot & crease
    BUF0 / 2 · 0.62 xG
    OTT2 / 4 · 2.18 xG
    Medium dangermid-range
    BUF0 / 11 · 1.08 xG
    OTT2 / 15 · 1.76 xG
    Low dangerperimeter & point
    BUF1 / 33 · 0.61 xG
    OTT0 / 35 · 0.41 xG

    BUF went 0-for-11 from medium danger on 1.08 expected goals — 1.1 left on the table.

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

    Finishing vs expected

    expectedactual
    BUF
    1 G · 2.30 xG · -1.3
    OTT
    4 G · 4.36 xG · -0.4
    012345

    BUF finished -1.3 against expected, OTT -0.4.

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

    Shot diet

    goalsshots
    BUF
    WRIST1/22
    SLAP0/5
    SNAP0/5
    TIP IN0/1
    DEFLECTED0/2
    BACKHAND0/1
    OTHER0/10
    OTT
    WRIST2/24
    SLAP1/6
    SNAP0/4
    TIP IN1/3
    DEFLECTED0/0
    BACKHAND0/1
    OTHER0/16
    BUF
    OTT
    Off the rush
    0 G on 26
    2.08 xG
    3 G on 24
    3.82 xG
    Off rebounds
    0 G on 0
    0.00 xG
    0 G on 0
    0.00 xG

    Wrist shots carried the volume: BUF went 1-for-22, OTT 2-for-24. OTT 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
    U. Luukkonen
    BUF · 20/22 · .909
    +2.4
    saved above expected
    A
    the night
    By dangerG/attxGsaved
    High danger2/42.2+0.2
    Medium2/151.8-0.2
    Low0/350.4+0.4

    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

    L. Ullmark
    OTT · 21/22 · .955
    +1.3
    saved above expected
    B+
    the night
    By dangerG/attxGsaved
    High danger0/20.6+0.6
    Medium0/111.1+1.1
    Low1/330.6-0.4

    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

    74 shots · press play to watch the game back

    Where the shots came from

    NHL play-by-play coordinates
    BUF
    36 shots
    1
    Final
    74 shots
    OTT
    38 shots
    4
    BUF attackOTT attack
    BUF OTT Goal

    Each club shoots toward its own end — BUF left, OTT 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
    R. Greig
    #71 · C · OTT
    1 G · 1 A · 1 SOG · 17:08 on ice · +2
    J. Spence
    #10 · D · OTT
    0 G · 1 A · 2 SOG · 30:48 on ice · +3
    A. Zub
    #2 · D · OTT
    0 G · 1 A · 0 SOG · 24:24 on ice · +2
    Ranked from the box score — points first · Backcheck
    What the model said beforehand

    Before the game

    Written Thu, Apr 2
    Open the pre-game read
    Written from the numbers

    The read

    Edited for clarity
    ◆ By the ModelJul 12, 9:52 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 BUF 2.3 - 2.7 OTT game with Ottawa favored at 57% win probability. The edge is straightforward: the Senators own the underlying play.

    At even strength, Ottawa generates 56.0% expected goals against Buffalo's 50.0%, and controls territory at 53.0% Corsi to Buffalo's 49.0%. The tilt runs through the full 60 minutes — this isn't a one-period advantage but a structural dominance in puck possession and shot quality.

    The risk lives in Buffalo's goaltending fortunes. The Sabres' PDO sits at 1.020 — running hot — while Ottawa's 0.993 signals regression risk the other way. Regression works both directions. If Buffalo's shooting luck normalizes downward or its save percentage tightens, that 2.3 - 2.7 projection widens in Ottawa's favor quickly.

    The players to watch:

    BUF

    • Jason Zucker: 1.07 xG/60, 14G 14A, 6 HD goals, 15.1% shooting
    • Josh Doan: 1.01 xG/60, 15G 18A, 2 HD goals, 11.5% shooting

    OTT

    • Brady Tkachuk: 1.19 xG/60, 11G 20A, 2 HD goals, 7.5% shooting
    • Dylan Cozens: 1.00 xG/60, 13G 15A, 1 HD goals, 9.5% shooting

    Zucker drives Buffalo's volume (1.07 xG/60) and has been ruthless in tight spaces (6 HD goals, 15.1% shooting). Doan matches the pace (15 goals) but converts at a tighter rate (11.5%). On Ottawa's side, Brady Tkachuk remains the engine — the highest underlying shot quality (1.19 xG/60) combined with elite point production (11G 20A) makes him the primary scoring threat. Cozens provides secondary volume at parity with Zucker's generation.

    Buffalo depends on containing Tkachuk and sustaining Zucker's 15.1% finishing rate. Ottawa's task is simpler: maintain its underlying play advantage. The model sees this edge as durable, not a variance play — and PDO regression tilts probability further toward the Senators.

    What the model said beforehand

    The model's lean

    OTT 57%
    57%
    OTT
    Model favorite
    43%
    57%
    BUF50OTT

    OTT by 14 points of win probability — a modest lean. Projected score BUF 2.3–2.7 OTT; 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
    BUF← edge
    edge →OTT
    50.0%56.0%
    49.0%53.0%
    2.552.66
    2.552.12
    2.352.18
    1.901.99
    1.0200.993

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

    Source · NHL stats API + our xG · 5v5
    Form · No games yet
    BUF
    0-0-0
    +0 GD · 0d rest
    OTT
    0-0-0
    +0 GD · 0d rest
    1.020
    BUF PDO
    Luck gauge · drifts to 1.000
    0.993
    OTT PDO
    Luck gauge · drifts to 1.000
    What decides it

    Keys to the game

    Where the edges live
    • The Senators own the underlying play — 56.0% 5v5 xG vs 50.0%.
    • The Senators drive Corsi at 53.0% — expect territorial tilt.
    Regression watch
    • The Sabres' PDO is 1.020 — running hot, expect some regression.
    Things to watch
    • The Senators own the underlying play — 56.0% 5v5 xG vs 50.0%.
    • The Senators drive Corsi at 53.0% — expect territorial tilt.
    • The Sabres' PDO is 1.020 — running hot, expect some regression.
    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
    OTT
    Brady Tkachuk11G 20A
    1.19 xG/60 · 2 HD · 7.5% sh
    Dylan Cozens13G 15A
    1.00 xG/60 · 1 HD · 9.5% sh
    Keep going

    Where to next