Forensic Hockey
The Forensic Files

Luck-Adjusted Standings

The standings if results matched the underlying play. We turn each team's expected goals into the points it should have, then measure who the table flatters and who it robs.

Every team's actual-vs-deserved table for the current season now lives on the league table, alongside the official and power views.

Open the Deserved lens →

The luckiest seasons ever

Most points above what their xG deserved.

Team-SeasonPtsxPtsLuckFinNetClose
TBL logoTBL2018-1912894+34.4+74+25+5.1
NSH logoNSH2017-1811786+31.1+25+46+1.9
BOS logoBOS2022-23135104+30.7+22+69+2.5
COL logoCOL2013-1411283+28.7+15+40+5.4
VAN logoVAN2010-1111791+26.3+17+61-1.6
VAN logoVAN2011-1211185+25.9+18+49+0.1
WSH logoWSH2017-1810580+25.3+32+22+4.5
MTL logoMTL2014-1511085+24.9+8+43+2.2
BOS logoBOS2025-2610075+24.9+56+15+0.3
NYR logoNYR2021-2211086+23.7+14+48+2.2
BUF logoBUF2025-2610986+23.2+64+2+1.3
WSH logoWSH2015-1612097+22.9+14+28+3.6

The unluckiest seasons ever

Most points below what their xG deserved.

Team-SeasonPtsxPtsLuckFinNetClose
SEA logoSEA2021-226092-31.7-15-54-2.2
COL logoCOL2016-174879-31.4-36-39+1.6
NJD logoNJD2021-226394-31.3+4-71-4.8
CBJ logoCBJ2011-126593-28.3-35-29-0.9
SJS logoSJS2022-236088-27.9-27-50-5.6
TOR logoTOR2015-166996-27.3-45-18-2.6
CAR logoCAR2014-157198-27.2-47-10-3.0
NSH logoNSH2024-256893-24.8-14-49-0.4
BUF logoBUF2017-186285-23.4-25-38-1.7
MTL logoMTL2017-187194-23.0-50-13-2.0
CAR logoCAR2017-1883106-22.9-31-41+0.1
DET logoDET2019-203962-22.6-38-31+1.9

Deserved champions - who got hot

A what-if: we re-simulate each real bracket 20,000 times by regular-season xG strength. No team is ever a lock - so a Cup won at low odds was a hot run, not a coronation. Monte-Carlo re-sim of the real bracket by regular-season xG strength (20k runs).

YearFavoriteActual championChamp oddsVerdict
2024-25FLA logoFLA16%FLA logoFLA16%Chalk
2023-24EDM logoEDM21%FLA logoFLA14%Upset
2022-23NJD logoNJD18%VGK logoVGK5%Stunner
2021-22CGY logoCGY15%COL logoCOL6%Stunner
2020-21COL logoCOL22%TBL logoTBL4%Stunner
2019-20VGK logoVGK22%TBL logoTBL5%Stunner
2018-19CAR logoCAR17%STL logoSTL10%Upset
2017-18MIN logoMIN12%WSH logoWSH1%Stunner
2016-17BOS logoBOS20%PIT logoPIT8%Upset
2015-16PIT logoPIT19%PIT logoPIT19%Chalk
2014-15NYI logoNYI20%CHI logoCHI6%Stunner
2013-14SJS logoSJS29%LAK logoLAK7%Stunner
2012-13SJS logoSJS11%CHI logoCHI8%Upset
2011-12SJS logoSJS18%LAK logoLAK6%Stunner
2010-11SJS logoSJS30%BOS logoBOS2%Stunner

Finishing in the playoffs - clutch or cold?

Does a shooter's finishing - burying chances above expected - hold up in the playoffs? Career regular-season finishing per 100 shots vs playoffs, the playoff rate regressed toward each player's own regular-season rate (finishing needs ~270 shots to trust, so a hot run doesn't qualify). Shooters with ≥150 career playoff shots on goal.

Clutch in the playoffs

ShooterRSPOΔ
D. BrièreCOL · 156 PO sh-0.36+2.33+2.70
C. KreiderANA · 268 PO sh+1.20+3.73+2.54
O. PalatNYI · 310 PO sh-0.31+2.05+2.36
J. GuentzelTBL · 240 PO sh+1.74+3.80+2.06
B. SeabrookCHI · 195 PO sh-0.41+1.61+2.02
S. BennettFLA · 298 PO sh-1.67+0.17+1.84
J. DeBruskVAN · 172 PO sh-0.23+1.56+1.79
L. CoutureSJS · 326 PO sh+1.75+3.51+1.76
M. StoneVGK · 241 PO sh+2.54+4.25+1.71
M. RiellyTOR · 161 PO sh-1.03+0.64+1.67
M. HeiskanenDAL · 224 PO sh-1.39+0.24+1.63
D. KeithEDM · 300 PO sh-1.32+0.18+1.50
V. NichushkinCOL · 200 PO sh-0.75+0.73+1.48
D. DoughtyLAK · 199 PO sh+0.12+1.59+1.47
A. LehkonenCOL · 196 PO sh-1.15+0.26+1.40
D. KrejciBOS · 279 PO sh+1.27+2.64+1.38
N. MacKinnonCOL · 488 PO sh+1.30+2.62+1.32
J. BoychukNYI · 230 PO sh-0.91+0.38+1.29
E. BouchardEDM · 220 PO sh+1.05+2.29+1.25
J. CarterPIT · 316 PO sh-0.06+1.11+1.16

Regular-season snipers who cool

ShooterRSPOΔ
T. SeguinDAL · 425 PO sh+1.55-1.73-3.29
A. MatthewsTOR · 282 PO sh+3.81+0.98-2.84
R. NashBOS · 287 PO sh+1.06-1.69-2.74
M. HossaCHI · 362 PO sh+0.56-1.94-2.50
V. FilppulaDET · 168 PO sh+2.68+0.65-2.02
A. BarkovFLA · 261 PO sh+2.51+0.50-2.01
J. MillerNYR · 155 PO sh+2.94+0.98-1.96
N. KucherovTBL · 482 PO sh+5.25+3.32-1.94
M. NecasCOL · 167 PO sh+3.62+1.83-1.79
C. PerryTBL · 421 PO sh+0.13-1.41-1.54
A. OvechkinWSH · 548 PO sh+4.07+2.55-1.51
C. KunitzCHI · 240 PO sh+0.85-0.60-1.45
C. SmithDET · 197 PO sh-1.26-2.67-1.41
M. ZibanejadNYR · 197 PO sh+3.48+2.13-1.35
V. ArvidssonBOS · 222 PO sh+1.11-0.21-1.33
J. ThorntonFLA · 210 PO sh+1.14-0.13-1.28
C. McAvoyBOS · 159 PO sh+0.69-0.57-1.26
D. OrlovSJS · 164 PO sh+0.09-1.16-1.25
J. BennDAL · 280 PO sh+1.04-0.20-1.24
S. CrosbyPIT · 401 PO sh+3.26+2.02-1.23

Looking for the power-play and penalty-kill forensics, or the special-teams faceoff men? They live on Special Teams.

How to read this.Expected points come from each team's xG goal differentialfed through the league's own points-to-goal-differential relationship (calibrated on every team-season, no magic numbers). +Luck = the table flatters them (they out-scored their chances and/or got bailed out in net - historically a regression signal); −Luck = better than their record, due to bounce back. The split: Fin = goals scored above expected, Net = team goals saved above expected (goaltending). Close is a separate lens - wins above or below what the goal differentialearned (the Pythagorean expectation, exponent fit on our own seasons). It captures close-game / shoot-out luck, runs independent of the xG luck on its left, and on our data doesn't carry over year to year. Regular season, 2010-11 to present.