← Methodology

Skill vs. luck decomposition

Splitting a skater's 5v5 results into what they drive (skill) and what's riding on teammates and goaltending (luck) - a descriptive decomposition, validated year over year, that grounds the buy-low / sell-high read.

Four components

At 5v5 we break a player's on-ice production into four parts: chance creation (their own expected goals per 60), own finishing (their goals versus their own expected goals), teammate finishing (how well linemates converted while they were on the ice), and goalie luck (how their goaltenders did versus expectation behind them). The first two are things the player largely controls; the last two are things that happen around them.

How skill and luck are combined

The luck score is teammate finishing plus goalie luck - effects that reliably wash out over time. The skill score adds chance creation and own finishing, but as within-season standardized scores rather than raw numbers, because a per-60 rate and a goals count live on different scales and summing them raw lets one drown the other out. Each season's expected goals are also re-calibrated to that season's actual scoring, so luck stays an approximately zero-sum quantity across the league rather than absorbing an era-specific bias.

Does it hold up?

Tested year over year across the shift-data era, the pieces behave exactly as the split predicts. The things a player controls carry forward; the things riding on others don't. Chance creation is the anchor - a player who generated dangerous looks last season overwhelmingly does so again this season. Own finishing is far streakier, which is why it earns less weight. And the two luck pieces barely repeat at all, which is the whole point of calling them luck.

ComponentSeason-to-season stabilityReads as
Chance creation0.910Skill
Own finishing0.182Skill (streaky)
Teammate finishing0.143Luck
Goalie luck0.062Luck

Standardizing the two skill pieces before summing them is not cosmetic: it lifts the combined skill score's year-to-year stability from 0.196 (raw sum) to 0.575 (standardized), while the luck score sits at 0.081 - close to noise, exactly where it should be. The stability numbers above are measured on 6,457 pairs of consecutive qualifying player-seasons (at least 500 5v5 minutes in both years).

The split also earns its keep looking forward. The skill score correlates +0.565 with a player's next-season 5v5 goals and +0.468 with next-season points; the luck score correlates +0.028 with next-season goals - essentially zero. When both are put in the same forecast, skill does nearly all the work and luck contributes almost nothing. That is the honest version of the claim: skill predicts, luck doesn't.

Read it directionally: a player riding high luck with ordinary underlying skill is a regression-down (sell-high) candidate; strong skill masked by bad luck is a buy-low. Honest limits: this is a descriptive, backward-looking decomposition, not a betting model - luck is 'approximately' zero-sum (it nets to near zero league-wide, up to small shift-boundary noise, not exactly zero), and goalie luck in particular is intrinsically noisy season to season. It covers 14,119 player-seasons across the shift-data era, 2010-11 through 2025-26.

Validation figures reflect the data through 2025-26 and are recomputed each season. Head-to-head benchmark tests (log-loss, AUC, bootstrap intervals) are dated snapshots of a specific held-out season, labeled where they appear.