M. DiPietro stole it
M. DiPietro stopped 26 of 28 (0.929) — +3.00 goals saved above expected in a 2-goal game.

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 Flyers beat the Bruins 2-0 and the underlying numbers backed it up — they controlled 66% of 5v5 expected goals (5.00–2.62).
The numbers behind the result. The Flyers held 50% of shot attempts (28–28 on goal). Expected goals finished 5.00–2.62 (66–34% split), and high-danger chances went 7–3.
Variance watch. The Flyers underperformed their xG by 3.00 goals; the Bruins underperformed theirs by 2.62.
Turning point. Cole Knuble's backhander from the doorstep (P3, 02:57).
Final: BOS 0 – PHI 2
Data: NHL play-by-play and shift charts, Backcheck xG model
Flyers shut out the Bruins, 2-0
The Flyers earned this one.
The board read BOS 0, PHI 2. The chances read BOS 2.6, PHI 5.0.
The Bruins left 2.6 goals on the table against what their chances were worth.
M. Michkov makes it 0–1.
The Bruins went 0 for 3 from the slot.
Flyers shut out the Bruins, 2-0
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 breakdownBackhander from 7 feet, a 14% chance (off the rush), past M. DiPietro. Win probability moved 14 points.On the ice: T. Zegras, C. York, J. Drysdale, T. Foerster, P. Martone · against M. Eyssimont, J. Aspirot, J. Schmaltz, B. Sweezey, A. Biasca
Backhander from 1 feet, a 32% chance (a rebound), past M. DiPietro. 2s after a PHI shot by J. Gaucher. Win probability moved 14 points.On the ice: S. Benoit, J. Gaucher, J. Drysdale, C. Knuble, J. Luchanko · against S. Kuraly, C. McAvoy, R. Duran, A. Steeves, F. Brunet
score reads BOS–PHI
PHI went 1-for-7 from high danger on 2.62 expected goals — 1.6 left on the table.
BOS finished -2.6 against expected, PHI -3.0.
Wrist shots carried the volume: BOS went 0-for-14, PHI 0-for-24.
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
Best skater on the ice by our rating: J. Gaucher (PHI), 10:39 of ice, 0-1, 81% of the expected goals while he was out.
| Skater | TOI | G-A | SOG | ixG | xG% | PD/PT | Impact | /60 | Grade |
|---|---|---|---|---|---|---|---|---|---|
| J. HagensC | 20:36 | 0-0 | 5 | 0.63 | 43 | 0/0 | 0.34 | 0.98 | C |
| J. HarrisD | 20:49 | 0-0 | 2 | 0.18 | 47 | 0/0 | 0.25 | 0.72 | C |
| B. HalonenL | 12:07 | 0-0 | 1 | 0.20 | 49 | 1/1 | 0.20 | 0.98 | C |
| H. JokiharjuD | 19:49 | 0-0 | 2 | 0.05 | 43 | 0/0 | 0.08 | 0.24 | C |
| D. LocmelisC | 18:49 | 0-0 | 4 | 0.38 | 39 | 0/0 | 0.06 | 0.18 | C |
| M. EyssimontC | 15:44 | 0-0 | 3 | 0.19 | 38 | 0/0 | 0.05 | 0.20 | D |
| F. BrunetD | 18:27 | 0-0 | 3 | 0.09 | 35 | 1/1 | 0.04 | 0.12 | D |
| J. SchmaltzL | 11:03 | 0-0 | 0 | 0.00 | 45 | 0/0 | -0.06 | -0.33 | D |
| A. SteevesC | 16:47 | 0-0 | 1 | 0.10 | 34 | 0/0 | -0.16 | -0.57 | D |
| C. McAvoyD | 22:35 | 0-0 | 3 | 0.35 | 36 | 0/0 | -0.27 | -0.72 | D |
| B. SweezeyD | 16:03 | 0-0 | 1 | 0.07 | 17 | 0/0 | -0.28 | -1.06 | D |
| I. IvanC | 14:45 | 0-0 | 1 | 0.04 | 24 | 0/0 | -0.28 | -1.15 | D |
| L. ReichelL | 18:08 | 0-0 | 0 | 0.00 | 38 | 0/0 | -0.41 | -1.36 | D |
| B. GaunceC | 13:33 | 0-0 | 0 | 0.04 | 21 | 0/0 | -0.39 | -1.72 | F |
| S. KuralyC | 15:51 | 0-0 | 1 | 0.14 | 20 | 0/0 | -0.47 | -1.79 | F |
| J. AspirotD | 15:57 | 0-0 | 0 | 0.00 | 12 | 0/0 | -0.48 | -1.81 | F |
| R. DuranC | 14:27 | 0-0 | 1 | 0.03 | 11 | 0/0 | -0.47 | -1.94 | F |
| A. BiascaC | 12:40 | 0-0 | 0 | 0.12 | 30 | 0/0 | -0.47 | -2.22 | F |
| Skater | TOI | G-A | SOG | ixG | xG% | PD/PT | Impact | /60 | Grade |
|---|---|---|---|---|---|---|---|---|---|
| J. GaucherC | 10:39 | 0-1 | 3 | 0.69 | 81 | 0/0 | 1.74 | 9.81 | A+ |
| C. KnubleR | 10:43 | 1-0 | 1 | 0.32 | 81 | 0/0 | 1.39 | 7.80 | A+ |
| M. MichkovR | 18:16 | 1-0 | 3 | 0.51 | 61 | 0/0 | 1.35 | 4.42 | A+ |
| J. LuchankoC | 10:18 | 0-1 | 1 | 0.30 | 82 | 0/1 | 1.04 | 6.06 | A |
| N. AcciariC | 14:32 | 0-0 | 2 | 1.20 | 70 | 0/0 | 1.05 | 4.33 | A |
| P. MartoneR | 16:13 | 0-1 | 1 | 0.16 | 63 | 0/0 | 0.99 | 3.65 | A |
| R. RistolainenD | 24:06 | 0-0 | 2 | 0.07 | 77 | 0/0 | 1.01 | 2.53 | A |
| T. SanheimD | 26:47 | 0-0 | 1 | 0.12 | 72 | 0/0 | 0.91 | 2.04 | A |
| C. DvorakC | 16:27 | 0-0 | 3 | 0.52 | 62 | 0/0 | 0.75 | 2.75 | B |
| S. BenoitD | 17:16 | 0-0 | 4 | 0.08 | 69 | 1/1 | 0.70 | 2.44 | B |
| H. GransD | 1:29 | 0-1 | 2 | 0.07 | 100 | 0/0 | 0.83 | — | B |
| S. CouturierC | 16:50 | 0-0 | 0 | 0.00 | 72 | 1/0 | 0.60 | 2.14 | B |
| C. YorkD | 24:23 | 0-0 | 1 | 0.04 | 55 | 0/0 | 0.51 | 1.26 | B |
| T. ZegrasC | 18:30 | 0-0 | 0 | 0.68 | 65 | 0/1 | 0.46 | 1.48 | B |
| J. DrysdaleD | 22:34 | 0-0 | 2 | 0.10 | 56 | 0/0 | 0.38 | 1.01 | B |
| N. GrebenkinR | 12:40 | 0-0 | 0 | 0.00 | 63 | 0/0 | 0.29 | 1.40 | C |
| T. FoersterR | 17:11 | 0-0 | 2 | 0.15 | 57 | 0/0 | 0.29 | 1.00 | C |
| T. KonecnyR | 15:06 | 0-0 | 0 | 0.00 | 51 | 1/0 | 0.17 | 0.69 | C |
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, BOS: H. Lindholm, C. Clifton, E. Lindholm, N. Zadorov, D. Pastrnak, P. Zacha and 47 more. Scratched, PHI: G. Wilson, N. Seeler, D. Vladar, M. Tomek, C. Grundstrom, O. Tippett and 26 more. Referees Jon McIsaac and Alex Lepkowski; linesmen Tommy Hughes and Dan Kelly.
BOS Created 2.62 xG against a ~2.70 league-average game; 3 high-danger shots (0.61 xG) and 28 rush shots (1.96 xG).
PHI Created 5.00 xG against a ~2.70 league-average game; 7 high-danger shots (2.62 xG) and 23 rush shots (3.42 xG).
BOS Allowed 5.00 xG against a ~2.70 league-average game; conceded 7 high-danger shots (2.62 xG) and 23 rush shots (3.42 xG).
PHI Allowed 2.62 xG against a ~2.70 league-average game; conceded 3 high-danger shots (0.61 xG) and 28 rush shots (1.96 xG).
BOS Rush shots 28–23, rush xG 1.96–3.42 (rush-based; public data has no zone entries).
PHI Rush shots 23–28, rush xG 3.42–1.96 (rush-based; public data has no zone entries).
BOS 0-for-3 on the power play (0%; league ≈21%) with 0.42 PP xG.
PHI 0-for-2 on the power play (0%; league ≈21%) with 0.19 PP xG.
BOS +3.00 goals saved above expected on 28 shots against.
PHI +2.62 goals saved above expected on 28 shots against.
BOS Took 3 penalties for 9 PIM vs 4 for 11 on the other side.
PHI Took 4 penalties for 11 PIM vs 3 for 9 on the other side.
Grades bounces, not skill — C is neutral
BOS Finishing -2.62 goals vs xG plus +3.00 GSAx of save luck = +0.38 total. This grades luck, not skill — C is neutral, A is very lucky.
PHI Finishing -3.00 goals vs xG plus +2.62 GSAx of save luck = -0.38 total. This grades luck, not skill — C is neutral, A is very lucky.
M. DiPietro stopped 26 of 28 (0.929) — +3.00 goals saved above expected in a 2-goal game.
J. Woll stopped 28 of 28 (1.000) — +2.62 goals saved above expected in a 2-goal game.
Gave up 23 rush shots worth 3.42 xG (1 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.
Scored 2 on 5.00 xG — -3.00 vs expected. The looks were there; the finish will come back.
1 goals on 23 rush shots worth 3.42 xG.
Scored 0 on 2.62 xG — -2.62 vs expected. The looks were there; the finish will come back.
Each club shoots toward its own end — BOS left, PHI 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.