The model’s best undrafted, still-eligible players heading into the 2026 draft (2024 and 2025 classes who remained draftable), shown at their draft-year evaluation. The 2026 draft is now complete — see the Pareto vs Draft tab for how the order actually fell.
How well the score identifies future NHLers (82+ NHL games) within each league, 2016–2021 draft classes. AUC is 0.5 at chance, 1.0 perfect. The calibrated model holds up alongside the full model.
| League group | Model | Players | AUC |
|---|---|---|---|
| CHL (OHL/WHL/QMJHL) | Full | 1,704 | 0.83 |
| USHL | Full | 457 | 0.84 |
| Europe (SHL / Liiga / KHL / Allsvenskan...) | Calibrated | 1,834 | 0.88 |
| NCAA (small sample) | Calibrated | 24 | 0.90 |
| All covered leagues | 5,660 | 0.88 |
NCAA's draft-year sample is small because most NCAA prospects are older (D+1/D+2); its validation strengthens as classes mature.
Correlation with NHL pts/game by model version, optimized on the recent-class validation set (20+ NHL GP, n ≈ 36).
Share of each league's draft-eligible skaters who reached 20+ NHL games (2016–2022 classes), and how much they produced if they made it.
Players carry one of two model treatments, shown by the Basic tag.
The full model runs on game-by-game play-by-play data, available for the CHL (OHL, WHL, QMJHL) and USHL. It measures primary-assist share, late-game and clutch production, first goals, shot volume, and faceoffs, and it is the version behind the validation numbers above.
The softer model covers leagues with no play-by-play feed (Liiga, SHL, KHL, NCAA, MHL, AHL and others). It uses box-score production only, expressed as the same share-of-team metric and run through the same position weights and age adjustment, then translated to a common scale by NHL-equivalency (a point in a tougher league is worth more). It does not see events, only totals, and it is not yet independently back-tested, so its placements are indicative and every such player is tagged Basic with Lower confidence.
When a player leaves for another league before his draft year (an NCAA or European departure with no covered draft-year season), his placement blends his last full-model junior season with a forecast of his draft-year level: 30% actual, 70% forecast. Players typically rise from their D-1 to their draft year, so the forecast leads and the junior season anchors it; tested on 734 players with both seasons, this 30/70 split lands them closest to where their real draft-year score would sit (weighting the junior season more heavily, as an earlier 70/30 did, placed them too low).
Three ways to read how the actual draft lined up with the model, using covered-league players. Each player’s Pareto rank is his position on the full blended class board (CHL + USHL + the European/NCAA leagues we cover) among drafted players, and his draft rank is where he was really taken among the same group. Order and value cover every drafted class (2016–2026); the steals tab needs NHL outcomes, so it only spans classes old enough to judge. Click a team to expand every covered pick they’ve made.
A small number of players account for an outsized share of what actually wins hockey games. That is the Pareto principle, the idea that a vital few drive most of the result, and it is the exact question this model answers.
Not who scored the most, but who individually drove the most. Every input below is a player's share of his own team's work, so the score measures personal impact rather than rewarding whoever played on the best line.
It starts simple and layers real complexity on top. The foundation is a player's share of his own team's offence, not raw points, so a stacked team or strong linemates can't inflate him.
Fewer points, bigger driver. But share alone isn't the model. Here is what is built on top of it:
The optimized full model correlates with NHL points-per-game at r = 0.61 on recent classes, and identifies future NHLers (82+ games) at AUC 0.83 to 0.88 depending on league. The broad 2016–21 backtest holds at r = 0.52 (n = 235) on the CHL/USHL core, and r = 0.48 (n = 336) with all leagues (NTDP, NCAA, Europe) included via the calibrated model; see Model & Validation for the full methodology.
High Master with low Safety is a boom-or-bust bet; a high Safety is the steadier pick even if the ceiling is lower. Safety rewards defensemen, who reach the NHL at draftable production roughly twice as often as forwards.
Green, high. League translates reliably to the NHL and the games sample is solid. Yellow, medium. Some projection risk: a smaller sample or a softer-translating league. Red, lower. More uncertainty, for example QMJHL or low-game players.
The dot rates how much to trust the projection, not how good the player is.
Basic Softer model: this league has no play-by-play, so the player is scored from box-score totals only, on a common scale.
D-1 Scored off last season, because he left for the NCAA or Europe and has no draft-year league we cover yet.
Forecast Projected forward to his likely draft-year level rather than measured.
Small sample His rank is set on a short stint, 10 to 24 games (often a late call-up). The number is real but thin, so read it with extra caution.
Upside He was strong in a lower league earlier the same season, then found a tougher league harder. His rank reflects the harder league; this flags the upside. Hover the chip to see the lower-league line.
A toggle switches how every player is scored. Pareto (the default) is the full blended model above, the validated ranking that uses play-by-play wherever it exists. Calibrated is a pure production lens: it strips everything back to projected NHL points at age 23 (production × the league's measured NHL exchange rate × remaining age growth), one consistent currency for every league and era. It can't see play-by-play, so it doesn't credit defence or role, but it puts a KHL skater and a CHL skater on the exact same scale.
Switching the toggle re-percentiles every player against the chosen lens, which is why the Master and Score numbers move. A player who grades well on play-by-play detail but is a modest raw producer sits higher in Pareto than in Calibrated; a pure point-producer does the reverse. Same players, two honest lenses.
This is unique to our model. Each league's value in NHL terms is not fixed by hand, it is re-measured from real player movement and it moves over time. A prospect is always modelled against what his league is worth now, so when a league strengthens or weakens, every projection from it moves with it.
These rates are refit from real player movement, not set by hand. The clearest correction is the NCAA: hand-set near 0.50, but measured near 0.20 once a player's own growth is no longer credited to the league.
League strengths and the age curve are fit jointly on 58,212 same-player season pairs (2016 to 2026, 21 leagues), anchored to the NHL through 851 AHL movers. Because the age curve absorbs the year-to-year development, the league weights come out age-decoupled, which is why junior and college rates land far below the old hand-set tables.
Production multiplier per year of development. Growth is steep early and flat by 25, so a strong 17-year-old isn't penalised against a 19-year-old at the same output.
Legacy is the old hand-set figure; the era columns are what the data says now, re-estimated in three-year windows (1.0 = NHL).
| League | Legacy (hand-set) | Calibrated | 2016-18 | 2019-21 | 2022-24 | 2025-26 | Cross-league movers |
|---|---|---|---|---|---|---|---|
| KHL | 0.52 | 0.517 | 0.518 | 0.53 | 0.51 | 0.493 | 1395 |
| SHL | 0.41 | 0.458 | 0.439 | 0.458 | 0.463 | 0.466 | 1369 |
| AHL | 0.42 | 0.454 | 0.459 | 0.455 | 0.448 | 0.446 | 3744 |
| NLA | 0.315 | 0.405 | 0.397 | 0.401 | 0.408 | 0.406 | 452 |
| LIIGA | 0.32 | 0.332 | 0.343 | 0.33 | 0.343 | 0.294 | 1093 |
| DEL | 0.38 | 0.316 | 0.339 | 0.31 | 0.314 | 0.303 | 512 |
| VHL | 0.32 | 0.259 | 0.249 | 0.263 | 0.254 | 0.263 | 1266 |
| ALLSVENSKAN | 0.35 | 0.235 | 0.253 | 0.234 | 0.224 | 0.228 | 812 |
| NCAA | 0.5 | 0.202 | 0.199 | 0.208 | 0.197 | 0.209 | 3073 |
| ECHL | 0.16 | 0.197 | 0.198 | 0.207 | 0.183 | 0.199 | 1715 |
| ELITESERIEN | 0.15 | 0.131 | too few movers for era splits | 210 | |||
| MESTIS | 0.12 | 0.119 | too few movers for era splits | 291 | |||
| OHL | 0.3 | 0.119 | 0.124 | 0.115 | 0.115 | 0.118 | 533 |
| USHL | 0.26 | 0.117 | 0.124 | 0.117 | 0.116 | 0.114 | 1647 |
| WHL | 0.29 | 0.114 | 0.117 | 0.114 | 0.11 | 0.111 | 677 |
| QMJHL | 0.28 | 0.108 | too few movers for era splits | 396 | |||
| MHL | 0.08 | 0.092 | 0.088 | 0.097 | 0.089 | 0.093 | 994 |
| J20 | — | 0.09 | too few movers for era splits | ||||
| BCHL | 0.1 | 0.07 | 0.067 | 0.066 | 0.074 | 0.069 | 1108 |
| NAHL | 0.08 | 0.06 | 0.066 | 0.064 | 0.057 | 0.052 | 1029 |
| AJHL | 0.08 | 0.05 | 0.049 | 0.049 | 0.052 | 0.042 | 513 |
Reading the eras: the KHL has weakened since 2022 (0.530 to 0.493, the import exodus), the SHL has strengthened steadily, Liiga has dipped recently, and the NCAA ticked up in 2025-26 as CHL players became eligible. Historical seasons are scored with the weight of their own era.
The model is checked against what prospects actually did in the NHL, three ways.
The walk-forward result matching the backtest is the important one: it means the model is not leaning on hindsight.
The chance the score ranks a future NHLer (82+ games) above a non-NHLer. 0.5 is a coin flip, 1.0 is perfect. 2016-21 draft classes.
| League group | Model | Players | AUC |
|---|---|---|---|
| CHL (OHL / WHL / QMJHL) | Full | 1,704 | 0.83 |
| USHL | Full | 457 | 0.84 |
| Europe (SHL / Liiga / KHL ...) | Calibrated | 1,834 | 0.88 |
| All covered leagues | 5,660 | 0.88 |
Correlation with NHL points-per-game by model version, on the recent-class validation set.
Every skater is tagged with an archetype describing their production style, what kind of player the numbers say they are. Forwards and defensemen use separate sets.
Elite Playmaker, elite even-strength offense built on a heavy primary-assist rate; a high-end setup man.
Pure Sniper / Goal Scorer, offense driven by goal volume and a dominant share of shots.
Offensive Engine, elite even-strength offense as the primary driver.
Power Forward, strong offense paired with a real physical edge.
Two-Way Forward, elite offense with genuine defensive impact.
Clutch Scorer, elite offense that shows up in late, high-leverage moments.
Playmaker / Middle-Six Scorer, reliable secondary scoring, assist- or shot-led.
Defensive Forward, defense-first forward who tilts play the right way.
Physical / Checker · Energy / Grinder, physical, lower-event forwards who win the hard areas.
Depth Forward, depth-range production at this stage.
Two-Way Franchise D, elite at both ends; drives offense and defends at a top-pair level.
Offensive D · Puck-Moving D, the offense flows through them; transition and point production.
Two-Way D, strong in both directions without one elite trait.
Shutdown D, elite defensive impact backed by physicality.
Stay-at-Home D, defense-first, lower-risk blueliner.
Physical D, a physical, defensive presence.
Depth D, depth-range projection at this stage.
Goalies use a separate, NHL-validated projection. A goalie's save percentage relative to their league baseline (how far above or below average they stop the puck) is mapped to a projected NHL Goals Saved Above Expected per 60 minutes (GSAx/60). Save-above-league is the single best available predictor of NHL goaltending, validated against actual NHL GSAx at r = 0.33, with clean tier separation: the bottom third of pre-NHL goalies become negative-value NHLers, the top third net positive.
Save % above league: the goalie's save rate minus their league's baseline, games-weighted across their pre-NHL seasons.
Projection: NHL GSAx/60 = -0.118 + 0.069 times save % above league (in percentage points), fit on goalies who reached the NHL.
Outcomes are MoneyPuck expected goals (GSAx = expected goals minus goals allowed); inputs are save rates across NCAA, CHL, USHL, the AHL and ECHL, and the European leagues.
Not age-adjusted: unlike skaters, age adds essentially no signal once save-above-league is known (residual correlation -0.07). The board is filtered to goalies age 23 and under, so it shows prospects, not veterans.
SV%, save percentage. SV% vs Lg, save percentage above the league baseline.
Proj NHL GSAx/60, projected NHL goals saved above expected per 60 minutes.
Tier, Starter upside / NHL-caliber / Depth / Longshot, by projection.
Draft, NHL draft pick, draft eligibility (from age), or undrafted.
Click any goalie for comparable goalies (and how they did in the NHL) and their save trajectory. Current season, 200+ shots.
Want a deeper read on a player or the model?
Happy to walk through any ranking, archetype, or projection in detail.
✉ Contact us