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

The Stars edged the Sabres 4-3 in a shootout despite losing the xG battle 3.75–2.69. The Sabres controlled 58% of expected goals at 5v5 — this was a heist.
The numbers behind the result. The Sabres held 46% of shot attempts (24–28 on goal). Expected goals finished 3.75–2.69 (58–42% split), and high-danger chances went 6–6.
Variance watch. The Sabres underperformed their xG by 0.75 goals; the Stars overperformed theirs by 1.31.
Turning point. Wyatt Johnston's wrist shot from the high slot, in the shootout.
Final: DAL 4 – BUF 3 (SO)
Data: NHL API, MoneyPuck xG model
Stars steal one from the Sabres against the run of play
The Sabres deserved better.
The board read DAL 4, BUF 3. The chances read DAL 2.7, BUF 3.8.
Both sides finished close to what their chances were worth. This one was earned on the ice.
Shootout goals are not shots and are not drawn; the scoreboard above counts goals from the shot log.
High-danger looks: DAL 0 of 6, BUF 2 of 6.
Stars steal one from the Sabres against the run of play
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 breakdownscore reads DAL–BUF
DAL went 0-for-6 from high danger on 1.48 expected goals — 1.5 left on the table.
DAL finished +1.3 against expected, BUF -0.8.
Wrist shots carried the volume: DAL went 2-for-27, BUF 1-for-26. BUF scored 3 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
DAL Created 2.69 xG against a ~2.70 league-average game; 6 high-danger shots (1.48 xG) and 20 rush shots (1.26 xG).
BUF Created 3.75 xG against a ~2.70 league-average game; 6 high-danger shots (1.79 xG) and 28 rush shots (2.52 xG).
DAL Allowed 3.75 xG against a ~2.70 league-average game; conceded 6 high-danger shots (1.79 xG) and 28 rush shots (2.52 xG).
BUF Allowed 2.69 xG against a ~2.70 league-average game; conceded 6 high-danger shots (1.48 xG) and 20 rush shots (1.26 xG).
DAL Rush shots 20–28, rush xG 1.26–2.52 (rush-based; public data has no zone entries).
BUF Rush shots 28–20, rush xG 2.52–1.26 (rush-based; public data has no zone entries).
DAL 1-for-3 on the power play (33%; league ≈21%) with 0.07 PP xG.
BUF 0-for-3 on the power play (0%; league ≈21%) with 0.97 PP xG.
DAL +0.75 goals saved above expected on 24 shots against.
BUF -0.31 goals saved above expected on 28 shots against.
DAL Took 3 penalties for 6 PIM vs 3 for 6 on the other side.
BUF Took 3 penalties for 6 PIM vs 3 for 6 on the other side.
Grades bounces, not skill — C is neutral
DAL Finishing +0.31 goals vs xG plus +0.75 GSAx of save luck = +1.06 total. This grades luck, not skill — C is neutral, A is very lucky.
BUF Finishing -0.75 goals vs xG plus -0.31 GSAx of save luck = -1.06 total. This grades luck, not skill — C is neutral, A is very lucky.
Gave up 28 rush shots worth 2.52 xG (3 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.
3 goals on 28 rush shots worth 2.52 xG.
The Stars took it 4-3 in a shootout with only 42% of expected goals (2.69–3.75).
0-for-6 on high-danger chances worth 1.48 xG — that conversion rate won't stay at zero.
Gave up 20 rush shots worth 1.26 xG (2 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.
2 goals on 20 rush shots worth 1.26 xG.
Shootout goals are not shots and are not drawn; the scoreboard above counts goals from the shot log.
Each club shoots toward its own end — DAL 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.
The model projects a 2.5-2.5 game with Buffalo at 51% win probability. This is as close to a pick'em as they come.
The underlying metrics explain why. Dallas posts 51.0% expected goals share at 5-on-5 to Buffalo's 50.0%. Corsi favors the Sabres slightly, 49.0% to 47.0%. Both teams are running nearly identical PDO — Dallas at 1.024, Buffalo at 1.020 — meaning both are riding unsustainable luck and due for regression.
Goaltending introduces the first variable: U. Luukkonen faces a back-to-back and may not start. If Buffalo opts for a backup, that tilts the matchup considerably. If Luukkonen plays tired, the Sabres lose a structural advantage.
Dallas's offense runs through Jason Robertson. He carries 25 goals and 21 assists with elite xG production (0.96 per 60) and a 12.4% shooting rate that suggests sustainable conversion. Michael Bunting supports at 0.83 xG/60 with only 8 goals, indicating he's due positive regression. Buffalo answers with Jason Zucker, who leads in expected creation at 1.07 xG/60 and has banked 14 goals with 6 high-danger chances. Josh Doan pairs with him at 1.01 xG/60, carrying 15 goals at an 11.5% shooting rate.
Both rosters share a peculiar weakness: neither team converts high-danger chances, posting 0% high-danger goal rates. Both also show 0% rebound goal rates. Dallas's defensive liability is Tyler Myers. Buffalo's is Jack Quinn. These weak links will determine which team escapes the other's scoring chances.
The verdict is as simple as the model suggests: this is a coin flip. Dallas has the edge in expected goal share. Buffalo has the marginally better play-driving rate and the marginal goaltending advantage if Luukkonen is fresh. Regression could cut either way. Bet the line only if it lands on your side of 51%.
BUF by 2 points of win probability — effectively a coin flip. Projected score DAL 2.5–2.5 BUF; 18% chance it's tied after 60.
The season numbers split 3–3 — no clear process edge — and the luck row (1.024 vs 1.020) says DAL has been getting the bounces, which tends not to last.
No completed game on file for this club yet.
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.