Rush defense leaked all night
Gave up 30 rush shots worth 2.65 xG (2 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.

Split squads and prospects, not the club that will take the ice in October. The shots and grades below describe this game only: nothing here counts toward season records, form, rankings or player numbers.
The Penguins beat the Sabres 4-1, and the underlying numbers backed every moment of the dominance. Pittsburgh controlled the game through relentless transition play.
The Penguins held 54% of shot attempts and 64% of expected goals, with 3.71 to Buffalo's 2.12. More significantly, Pittsburgh created four high-danger chances to Buffalo's one—a gap that predicted the scoreline perfectly.
C. Dewar opened the scoring on the rush 10 seconds after a turnover, then B. Rust extended the lead with a power-play wrist shot from 25 feet. A. Hayes added a third before the end of the second. Buffalo's only answer came when J. Richard scored on their own power play, but the Sabres never found a way to keep pace.
A. Lyon made 16 of 19 saves for Buffalo at 0.842 save percentage—respectable, but the Sabres underperformed their expected goals by 1.12 runs. The chances were there, and they couldn't finish. Pittsburgh's quality on offense was decisive: the Penguins shot at 0.061 expected goals per attempt versus Buffalo's 0.041, a measurable gap that showed in two goals scored off 30 rush opportunities.
E. Soderblom sealed it into an empty net in the third, and S. Murashov stopped 13 straight shots to close. Pittsburgh's transition dominance decided this one.
What the numbers can't tell you. Whether the finishing was luck or skill, why the benches were run the way they were, who was hurt, and anything said in the room. That is the beat's story, and it is worth reading.
Penguins run the Sabres off the ice on the underlying numbers
The Penguins earned this one.
The board read BUF 1, PIT 4. The chances read BUF 2.1, PIT 3.7.
Both sides finished close to what their chances were worth. This one was earned on the ice.
C. Dewar makes it 0–1.
High-danger looks: BUF 0 of 1, PIT 1 of 4.
Penguins 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 breakdownWrist shot from 45 feet, a 3% chance, a shot that rarely goes in (off the rush), past A. Lyon. 10s after a BUF giveaway by T. Kozak. Win probability moved 15 points.On the ice: R. Graves, J. Brazeau, C. Dewar, S. Murashov, C. Pietila, B. Kindel · against C. Sheary, D. Gilbert, J. Kulich, V. Komarov, J. Richard
Wrist shot from 25 feet, a 14% chance, past A. Lyon. 9s after a PIT miss by T. Broz. Win probability moved 14 points.On the ice: F. Hallander, C. Dewar, E. Soderblom, J. Blomqvist, A. Hayes, H. Brunicke · against D. Gilbert, T. Kozak, R. Fiddler-Schultz, V. Komarov
Wrist shot from 36 feet, an 8% chance, a shot that rarely goes in (off the rush), past J. Blomqvist. J. Blomqvist was 482s into his shift for the defending side. Win probability moved 14 points.On the ice: J. Rathbone, T. Kuntar, R. Fiddler-Schultz, V. Komarov, J. Polin · against R. Graves, D. Gustafsson, E. Soderblom, J. Blomqvist, T. Howe, C. Pietila
Wrist shot from 22 feet, an 11% chance, past A. Lyon. 3s after a PIT takeaway by A. Hayes. Win probability moved 14 points.On the ice: K. Letang, B. Rust, T. van Riemsdyk, J. Blomqvist, T. Broz, A. Kuzmenko · against R. Johnson, A. McDonough, J. Kulich, Z. Metsa, L. Valente
Wrist shot from 17 feet, a 51% chance (off the rush).On the ice: F. Hallander, D. Gustafsson, J. Blomqvist, A. Hayes, O. Pickering, H. Brunicke · against J. Rathbone, C. Ellis, A. McDonough, T. Kuntar, T. Kozak, V. Komarov
score reads BUF–PIT
PIT went 1-for-36 from low danger on 0.37 expected goals — 0.6 above expected.
BUF finished -1.1 against expected, PIT +0.3.
Wrist shots carried the volume: BUF went 1-for-23, PIT 4-for-25. PIT scored 2 of theirs off the rush.
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 →
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
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
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
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
Best skater on the ice by our rating: B. Rust (PIT), 16:41 of ice, 1-2, 58% of the expected goals while he was out.
| Skater | TOI | G-A | SOG | ixG | xG% | PD/PT | Impact | /60 | Grade |
|---|---|---|---|---|---|---|---|---|---|
| J. RichardR | 16:02 | 1-0 | 2 | 0.22 | 46 | 0/0 | 0.91 | 3.41 | A |
| T. BordeleauC | 16:57 | 0-1 | 2 | 0.25 | 45 | 0/0 | 0.90 | 3.19 | B |
| R. MrtkaD | 20:28 | 0-0 | 2 | 0.19 | 69 | 0/0 | 0.57 | 1.67 | B |
| R. JohnsonD | 18:42 | 0-0 | 2 | 0.02 | 67 | 0/0 | 0.47 | 1.51 | B |
| L. ValenteC | 14:54 | 0-0 | 3 | 0.17 | 48 | 1/0 | 0.39 | 1.55 | C |
| Z. MetsaD | 21:55 | 0-1 | 0 | 0.00 | 29 | 1/0 | 0.37 | 1.01 | C |
| J. DanforthR | 17:32 | 0-0 | 2 | 0.39 | 43 | 1/0 | 0.23 | 0.79 | C |
| R. Fiddler-SchultzC | 14:19 | 0-0 | 1 | 0.15 | 46 | 0/0 | 0.21 | 0.86 | C |
| T. KuntarC | 14:52 | 0-0 | 3 | 0.16 | 31 | 0/0 | -0.04 | -0.15 | D |
| M. PecaC | 18:01 | 0-0 | 1 | 0.15 | 42 | 0/0 | -0.09 | -0.29 | D |
| J. PolinR | 15:37 | 0-0 | 0 | 0.08 | 38 | 0/0 | -0.09 | -0.33 | D |
| J.KulichC | 19:39 | 0-0 | 3 | 0.13 | 30 | 0/0 | -0.10 | -0.29 | D |
| C. ShearyL | 5:35 | 0-0 | 0 | 0.00 | 4 | 0/0 | -0.10 | -1.13 | D |
| T. KozakC | 17:01 | 0-0 | 1 | 0.04 | 29 | 0/0 | -0.30 | -1.04 | F |
| A. McDonoughL | 11:51 | 0-0 | 0 | 0.06 | 11 | 0/0 | -0.31 | -1.57 | F |
| J. RathboneD | 16:22 | 0-0 | 1 | 0.01 | 21 | 0/1 | -0.48 | -1.77 | F |
| V. KomarovD | 17:33 | 0-0 | 1 | 0.09 | 15 | 0/0 | -0.50 | -1.71 | F |
| D. GilbertD | 20:02 | 0-0 | 0 | 0.00 | 20 | 0/1 | -0.63 | -1.89 | F |
| Skater | TOI | G-A | SOG | ixG | xG% | PD/PT | Impact | /60 | Grade |
|---|---|---|---|---|---|---|---|---|---|
| B. RustR | 16:41 | 1-2 | 4 | 0.39 | 58 | 0/0 | 2.79 | 10.02 | A+ |
| C. DewarC | 14:41 | 1-1 | 1 | 0.10 | 66 | 0/0 | 1.61 | 6.58 | A+ |
| H. LapierreC | 16:33 | 0-1 | 2 | 0.41 | 79 | 0/0 | 1.47 | 5.34 | A+ |
| E. SoderblomL | 15:31 | 1-0 | 1 | 0.91 | 58 | 1/0 | 1.41 | 5.44 | A |
| A. HayesR | 14:50 | 1-0 | 3 | 0.25 | 65 | 0/0 | 1.24 | 5.02 | A |
| F. HallanderC | 14:14 | 0-0 | 5 | 0.22 | 88 | 0/0 | 0.96 | 4.05 | A |
| A. KuzmenkoL | 19:02 | 0-1 | 1 | 0.36 | 58 | 0/0 | 0.98 | 3.10 | A |
| K. LetangD | 20:49 | 0-1 | 0 | 0.00 | 65 | 0/0 | 0.87 | 2.51 | B |
| J. BrazeauR | 14:29 | 0-0 | 2 | 0.39 | 79 | 1/1 | 0.62 | 2.56 | B |
| C. PietilaD | 21:56 | 0-0 | 2 | 0.08 | 66 | 0/0 | 0.66 | 1.80 | B |
| B. KindelC | 6:13 | 0-0 | 1 | 0.10 | 77 | 0/0 | 0.29 | 2.85 | B |
| O. PickeringD | 17:27 | 0-0 | 2 | 0.08 | 57 | 0/0 | 0.44 | 1.53 | C |
| T. van RiemsdykD | 17:21 | 0-0 | 1 | 0.01 | 74 | 0/0 | 0.42 | 1.44 | C |
| T. HoweL | 12:28 | 0-0 | 0 | 0.00 | 71 | 0/0 | 0.33 | 1.56 | C |
| D. GustafssonC | 16:36 | 0-0 | 2 | 0.17 | 58 | 0/0 | 0.29 | 1.04 | C |
| R. GravesD | 22:33 | 0-0 | 1 | 0.01 | 61 | 0/1 | 0.21 | 0.55 | D |
| H. BrunickeD | 16:30 | 0-0 | 0 | 0.02 | 59 | 0/0 | 0.17 | 0.60 | D |
| T. BrozC | 17:48 | 0-0 | 0 | 0.21 | 55 | 0/1 | -0.00 | -0.00 | D |
xG% = share of expected goals while on the ice · PD/PT = penalties drawn / taken · “in N min” = a per-60 rate far above the raw total. Impact = 0.75 G + 0.7 A1 + 0.55 A2 + 0.075 SOG + 0.05 BLK + 0.15 penalties drawn − 0.15 taken + 0.01 faceoff wins − 0.01 losses + 0.3 individual xG + 0.5 on-ice xG for − 0.5 on-ice xG against. Rating = 65% impact + 35% impact per 60, as a percentile among the skaters in this game.
Scratched, BUF: A. Kriukov, J. Zucker, S. Carrick, M. Geertsen, B. Warren, B. Malenstyn and 58 more. Scratched, PIT: E. Malkin, S. Crosby, E. Karlsson, R. Rakell, R. Segalla, T. Novak and 67 more. Referees Carter Sandlak and Justin Kea; linesmen James Tobias and Mark Shewchyk.
BUF Created 2.12 xG against a ~2.70 league-average game; 1 high-danger shots (0.19 xG) and 23 rush shots (1.51 xG).
PIT Created 3.71 xG against a ~2.70 league-average game; 4 high-danger shots (1.41 xG) and 30 rush shots (2.65 xG).
BUF Allowed 3.71 xG against a ~2.70 league-average game; conceded 4 high-danger shots (1.41 xG) and 30 rush shots (2.65 xG).
PIT Allowed 2.12 xG against a ~2.70 league-average game; conceded 1 high-danger shots (0.19 xG) and 23 rush shots (1.51 xG).
BUF Rush shots 23–30, rush xG 1.51–2.65 (rush-based; public data has no zone entries).
PIT Rush shots 30–23, rush xG 2.65–1.51 (rush-based; public data has no zone entries).
BUF 1-for-3 on the power play (33%; league ≈21%) with 0.47 PP xG.
PIT 1-for-2 on the power play (50%; league ≈21%) with 0.44 PP xG.
BUF +0.71 goals saved above expected on 27 shots against.
PIT +1.12 goals saved above expected on 24 shots against.
BUF Took 2 penalties for 4 PIM vs 3 for 6 on the other side.
PIT Took 3 penalties for 6 PIM vs 2 for 4 on the other side.
Grades bounces, not skill — C is neutral
BUF Finishing -1.12 goals vs xG plus +0.71 GSAx of save luck = -0.41 total. This grades luck, not skill — C is neutral, A is very lucky.
PIT Finishing +0.29 goals vs xG plus +1.12 GSAx of save luck = +1.41 total. This grades luck, not skill — C is neutral, A is very lucky.
Gave up 30 rush shots worth 2.65 xG (2 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.
2 goals on 30 rush shots worth 2.65 xG.
Gave up 23 rush shots worth 1.51 xG (1 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.
The Penguins controlled 64% of expected goals (3.71–2.12) and won 4-1 — result matched process.
1 goals on 23 rush shots worth 1.51 xG.
1G 2A in 16:41 — the game's first star.
Each club shoots toward its own end — BUF left, PIT 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.
Split squads and prospects, not the club that will take the ice in October. The rates below are last season's; this exhibition will not count toward season records, form, rankings or player numbers.
The model projects a 3.2–3.4 goal margin with Pittsburgh at 52% win probability. This is as close to a pick'em as you'll find in October.
Buffalo and Pittsburgh are statistical twins at five-on-five. The Sabres sit at 50.6% expected-goal share with 49.6% Corsi; the Penguins run 50.8% xG% and 50.2% Corsi—functionally identical. Buffalo's PDO of 1.020 suggests they're running hot, a sign that regression is waiting. Pittsburgh's 1.012 sits closer to equilibrium, indicating their underlying play and results are tracking together.
The Penguins' offense moves through Filip Hallander. At 1.28 xG/60, he's generating dangerous volume despite a 0G–3A line—he's finding the right places without the finish yet. Pittsburgh's defensive assignment is straightforward: neutralize Jason Zucker, Buffalo's dangerous winger at 1.07 xG/60 with 14G–14A and 6 high-danger goals. His 15.1% shooting rate is elite execution, not luck. Buffalo has another threat in Josh Doan—1.01 xG/60, 15G–18A, 11.5% shooting. Rickard Rakell carries a similar profile for Pittsburgh: 1.01 xG/60, 13G–13A, 3 high-danger goals, and 12.1% shooting. Buffalo's defensive assignment: shut down Hallander.
Here's where it gets thin. Both teams sit at 0% high-danger goal rate and 0% rebound-goal rate—neither is finishing the hardest chances or capitalizing on second looks. Their scoring depends almost entirely on volume and elite individual execution. Jack Quinn (Buffalo) and Caleb Jones (Pittsburgh) represent each team's defensive weak links, meaning one dangerous chance per team might convert.
The game is decided by whoever suppresses the other team's primary scorer—Zucker or Hallander—into low-danger territory. Until one team solves that puzzle, the coin-flip model is your guide.
Season rates in this preview are from 2025-26 — this season's sample isn't live yet.
PIT by 6 points of win probability — a modest lean. Projected score BUF 3.2–3.4 PIT; 16% chance it's tied after 60.
PIT holds 4 of 6 process categories — and the luck row (1.020 vs 1.012) says BUF has been getting the bounces, which tends not to last.
Filip Hallander: 0G 3A, 1.28 xG/60.
Key matchup: Neutralize Jason Zucker (14G, 1.07 xG/60, 6 HD goals)
Key matchup: Neutralize Jason Zucker (14G, 1.07 xG/60, 6 HD goals)
Key matchup: Neutralize Filip Hallander (0G, 1.28 xG/60, 0 HD goals)
Key matchup: Neutralize Filip Hallander (0G, 1.28 xG/60, 0 HD goals)
Jack Quinn is on ice for 2.96 xGA/60 and 54 high-danger shots against this season.
Hunt matchups against Jack Quinn's shifts with the top line.