Anaheim DucksANA 2–4 Final Edmonton OilersEDM

Saturday, March 28, 2026

Final 1st2nd3rd T SOG
Anaheim DucksANA 002 2 33
Edmonton OilersEDM 013 4 34
Playoff odds, % Change
EDM +3.4
ANA -0.0
NSH -0.9
LAK -0.9
SEA -0.5

How the result moved each team's playoff odds, calculated Mar 28, 2026 2:42 PM EDT.

Highlights

Scoring

1st Period
No scoring
2nd Period
7:36 EDM Connor McDavid (42) Max Jones (2), Evan Bouchard (65) · backhand xG 0.15 0–1 ▶
3rd Period
4:59 EDM Jack Roslovic (20) Zach Hyman (19), Evan Bouchard (66) · wrist xG 0.08 0–2 ▶
6:10 EDM Matt Savoie (14) Vasily Podkolzin (17), Connor McDavid (81) · tip-in xG 0.08 0–3 ▶
6:53 ANA Beckett Sennecke (22) John Carlson (43), Jackson LaCombe (42) · tip-in xG 0.09 1–3 ▶
9:41 ANA Cutter Gauthier (37) Jeffrey Viel (6), John Carlson (44) · snap xG 0.14 2–3 ▶
19:43 EDM Zach Hyman (31)EN Connor McDavid (82), Connor Murphy (10) · wrist xG 0.93 2–4 ▶

Score away–home after each goal; season totals in parentheses.

Shot quality

Expected goals (xG) rate every unblocked shot by how often shots like it go in, from where it was taken, the shot type, the strength and what happened just before it. How it works

ANA 52%Deserve to win48% EDM
ANAEDM
3.42Expected goals4.24
2Goals (no shootout)4
2.86Expected goals, 5 on 52.07
68Shot attempts63
48Unblocked attempts47
33Shots on goal34

Game notes

What stood out as the game went on, from the play-by-play and the shifts. Time on the bench is counted in 5-on-5 play outside the penalty box; the note says the player sat, not why. Goals saved are against the shots' expected goals (xG).

2nd Period
6:27 ANA Goalie Goalie · Dostal +2.0 goals saved
0 goals on 2.01 xG, 21 shots on goal
20:00 ANA No shift No shift · Vatrano, 12:18 on the bench
No shift from 7:36 of the 2nd to 2:13 of the 3rd; 5 shifts (4:41) before that
3rd Period
5:54 EDM Goalie Goalie · Ingram +2.3 goals saved
0 goals on 2.32 xG, 18 shots on goal
11:00 ANA xG swing xG swing · Out-chanced EDM 1.38–0.22
In xG over 10 minutes, 2:10 to 12:10 of the 3rd; goals 2–2
17:00 ANA No shift No shift · Moore, 11:08 on the bench
No shift from 4:21 to 19:43 of the 3rd; 15 shifts (10:53) before that
17:57 ANA Pulled goalie Pulled goalie · Pulled Dostal, down 3–2
With 2:03 left; EDM scored at 19:43 of the 3rd (2–4)

Shot map

ANA shoots ←Bigger circle: higher xG; filled: goal→ EDM shoots
Frank Vatrano: wrist, 25 ft, xG 0.03 (P1 2:21) Drew Helleson: slap, 65 ft, xG 0.02 (P1 2:28) Curtis Lazar: backhand, 9 ft, xG 0.13 (P1 2:59) Connor McDavid: wrist, 30 ft, xG 0.02 (P1 3:26) Vasily Podkolzin: tip-in, 21 ft, xG 0.09 (P1 3:55) Vasily Podkolzin: tip-in, 21 ft, xG 0.09 (P1 5:06) Jeffrey Viel: wrist, 46 ft, xG 0.01 (P1 5:53) Connor Murphy: wrist, 163 ft, xG 0.00 (P1 6:04) Connor McDavid: wrist, 38 ft, xG 0.06 (P1 6:57) Evan Bouchard: slap, 48 ft, xG 0.04 (P1 7:04) Jake Walman: wrist, 60 ft, xG 0.00 (P1 7:08) Jacob Trouba: wrist, 64 ft, xG 0.01 (P1 7:19) Jeffrey Viel: tip-in, 14 ft, xG 0.06 (P1 7:42) Tim Washe: tip-in, 14 ft, xG 0.08 (P1 8:07) Olen Zellweger: wrist, 59 ft, xG 0.01 (P1 8:11) Jack Roslovic: wrist, 52 ft, xG 0.00 (P1 11:05) Ian Moore: wrist, 53 ft, xG 0.02 (P1 11:48) Matt Savoie: backhand, 26 ft, xG 0.01 (P1 12:18) Troy Terry: deflected, 59 ft, xG 0.01 (P1 12:24) Jason Dickinson: wrist, 18 ft, xG 0.17 (P1 13:15) Beckett Sennecke: wrist, 60 ft, xG 0.01 (P1 13:53) Mattias Ekholm: slap, 57 ft, xG 0.02 (P1 15:29) Max Jones: wrist, 14 ft, xG 0.12 (P1 15:31) Darnell Nurse: wrist, 46 ft, xG 0.01 (P1 15:58) John Carlson: wrist, 37 ft, xG 0.05 (P1 16:11) Tim Washe: tip-in, 19 ft, xG 0.05 (P1 16:37) Evan Bouchard: wrist, 6 ft, xG 0.24 (P1 17:43) Jeffrey Viel: deflected, 7 ft, xG 0.16 (P1 18:17) Josh Samanski: wrist, 28 ft, xG 0.07 (P1 18:56) Vasily Podkolzin: tip-in, 7 ft, xG 0.10 (P1 19:39) Ryan Poehling: backhand, 7 ft, xG 0.16 (P1 19:58) Connor McDavid: wrist, 8 ft, xG 0.16 (P2 0:34) Matt Savoie: wrist, 33 ft, xG 0.06 (P2 1:12) Evan Bouchard: slap, 49 ft, xG 0.05 (P2 1:32) Ryan Nugent-Hopkins: wrist, 12 ft, xG 0.09 (P2 2:05) Jack Roslovic: wrist, 6 ft, xG 0.09 (P2 2:41) Adam Henrique: tip-in, 28 ft, xG 0.06 (P2 2:50) Jason Dickinson: tip-in, 18 ft, xG 0.07 (P2 3:12) Josh Samanski: tip-in, 30 ft, xG 0.01 (P2 3:15) Troy Terry: wrist, 36 ft, xG 0.05 (P2 4:25) Chris Kreider: slap, 29 ft, xG 0.13 (P2 4:35) Kasperi Kapanen: slap, 59 ft, xG 0.01 (P2 5:22) Cutter Gauthier: slap, 23 ft, xG 0.06 (P2 5:53) Zach Hyman: backhand, 8 ft, xG 0.11 (P2 6:06) Jackson LaCombe: wrist, 6 ft, xG 0.25 (P2 6:18) Zach Hyman: wrist, 12 ft, xG 0.13 (P2 6:27) Connor McDavid: wrist, 45 ft, xG 0.04 (P2 7:01) Evan Bouchard: slap, 48 ft, xG 0.04 (P2 7:32) Cutter Gauthier: slap, 40 ft, xG 0.09 (P2 10:00) Cutter Gauthier: wrist, 8 ft, xG 0.04 (P2 10:22) Leo Carlsson: backhand, 4 ft, xG 0.32 (P2 10:35) Ian Moore: slap, 48 ft, xG 0.02 (P2 10:46) Matt Savoie: slap, 13 ft, xG 0.14 (P2 11:45) Cutter Gauthier: wrist, 29 ft, xG 0.08 (P2 12:40) Max Jones: wrist, 52 ft, xG 0.01 (P2 13:31) Leo Carlsson: slap, 37 ft, xG 0.09 (P2 15:12) Ryan Nugent-Hopkins: wrist, 21 ft, xG 0.16 (P2 15:26) Ryan Nugent-Hopkins: bat, 7 ft, xG 0.06 (P2 15:27) Leo Carlsson: wrist, 39 ft, xG 0.02 (P2 18:16) Cutter Gauthier: wrist, 43 ft, xG 0.01 (P2 19:53) Matt Savoie: snap, 16 ft, xG 0.10 (P3 0:41) Jake Walman: wrist, 34 ft, xG 0.08 (P3 1:37) Connor McDavid: backhand, 24 ft, xG 0.03 (P3 3:48) Jackson LaCombe: wrist, 41 ft, xG 0.03 (P3 4:48) Jackson LaCombe: wrist, 26 ft, xG 0.01 (P3 5:51) Tim Washe: wrist, 4 ft, xG 0.45 (P3 5:54) Darnell Nurse: snap, 44 ft, xG 0.02 (P3 6:30) Alex Killorn: tip-in, 9 ft, xG 0.01 (P3 6:45) John Carlson: backhand, 23 ft, xG 0.01 (P3 7:13) Cutter Gauthier: slap, 31 ft, xG 0.10 (P3 7:24) Jeffrey Viel: tip-in, 8 ft, xG 0.09 (P3 7:30) Mikael Granlund: bat, 8 ft, xG 0.11 (P3 8:04) Evan Bouchard: wrist, 155 ft, xG 0.00 (P3 8:37) Jackson LaCombe: wrist, 45 ft, xG 0.03 (P3 9:09) Olen Zellweger: wrist, 36 ft, xG 0.01 (P3 9:13) Cutter Gauthier: slap, 59 ft, xG 0.02 (P3 9:31) John Carlson: wrist, 59 ft, xG 0.01 (P3 9:37) Alex Killorn: deflected, 6 ft, xG 0.17 (P3 10:24) Troy Terry: wrist, 30 ft, xG 0.04 (P3 10:55) Chris Kreider: slap, 29 ft, xG 0.05 (P3 12:03) Jacob Trouba: wrist, 57 ft, xG 0.00 (P3 12:08) Zach Hyman: slap, 17 ft, xG 0.14 (P3 13:13) Evan Bouchard: snap, 31 ft, xG 0.12 (P3 14:01) Jack Roslovic: wrist, 42 ft, xG 0.03 (P3 14:09) Ryan Nugent-Hopkins: snap, 40 ft, xG 0.01 (P3 16:45) John Carlson: slap, 51 ft, xG 0.05 (P3 18:31) John Carlson: wrist, 41 ft, xG 0.05 (P3 18:50) John Carlson: wrist, 48 ft, xG 0.04 (P3 18:55) Cutter Gauthier: slap, 37 ft, xG 0.06 (P3 19:08) Connor McDavid: GOAL, backhand, 9 ft, xG 0.15 (P2 7:36) Jack Roslovic: GOAL, wrist, 17 ft, xG 0.08 (P3 4:59) Matt Savoie: GOAL, tip-in, 9 ft, xG 0.08 (P3 6:10) Beckett Sennecke: GOAL, tip-in, 9 ft, xG 0.09 (P3 6:53) Cutter Gauthier: GOAL, snap, 15 ft, xG 0.14 (P3 9:41) Zach Hyman: GOAL, wrist, 12 ft, xG 0.93 (P3 19:43)
About these numbers

xG comes from hockeystats.io's own model, a gradient-boosted tree model trained on every unblocked shot from the 2021-22 to 2025-26 regular seasons using the NHL's public play-by-play. Each shot's value is the share of similar shots that became goals. A team's xG is the sum over its shots; "deserve to win" asks how often the team would outscore its opponent if every shot went in at exactly that rate. Blocked shots count as attempts but have no xG (the NHL records where they were blocked, not where they were taken), so the map leaves them out.

Box score

Anaheim Ducks

Skater GAP+/− AttxG HitBlkTOI
Forwards
64 Mikael Granlund 000 +1 10.11 0121:15
91 Leo Carlsson 000 -2 30.44 0018:22
17 Alex Killorn 000 +1 30.18 2018:20
22 Chris Kreider 000 -3 30.19 4017:49
19 Troy Terry 000 -2 40.11 0017:17
25 Ryan Poehling 000 +1 20.16 1315:24
45 Beckett Sennecke 101 +1 50.10 2015:20
61 Cutter Gauthier 101 0 110.60 0015:02
25 Jeffrey Viel 011 +1 40.31 1014:21
42 Tim Washe 000 -2 30.58 0013:51
83 Mason McTavish 000 -1 10.00 1008:52
77 Frank Vatrano 000 -2 30.03 0006:00
Defense
74 John Carlson 022 -1 90.21 1628:07
2 Jackson LaCombe 011 -1 50.31 1125:20
65 Jacob Trouba 000 -1 20.01 2121:17
8 Olen Zellweger 000 0 50.02 0115:04
14 Drew Helleson 000 0 10.02 0212:55
3 Ian Moore 000 -1 30.04 0011:10
Goalie SAGA SVSV% xGA GSAx
Lukas Dostal 33330 .909 3.31 +0.31

Edmonton Oilers

Skater GAP+/− AttxG HitBlkTOI
Forwards
97 Connor McDavid 123 +2 70.46 0022:29
22 Matt Savoie 101 +1 60.40 0022:29
93 Ryan Nugent-Hopkins 000 +2 40.32 0017:52
18 Zach Hyman 112 +2 41.30 3017:45
92 Vasily Podkolzin 011 +1 70.27 4216:52
19 Adam Henrique 000 0 10.06 1214:54
16 Jason Dickinson 000 -2 30.25 1114:05
96 Jack Roslovic 101 +1 40.20 1111:20
81 Josh Samanski 000 -1 20.08 1311:17
42 Kasperi Kapanen 000 -1 10.01 2110:46
46 Max Jones 011 +1 20.13 1010:06
20 Curtis Lazar 000 0 10.13 2009:10
Defense
2 Evan Bouchard 022 +1 80.49 0226:18
25 Darnell Nurse 000 +1 40.03 3222:59
5 Connor Murphy 011 +1 10.00 0121:06
14 Mattias Ekholm 000 +1 10.02 1020:07
96 Jake Walman 000 0 40.09 0213:56
49 Ty Emberson 000 0 30.00 2110:29
Goalie SAGA SVSV% xGA GSAx
Connor Ingram 33231 .939 3.42 +1.42

Skaters by time on ice. Goalie lines count shots with the goalie in net, from the NHL play-by-play.

Player ratings

What each player added to the result, in goals, from most to least. Hover a number for what it's made of.

Anaheim Ducks

Player Rating Points Shots On ice Pen FO Other GSAx TOI
74 John Carlson D +3.00 +1.25 +0.14 +1.33 0.00 0.00 +0.28 — 28:07
61 Cutter Gauthier L +2.30 +0.75 +0.39 +1.12 0.00 +0.02 +0.02 — 15:02
28 Jeffrey Viel L +2.07 +0.70 +0.20 +1.32 -0.15 -0.01 0.00 — 14:21
2 Jackson LaCombe D +2.05 +0.55 +0.20 +1.22 0.00 0.00 +0.07 — 25:20
45 Beckett Sennecke R +1.08 +0.75 +0.07 +0.28 0.00 0.00 -0.02 — 15:20
91 Leo Carlsson C +0.80 0.00 +0.29 +0.26 +0.30 -0.03 -0.02 — 18:22
64 Mikael Granlund C +0.52 0.00 +0.07 +0.24 +0.15 +0.03 +0.03 — 21:15
25 Ryan Poehling C +0.47 0.00 +0.10 +0.29 -0.15 +0.08 +0.15 — 15:24
17 Alex Killorn L +0.41 0.00 +0.12 +0.29 0.00 0.00 0.00 — 18:20
1 Lukas Dostal G +0.31 0.00 — — 0.00 — — +0.31 58:14
3 Ian Moore D +0.17 0.00 +0.03 +0.12 0.00 0.00 +0.02 — 11:10
42 Tim Washe C +0.12 0.00 +0.38 -0.29 0.00 +0.04 0.00 — 13:51
65 Jacob Trouba D -0.01 0.00 +0.01 -0.07 0.00 0.00 +0.05 — 21:17
23 Mason McTavish C -0.02 0.00 0.00 -0.02 0.00 0.00 0.00 — 8:52
77 Frank Vatrano R -0.04 0.00 +0.02 -0.07 0.00 0.00 +0.02 — 6:00
19 Troy Terry R -0.26 0.00 +0.07 -0.32 0.00 -0.01 0.00 — 17:17
14 Drew Helleson D -0.50 0.00 +0.01 -0.57 0.00 0.00 +0.06 — 12:55
51 Olen Zellweger D -0.72 0.00 +0.02 -0.63 -0.15 0.00 +0.05 — 15:04
20 Chris Kreider L -0.84 0.00 +0.12 -0.91 0.00 -0.01 -0.04 — 17:49

Edmonton Oilers

Player Rating Points Shots On ice Pen FO Other GSAx TOI
97 Connor McDavid C +2.42 +2.00 +0.30 +0.19 0.00 -0.02 -0.04 — 22:29
2 Evan Bouchard D +1.83 +1.10 +0.32 +0.18 +0.15 0.00 +0.08 — 26:18
18 Zach Hyman L +1.81 +1.45 +0.85 -0.62 +0.15 0.00 -0.02 — 17:45
92 Vasily Podkolzin R +1.44 +0.70 +0.18 +0.48 0.00 0.00 +0.08 — 16:52
39 Connor Ingram G +1.42 0.00 — — 0.00 — — +1.42 60:00
22 Matt Savoie C +1.21 +0.75 +0.26 +0.24 0.00 -0.02 -0.02 — 22:29
46 Max Jones L +0.98 +0.70 +0.08 +0.19 0.00 0.00 0.00 — 10:06
28 Jack Roslovic C +0.65 +0.75 +0.13 -0.26 0.00 0.00 +0.03 — 11:20
5 Connor Murphy D +0.42 +0.55 0.00 -0.16 0.00 0.00 +0.03 — 21:06
14 Mattias Ekholm D +0.41 0.00 +0.02 +0.43 0.00 0.00 -0.04 — 20:07
25 Darnell Nurse D 0.00 0.00 +0.02 -0.10 0.00 0.00 +0.08 — 22:59
19 Adam Henrique C -0.15 0.00 +0.04 -0.24 0.00 -0.04 +0.10 — 14:54
93 Ryan Nugent-Hopkins C -0.21 0.00 +0.21 -0.39 0.00 -0.03 0.00 — 17:52
81 Josh Samanski C -0.22 0.00 +0.05 -0.39 0.00 -0.01 +0.13 — 11:17
20 Curtis Lazar C -0.31 0.00 +0.08 -0.39 0.00 +0.01 -0.02 — 9:10
16 Jason Dickinson C -0.43 0.00 +0.16 -0.64 0.00 0.00 +0.05 — 14:05
42 Kasperi Kapanen R -0.58 0.00 +0.01 -0.32 -0.30 0.00 +0.03 — 10:46
96 Jake Walman D -0.76 0.00 +0.06 -0.89 0.00 0.00 +0.08 — 13:56
49 Ty Emberson D -0.82 0.00 0.00 -0.89 0.00 0.00 +0.07 — 10:29

An expected-goals take on Dom Luszczyszyn's Game Score: goals and assists, the quality of a player's own shots, shot quality for and against while they were on the ice at 5v5, penalties, faceoffs and puck plays, all in goals; goalies by goals saved above expected. From the NHL play-by-play and shift charts.