Motion-blurred skater in a Buffalo Sabres sweater
Breakdown · EDM at BUF

Sabres run the Oilers off the ice on the underlying numbers

The verdict · earned

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

EDM 1 · BUF 5
◆ By the ModelJul 11, 4:26 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

Buffalo won 5-1 despite holding just 46% of shot attempts, a volume disadvantage fully erased by quality: the Sabres generated 0.075 xG per shot against Edmonton's 0.034, translating to a 4.82–2.19 expected-goals edge (69-31 split). High-danger chances reinforced it—Buffalo won dangerous opportunities 5-1, proving this wasn't luck but tactical dominance.

S. Skinner was solid, posting a 0.852 SV% and outperforming expected by 0.82 goals. But C. Ellis was exceptional: 32 of 33 saves, a 0.970 SV%, finishing 1.19 goals above expected. Edmonton couldn't overcome the gap. The Oilers underperformed their xG by 1.19 goals—they generated chances but Ellis's elite work prevented a closer scoreline.

The Sabres' rush game provided another edge: 2 goals on 31 chances, a high-volume transitional attack that offset their shot-attempt deficit. Buffalo's systematic dominance—quality in slot play, volume on the rush—left little for Edmonton to work with.

R. Dahlin (2A in 24:02) orchestrated the attack from the blue line. N. Ostlund (2G in 10:42) was devastating in barely ten minutes. M. Samuelsson (1A in 25:36) provided steady depth scoring.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Nov 17
EDM
1
BUF
5

Sabres run the Oilers off the ice on the underlying numbers

Chances 2.2 – 4.8Did they deserve it? →
Did they deserve it?

The Sabres earned this one.

Expected goals · chance value
EDM
2.19
BUF
4.82
31% of the chances69%

The board read EDM 1, BUF 5. The chances read EDM 2.2, BUF 4.8.

Our xG model · NHL play-by-play · all situations
Luck check
BUF
+0.2
goals above expected
BUF4.82 expected · 5 scored
Expected
Scored
EDM2.19 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 19:03BUFN. OstlundPP0–1
  2. P2 04:29EDMJ. Roslovic1–1
  3. P2 08:41BUFB. Byram1–2
  4. P2 09:43BUFB. Malenstyn1–3
  5. P3 07:55BUFN. Ostlund1–4
  6. P3 17:37BUFT. ThompsonEN1–5
NHL play-by-play · chance value from our xG model
Where the shots came from
EDM
46 shots
1
Final
93 shots
BUF
47 shots
5
EDM attackBUF attack
EDM BUF Goal
46
shots · 1 in
47
shots · 5 in
Every unblocked shot · press play to replay it
Chances by danger
EDMBUF
0 / 1
0.23 xG
High danger
1 / 5
1.60 xG
0 / 11
1.21 xG
Medium
3 / 26
2.77 xG
1 / 53
0.75 xG
Low
1 / 33
0.45 xG

High-danger looks: EDM 0 of 1, BUF 1 of 5.

Danger tiers by our xG model · high ≥ 20% chance
In the net
B+
C. Ellis
+1.2
BUF · 32/33
B+
S. Skinner
+0.8
EDM · 23/27
The numbers, checked
BACKCHECK

Sabres run the Oilers 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–6
  1. 19:03BUFN. Ostlundpower play(I. Rosen, R. Dahlin)0–1
2ndshots 10–13
  1. 04:29EDMJ. Roslovic(L. Draisaitl, A. Mangiapane)1–1
  2. 08:41BUFB. Byram(T. Kozak, P. Krebs)1–2
  3. 09:43BUFB. Malenstyn(R. Dahlin, M. Samuelsson)1–3
3rdshots 16–9
  1. 07:55BUFN. Ostlund(J. Dunne)1–4
  2. 17:37BUFT. Thompsonempty net1–5

score reads EDM–BUF

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

The numbers

XGBoost xG · NHL play-by-play
4.82
BUF chances
Goals their shots were worth
+0.2
Finishing
Goals above what those chances were worth
1.063
BUF puck luck
Above 1.000 — the bounces went their way
49.6%
Shot attempts
Under half — they were outshot
Split by club

Who controlled the game

2.19Expected goals4.82
BUF 69% of the chance quality
33Shots on goal28
1High-danger chances5
65All attempts (Corsi)64
Adjusted for score: EDM 55% · BUF 45%
Faceoffs · BUF won24%off36%neu70%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
EDM0 / 1 · 0.23 xG
BUF1 / 5 · 1.60 xG
Medium dangermid-range
EDM0 / 11 · 1.21 xG
BUF3 / 26 · 2.77 xG
Low dangerperimeter & point
EDM1 / 53 · 0.75 xG
BUF1 / 33 · 0.45 xG

EDM went 0-for-11 from medium danger on 1.21 expected goals — 1.2 left on the table.

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

Finishing vs expected

expectedactual
EDM
1 G · 2.19 xG · -1.2
BUF
5 G · 4.82 xG · +0.2
0123456

EDM finished -1.2 against expected, BUF +0.2.

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

Shot diet

goalsshots
EDM
WRIST0/20
SNAP1/11
SLAP0/7
TIP IN0/4
BACKHAND0/2
DEFLECTED0/1
BAT0/1
OTHER0/19
BUF
WRIST4/27
SNAP0/3
SLAP0/6
TIP IN1/4
BACKHAND0/5
DEFLECTED0/2
BAT0/0
OTHER0/17
EDM
BUF
Off the rush
1 G on 20
1.45 xG
2 G on 31
2.93 xG
Off rebounds
0 G on 3
0.27 xG
0 G on 4
0.61 xG

Wrist shots carried the volume: EDM went 0-for-20, BUF 4-for-27. BUF 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
S. Skinner
EDM · 23/27 · .852
+0.8
saved above expected
B+
the night
By dangerG/attxGsaved
High danger1/51.6+0.6
Medium3/262.8-0.2
Low1/330.5-0.6

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

C. Ellis
BUF · 32/33 · .970
+1.2
saved above expected
B+
the night
By dangerG/attxGsaved
High danger0/10.2+0.2
Medium0/111.2+1.2
Low1/530.8-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

93 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
EDM
46 shots
1
Final
93 shots
BUF
47 shots
5
EDM attackBUF attack
EDM BUF Goal

Each club shoots toward its own end — EDM left, BUF 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. Dahlin
#26 · D · BUF
0 G · 2 A · 3 SOG · 24:02 on ice · +1
N. Ostlund
#86 · C · BUF
2 G · 0 A · 3 SOG · 10:42 on ice · +2
M. Samuelsson
#23 · D · BUF
0 G · 1 A · 0 SOG · 25:36 on ice · +1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Mon, Nov 17
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 11, 4:24 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 calls this as close to a coin flip as they come: 2.6 expected goals for Edmonton, 2.6 for Buffalo, and the Sabres sitting at a dead-even 51% win probability. This is what true parity looks like.

Both teams have stumbled lately. Buffalo sits -14 in goal differential over its last 10 games; Edmonton is underwater at -5. The difference is marginal—each has been bleeding goals at nearly the same rate—but neither team is turning the corner defensively.

The season-long 5v5 picture tilts toward the Oilers. Edmonton holds 52.0% expected goal share to Buffalo's 50.0%, and 50.0% Corsi to Buffalo's 49.0%. These are slim margins, the kind that evaporate in a single bad game, but they indicate Edmonton is dictating play.

The regression story is where the edge lies. Buffalo's PDO sits at 1.020—the Sabres are running hot, converting at an unsustainable rate. Edmonton's 0.982 works the other direction: the Oilers are running cold and due for positive regression. In a game this tight, the team with momentum in its underlying metrics typically breaks the tie.

Goaltending is a wild card. C. Ellis is on a back-to-back for Buffalo; S. Skinner faces the same burden for Edmonton. Either starter could be pulled for a relief appearance, or either could run on fumes. Plan for volatility in net.

The player matchups define this game. Zach Hyman drives Edmonton's offense at 1.23 expected goals per 60 minutes with 14 goals and 13 assists; Connor McDavid sits at 0.92 xG/60 but carries 25 goals and 33 assists on 13.7% shooting. Buffalo counters with Jason Zucker (1.07 xG/60, 14 goals, 14 assists, 6 high-danger chances) and Josh Doan (1.01 xG/60, 15 goals, 18 assists, 2 high-danger goals). The Sabres generate more high-danger looks through Zucker; the Oilers will hunt McDavid in space.

Defensive weakness centers on Edmonton's Jake Walman and Buffalo's Jack Quinn. Exploit those mismatches, and either side steals this game.

When every metric splits the difference, when both teams are limping, when both goalies are tired, what you get is a genuine toss-up. The model knows it. Bet accordingly.

What the model said beforehand

The model's lean

BUF 51%
51%
BUF
Model favorite
49%
51%
EDM50BUF

BUF by 2 points of win probability — effectively a coin flip. Projected score EDM 2.6–2.6 BUF; 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
EDM← edge
edge →BUF
52.0%50.0%
50.0%49.0%
2.642.55
2.472.55
2.132.35
2.291.90
0.9821.020

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

Source · NHL stats API + our xG · 5v5
Form · Last 10
EDM
5-3-2
-5 GD · 1d rest
BUF
2-4-4
-14 GD · 1d rest
0.982
EDM PDO
Luck gauge · drifts to 1.000
1.020
BUF PDO
Luck gauge · drifts to 1.000
What decides it

Keys to the game

Regression watch
  • The Sabres' PDO is 1.020 — running hot, expect some regression.
  • The Oilers' PDO is 0.982 — running cold, due for positive regression.
Things to watch
  • C. Ellis is on a back-to-back — watch for a backup start or a tired starter.
  • S. Skinner is on a back-to-back — watch for a backup start or a tired starter.
  • The Sabres are underwater at -14 goal differential over their last 10.
  • The Oilers are underwater at -5 goal differential over their last 10.
  • The Sabres' PDO is 1.020 — running hot, expect some regression.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
EDM
Expected in goal
S. Skinner
back-to-back.917 last start
Backup Connor Ingram · +1.7 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.

BUF
Expected in goal
C. Ellis
back-to-back.857 last start
Backup Ukko-Pekka Luukkonen · +10.5 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
EDM
Zach Hyman14G 13A
1.23 xG/60 · 1 HD · 13.0% sh
Connor McDavid25G 33A
0.92 xG/60 · 5 HD · 13.7% sh
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
Keep going

Where to next