L. Ullmark stole it
L. Ullmark stopped 28 of 29 (0.966) — +2.09 goals saved above expected in a 1-goal game.

The Senators won 2-1, but the underlying metrics said the Flyers created the better chances. L. Ullmark saved the game in the process.
N. Cousins opened it at 10:14 of the first, tipping in from six feet on the rush, with Kleven and Foegele assisting. M. Michkov answered with a power-play rebound at 07:46 of the second, knotting it 1–1. C. Yakemchuk's power-play slap shot from 52 feet at 13:01 of the third — a 4% chance — beat J. Woll to decide it, with Giroux and Pinto assisting.
The Flyers' expected goals (3.09) exceeded Ottawa's (2.81). Philadelphia's 26 rush shot attempts, worth 2.50 expected goals, produced only one goal. Ullmark saved 2.09 goals above what her workload should have allowed. Ottawa's transition advantage (B+ to Philadelphia's D) proved decisive: the Senators converted their power plays and finished 2 of 5 high-danger chances while the Flyers managed 1 of 5. J. Woll was sharp (0.923 save percentage, +0.81 above expected), but Ullmark's net decided this one.
Three Stars
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.
Senators hold off the Flyers
Dead even on chances. The Senators took it anyway.
The board read PHI 1, OTT 2. The chances read PHI 3.1, OTT 2.8.
The Flyers left 2.1 goals on the table against what their chances were worth.
C. Yakemchuk makes it 1–2.
High-danger looks: PHI 1 of 5, OTT 0 of 5.
Senators hold off the Flyers
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 breakdownTip-in from 6 feet, an 8% chance, a shot that rarely goes in (off the rush), past J. Woll. 8s after a PHI faceoff win by N. Acciari. Win probability moved 15 points.On the ice: N. Cousins, D. Batherson, T. Stützle, N. Matinpalo, H. Stanley · against T. Sanheim, T. Foerster, D. Jiricek, D. Barkey, M. Michkov
Backhander from 1 feet, a 32% chance (a rebound), past L. Ullmark. 2s after a PHI shot by T. Zegras. Win probability moved 20 points.On the ice: T. Sanheim, M. Bunting, N. Acciari, N. Cates, J. Drysdale · against N. Cousins, W. Foegele, S. Halliday, N. Matinpalo, H. Stanley
Slap shot from 52 feet, a 5% chance, a shot that rarely goes in, past J. Woll. Win probability moved 34 points.On the ice: W. Foegele, M. Amadio, S. Pinto, J. Spence, T. Kleven · against C. Dvorak, O. Tippett, T. Zegras, C. York, J. Drysdale
score reads PHI–OTT
PHI went 0-for-13 from medium danger on 1.46 expected goals — 1.5 left on the table.
PHI finished -2.1 against expected, OTT -0.8.
Wrist shots carried the volume: PHI went 0-for-21, OTT 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: N. Cousins (OTT), 11:13 of ice, 1-0, 47% of the expected goals while he was out.
| Skater | TOI | G-A | SOG | ixG | xG% | PD/PT | Impact | /60 | Grade |
|---|---|---|---|---|---|---|---|---|---|
| T. ZegrasC | 19:25 | 0-1 | 3 | 0.17 | 59 | 0/0 | 1.15 | 3.54 | A+ |
| T. KonecnyR | 17:04 | 0-1 | 2 | 0.29 | 61 | 0/0 | 1.05 | 3.68 | A+ |
| J. DrysdaleD | 23:15 | 0-0 | 3 | 0.20 | 72 | 1/0 | 1.05 | 2.72 | A |
| O. TippettR | 17:21 | 0-0 | 4 | 0.51 | 76 | 0/0 | 0.79 | 2.72 | B |
| M. MichkovR | 15:20 | 1-0 | 1 | 0.32 | 44 | 0/1 | 0.70 | 2.74 | B |
| T. FoersterR | 16:33 | 0-0 | 3 | 0.33 | 44 | 2/0 | 0.55 | 1.99 | B |
| S. CouturierC | 17:11 | 0-0 | 4 | 0.51 | 50 | 0/0 | 0.44 | 1.55 | B |
| N. CatesL | 11:50 | 0-0 | 1 | 0.21 | 55 | 0/0 | 0.32 | 1.62 | C |
| C. DvorakC | 16:02 | 0-0 | 0 | 0.01 | 69 | 0/0 | 0.21 | 0.78 | C |
| P. MartoneR | 12:24 | 0-0 | 0 | 0.00 | 61 | 0/0 | 0.17 | 0.80 | C |
| D.JiricekD | 18:25 | 0-0 | 2 | 0.04 | 49 | 0/0 | 0.19 | 0.62 | C |
| D. BarkeyC | 11:50 | 0-0 | 0 | 0.00 | 68 | 0/0 | 0.12 | 0.58 | D |
| T. SanheimD | 22:42 | 0-0 | 1 | 0.12 | 57 | 0/2 | 0.12 | 0.32 | D |
| N. SeelerD | 16:53 | 0-0 | 1 | 0.05 | 46 | 0/0 | 0.06 | 0.21 | D |
| M. BuntingL | 10:56 | 0-0 | 2 | 0.14 | 50 | 0/1 | 0.04 | 0.21 | D |
| C. YorkD | 18:17 | 0-0 | 2 | 0.19 | 23 | 0/0 | -0.16 | -0.53 | F |
| S. BenoitD | 13:56 | 0-0 | 0 | 0.00 | 41 | 0/1 | -0.20 | -0.86 | F |
| N. AcciariC | 12:29 | 0-0 | 0 | 0.00 | 38 | 0/0 | -0.20 | -0.98 | F |
| Skater | TOI | G-A | SOG | ixG | xG% | PD/PT | Impact | /60 | Grade |
|---|---|---|---|---|---|---|---|---|---|
| N. CousinsC | 11:13 | 1-0 | 2 | 0.08 | 47 | 1/0 | 1.10 | 5.91 | A+ |
| C. GirouxR | 19:43 | 0-1 | 1 | 0.20 | 53 | 1/0 | 1.07 | 3.25 | A |
| S. PintoC | 22:50 | 0-1 | 2 | 0.55 | 53 | 0/0 | 1.07 | 2.82 | A |
| C. YakemchukD | 14:45 | 1-0 | 2 | 0.09 | 46 | 0/0 | 0.88 | 3.57 | A |
| T. ChabotD | 29:19 | 0-0 | 4 | 0.22 | 59 | 1/0 | 1.00 | 2.06 | A |
| W. FoegeleL | 11:56 | 0-1 | 1 | 0.21 | 34 | 0/0 | 0.60 | 3.03 | B |
| M. AmadioR | 17:28 | 0-0 | 3 | 0.41 | 60 | 0/0 | 0.54 | 1.84 | B |
| F. ZetterlundL | 13:13 | 0-0 | 3 | 0.37 | 52 | 0/0 | 0.38 | 1.73 | B |
| T. StützleC | 20:14 | 0-0 | 0 | 0.00 | 60 | 1/0 | 0.31 | 0.92 | C |
| T. KlevenD | 18:29 | 0-1 | 0 | 0.01 | 30 | 0/1 | 0.27 | 0.89 | C |
| D. BathersonR | 16:07 | 0-0 | 3 | 0.20 | 58 | 0/1 | 0.23 | 0.84 | C |
| R. GreigC | 18:50 | 0-0 | 3 | 0.12 | 38 | 1/0 | 0.17 | 0.55 | C |
| J. SpenceD | 20:44 | 0-0 | 0 | 0.00 | 56 | 0/1 | 0.17 | 0.49 | D |
| W. EklundL | 1:24 | 0-0 | 0 | 0.00 | 0 | 0/0 | -0.01 | — | D |
| D. CozensC | 17:47 | 0-0 | 1 | 0.15 | 47 | 0/1 | -0.02 | -0.06 | D |
| S. HallidayC | 11:43 | 0-0 | 1 | 0.19 | 32 | 0/0 | -0.03 | -0.17 | D |
| H. StanleyD | 10:21 | 0-0 | 0 | 0.00 | 37 | 0/0 | -0.04 | -0.26 | F |
| N. MatinpaloD | 17:12 | 0-0 | 0 | 0.02 | 20 | 0/0 | -0.39 | -1.34 | F |
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, PHI: G. Wilson, R. Ristolainen, C. Grundstrom. Scratched, OTT: H. Hodgson, C. Crotty, J. Sanderson. Referees Chris Rooney and Peter MacDougall; linesmen Scott Cherrey and Bevan Mills.
PHI Created 3.09 xG against a ~2.70 league-average game; 5 high-danger shots (1.09 xG) and 22 rush shots (1.51 xG).
OTT Created 2.81 xG against a ~2.70 league-average game; 5 high-danger shots (1.11 xG) and 26 rush shots (2.50 xG).
PHI Allowed 2.81 xG against a ~2.70 league-average game; conceded 5 high-danger shots (1.11 xG) and 26 rush shots (2.50 xG).
OTT Allowed 3.09 xG against a ~2.70 league-average game; conceded 5 high-danger shots (1.09 xG) and 22 rush shots (1.51 xG).
PHI Rush shots 22–26, rush xG 1.51–2.50 (rush-based; public data has no zone entries).
OTT Rush shots 26–22, rush xG 2.50–1.51 (rush-based; public data has no zone entries).
PHI 1-for-4 on the power play (25%; league ≈21%) with 0.73 PP xG.
OTT 1-for-5 on the power play (20%; league ≈21%) with 0.75 PP xG.
PHI +0.81 goals saved above expected on 26 shots against.
OTT +2.09 goals saved above expected on 29 shots against.
PHI Took 5 penalties for 10 PIM vs 4 for 8 on the other side.
OTT Took 4 penalties for 8 PIM vs 5 for 10 on the other side.
Grades bounces, not skill — C is neutral
PHI Finishing -2.09 goals vs xG plus +0.81 GSAx of save luck = -1.28 total. This grades luck, not skill — C is neutral, A is very lucky.
OTT Finishing -0.81 goals vs xG plus +2.09 GSAx of save luck = +1.28 total. This grades luck, not skill — C is neutral, A is very lucky.
L. Ullmark stopped 28 of 29 (0.966) — +2.09 goals saved above expected in a 1-goal game.
Gave up 26 rush shots worth 2.50 xG (1 goals) — transition gaps were there every period.
Tighten neutral-zone structure and keep D gaps closed on entries.
1 goals on 26 rush shots worth 2.50 xG.
Scored 1 on 3.09 xG — -2.09 vs expected. The looks were there; the finish will come back.
0-for-5 on high-danger chances worth 1.11 xG — that conversion rate won't stay at zero.
J. Woll stopped all 5 high-danger shots he faced (100% HD save rate).
Each club shoots toward its own end — PHI 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.