Backcheck
Scouting desk · breakouts & market gaps
2025-26last seasonAs of Sun, Sep 20

The Value Board

Two lists: tomorrow's stars and today's bargains. The first ranks every under-23 player by how likely he is to take a leap next season. The second finds players who help their team far more than their point totals suggest — the ones the market underpays attention to. Read both as scouting leads, not a cap sheet.

How to read this

Act I is a breakout board: for every under-23 skater we blend how good he already is, how fast his chance creation is growing year-over-year, and what the trained development model projects next — that's the . It's built to spot players becoming good before the goal totals announce it.

Act II hunts bargains without contract data — because we don't have any. Instead we compare each player's on-ice impact against his (the counting stats and spotlight the market actually pays for) and flag the biggest , weighted by an estimated . When both bars are long, everyone already knows; when the top bar runs far past the bottom one, that's the blind spot. Treat every number here as a scouting lead, not a cap sheet.

IMP
on-ice impact, as a 0–100 percentile of the league
MKT
market visibility — counting stats, minutes, spotlight
GAP
IMP minus MKT: how under-noticed the play is
PHASE
contract stage estimated from age and experience
Fine print · verbatim from the model
  • breakoutScore = 100·(0.45·impact + 0.30·yoyGrowth + 0.25·modelUpside). impact = position-relative percentile of warProxy; yoyGrowth = xG/game vs MoneyPuck 2025-26, mapped 0.5+Δ% saturating at ±50% (rookies — no ≥20 GP prior season — reuse impact and are flagged); modelUpside = our development model's projected xG growth (player_seasons_v2, r2=0.83), clamped −30%..+50%, falls back to impact outside its training window. Age ≤ 23 from NHL API rosters (unknown age → excluded); gates ≥15 GP and ≥8 5v5 min/game.
  • valueGap = impactPctile (position-relative percentile of warProxy) − marketVisibility (0.40·points/60 pctile + 0.25·goals pctile + 0.20·TOI/game pctile + 0.15·age premium, all-situations); valueScore = valueGap × contract-phase weight (ELC 1.5 / RFA 1.2 / UFA 1.0). Phase is an age/experience ESTIMATE. Gates: ≥15 GP, ≥8 5v5 min/game, impactPctile ≥ 60.
  • No real contract data (PuckPedia/CapWages are paid). Contract phase is an age/experience estimate; market visibility proxies what contracts pay for.
Act I · Emerging — the U-23 board
19 ranked
#TmPlayer
1SJS
C · age 20 · 82 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG84model-est.
2UTA
R · age 23 · 79 GPXG rate up 0% year over year; development model projects +57% further xG growth.
+0%+57%
STRONG83model-est.
3ANA
C · age 21 · 70 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG81model-est.
4ANA
L · age 22 · 76 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG81model-est.
5DAL
C · age 23 · 82 GPXG rate up 0% year over year; development model projects +38% further xG growth.
+0%+38%
STRONG79model-est.
6ANA
R · age 20 · 82 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG77model-est.
7MTL
L · age 22 · 82 GPXG rate up 0% year over year; development model projects +86% further xG growth.
+0%+86%
STRONG77model-est.
8CHI
C · age 21 · 68 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG76model-est.
9CAR
R · age 23 · 81 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG75model-est.
10SJS
C · age 21 · 69 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG73model-est.
11CAR
C · age 23 · 81 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG71model-est.
12PHI
R · age 21 · 81 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
STRONG71model-est.
13STL
R · age 22 · 70 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
AVERAGE70model-est.
14SJS
R · age 23 · 81 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
AVERAGE70model-est.
15UTA
C · age 22 · 54 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
AVERAGE69model-est.
16MTL
R · age 20 · 82 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
AVERAGE68model-est.
17BUF
L · age 21 · 65 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
AVERAGE67model-est.
18OTTstats: SJS
L · age 23 · 78 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
AVERAGE65model-est.
19TOR
L · age 23 · 79 GPXG rate up 0% year over year; too new for the development model's training window.
+0%
AVERAGE64model-est.

◆ Method · breakoutScore = 100·(0.45·impact + 0.30·yoyGrowth + 0.25·modelUpside). impact = position-relative percentile of warProxy; yoyGrowth = xG/game vs MoneyPuck 2025-26, mapped 0.5+Δ% saturating at ±50% (rookies — no ≥20 GP prior season — reuse impact and are flagged); modelUpside = our development model's projected xG growth (player_seasons_v2, r2=0.83), clamped −30%..+50%, falls back to impact outside its training window. Age ≤ 23 from NHL API rosters (unknown age → excluded); gates ≥15 GP and ≥8 5v5 min/game. · proxy, not official WAR

◆ Rosters · teams reflect NHL rosters as of 2026-09-19; players who moved show their stats team below the chip

Act II · Value picks — the market gap
1 flagged
#TmPlayer
1COL
Brock NelsonC · age 34 · +4.01Elite on-ice impact (97th percentile) the box score keeps quiet — underpriced by the market.
97th percentile impact, but market visibility of only 73underpriced by the market
UNDERPRICED+24UFA (est.)
UNDERPRICED24model-est.

◆ Cost basis · No real contract data (PuckPedia/CapWages are paid). Contract phase is an age/experience estimate; market visibility proxies what contracts pay for.

◆ Method · valueGap = impactPctile (position-relative percentile of warProxy) − marketVisibility (0.40·points/60 pctile + 0.25·goals pctile + 0.20·TOI/game pctile + 0.15·age premium, all-situations); valueScore = valueGap × contract-phase weight (ELC 1.5 / RFA 1.2 / UFA 1.0). Phase is an age/experience ESTIMATE. Gates: ≥15 GP, ≥8 5v5 min/game, impactPctile ≥ 60. · proxy, not official WAR

◆ Rosters · teams reflect NHL rosters as of 2026-09-19; players who moved show their stats team below the chip

Act III · The team lens

Value in the abstract is half the job — the Trade Board crosses this same value model with each club's biggest roster need and ranks the best value fits per team.

Open the Trade Board

* WAR is a model-estimated proxy from on-ice impact, not official WAR. Contract phases are age/experience estimates — every "(est.)" means exactly that. Source: MoneyPuck aggregates + NHL API rosters via the analytics sidecar.