MarginFANTASY SPORTS

2026–27 · 13-category

Hockey Projections

Top-250 skaters-plus-goalies board, ranked by value over replacement across 13 categories.

Category weights

TOTAL is a weighted sum of per-category z-scores. Defaults: every category 1.0× except +/− at 0.5× — plus/minus is the least repeatable category season to season, so it counts for half. Sliders run 0–2 and re-rank the board live; CSV exports use the current weights.

How this board is built

Two projection sets

Preseason is frozen. It uses only information available before the season — cutoff September 24, 2026 (draft day). No 2026-27 regular-season game is in it, and it will never change: it is the clean baseline the model gets graded against at season’s end. ROS blends the preseason line with 2026-27 actuals to date: ROS = (preseason × W + actual × games) / (W + games), with W = 25 for counting categories and W = 35 for rates (ATOI, GAA, SV%), so a hot week moves a line only a little. Before any games are played the two sets are identical by construction.

Scoring

Every category is z-scored within its pool — skaters against skaters, goalies against goalies — and TOTAL is the weighted sum (GAA inverted: lower is better). Counting categories are scored as per-game rate × expected games (skaters) or expected starts (goalies); ATOI, GAA and SV% are scored as rates. VOR is TOTAL above replacement level: the 185th skater (14 teams × 13 skater slots + 3) and the 45th goalie. One combined board ranks all 250 rosterable players by VOR.

Skater model

Per-game projections for the nine skater categories. Our baseline is built first — historical rates, the durability model for games played (a five-season-style availability read, full-time vs. misses-time, adjusted for age, clamped to 20–82), and the three model factors below — and only then cross-checked against independent preseason estimates. The factors use only what was knowable in September 2026: ages, draft history, and projected depth charts (lines and power-play units) published before the season.

Age curves (production)

Skater scoring rates follow the established hockey aging shape: strong growth at 18–21 (up to roughly +14% a year on G, A and SOG per game), moderate growth at 22–23, a peak plateau at 24–28, gentle decline at 29–31, and steeper decline from 32 on. Hits and blocks take the same curve at 40% strength — physical categories age more slowly than scoring. Players drafted in the top 10 overall in the last four drafts get their early growth steepened by 40% — high draft capital breaks out harder — subject to the caps below and the headroom gate.

Headroom gate (growth side only)

Age alone no longer grants growth. On the growth side of the curve (under 24), the age multiplier is scaled by a headroom factor between 0 and 1, computed from the player’s pre-factor baseline. The factor is full (1.0) when projected deployment is sub-elite — average ice time at or below about 19 minutes — or when a documented role jump (the breakout list in the adjustments panel) supplies the growth path. It fades linearly toward 0 as projected ice time approaches 21.5 minutes when baseline production is already elite for the position (about a point per game for a forward, 0.65 points per game for a defenceman): a player already skating elite minutes at an elite rate has no opportunity lever left to pull, and per-minute efficiency is never aged up on its own — age-driven growth has to arrive through ice time, role or deployment. Production below the elite bar keeps partial credit (up to half the curve), because the baseline is not yet at the player’s demonstrated ceiling. The decline side of the curve is not gated — veterans age exactly as before.

Mould-breaker provision: a young player who was drafted in the top three overall and produced at an elite level before age 21 (point-per-game or better for a forward, 0.65+ points per game for a defenceman) keeps a floor of 0.35 on the headroom factor instead of fading to 0. Generational talents are the ones who break headroom models, so they keep a modest growth allowance — well under the full curve, but not zero. In this build the qualifiers are Macklin Celebrini and Connor Bedard, both at the 0.35 floor. Matthew Schaefer also qualifies, and his allowance is applied at the upper end (0.80): a 19-year-old defenceman’s baseline is itself a projection step above his demonstrated level, defencemen mature later, and the gate is meant to trim his excess rather than erase it.

Linemates & power play

From projected September depth charts for all 32 teams we compute a linemate quality index for every skater: the projected per-game scoring (G+A) of his most common even-strength linemates, relative to the league-wide average. Assist rates move with it (bounded at −6% / +7%) and special-teams points at a slightly smaller bound; defencemen are indexed off the forward lines they play behind, at reduced strength. Power-play assignment maps directly: PP1 adds 5% to STP and 2% to SOG, PP2 adds 2% / 1%, and a player our chart projects with no power-play role has 4% trimmed from STP where his baseline priced one in.

Caps

The new factors are deliberately fenced in. No single factor moves any category rate by more than ±15%; breakout / role bumps (below) cap at +20% on the affected rates; and the combined effect of all factors on a player’s TOTAL may not exceed ±25% — where a stack of factors would break that bound it is scaled back to it, and the case is noted in the adjustments panel rather than clipped silently.

Cross-check protocol

The cross-check applies only to what is left after our baseline. Each significant divergence from the reference is classified before anything is averaged: deployment-driven cases (their line or PP assumption differs from ours) are resolved on the depth chart itself — the better-supported assignment wins outright and its number stands, because averaging two deployment views would count deployment twice; pure rate disagreements follow the standing rule — our number stands with a documented reason, or we move 65% of the way toward the reference. The adjustments panel tags the significant cases from this pass as deployment-resolved or rate-adjusted.

Goalie model

Goalies are modeled in-house from their last three seasons (recency-weighted 3-2-1): workload gives expected starts, win and shutout rates come from that history (win rate carries team quality), and GAA / SV% are regressed toward league average in proportion to career workload, so a 30-start flash doesn’t outrank a proven starter on rate alone. The goalie age curve applies to production, not just durability: SV% (mirrored into GAA) improves slightly through the mid-20s, holds to about 31, then declines year by year — roughly −0.003 SV% by age 38, with the very youngest starters nudged up. Goalie lines carry an estimate tag — they are modeled, not cross-checked.

Notable adjustments — age / deployment revision

Every input below is preseason-pure (September 2026 depth charts, ages, draft history). Bumps are the raw role adjustment; each was then combined with the player’s age, linemate and PP factors and scaled so the player’s TOTAL moved no more than the ±25% combined cap — that cap trimmed the stack on every player listed here.

Breakout / role-opportunity bumps (cap +20%)

  • Gavin McKenna (TOR, 19) — G/A/STP +18%: 2026 #1 pick projected straight onto the top six and PP1; the baseline priced a sheltered 16.5-minute rookie.
  • Ivan Demidov (MTL, 21) — STP +20%, A +15%: first full season as a top-six and PP1 fixture; the baseline carried partial-season deployment.
  • Michael Misa (SJS, 20) — G/A +15%, STP +18%: 2025 #2 pick steps into a top-six centre role with PP time; the baseline priced third-line minutes.
  • Anton Frondell (CHI, 20) — G/A +12%, STP +15%: 2025 #3 pick projected on the top six and PP1 with Bedard; the baseline priced a depth rookie role.
  • Beckett Sennecke (ANA, 21) — G/A +10%, STP +12%: top-six RW and PP1 in September depth charts after a strong finish to 2025-26.
  • Ryan Leonard (WSH, 22) — G +12%, STP +15%: top-six promotion plus a net-front PP role; the baseline priced bottom-six even-strength usage.
  • Jimmy Snuggerud (STL, 23) — G +10%, STP +12%: top-six and the PP1 one-timer spot in September depth charts.
  • Zeev Buium (VAN, 21) — A +15%, STP +20%: the PP1 quarterback job is open with Hughes in Minnesota, and Buium is the projected heir; the baseline priced PP2.
  • Zayne Parekh (CGY, 21) — A +12%, STP +18%: the PP1 quarterback role is projected to grow into a full-time job in 2026-27.
  • Will Smith (SJS, 22) — A +10%, STP +10%: top-six and PP1 role beside Celebrini firms up in year three.
  • Logan Cooley (UTA, 23) — A +8%, STP +10%: the clear 1C and PP1 centre; the baseline ice time (17.7) understated the September depth-chart role.
  • Cole Hutson (WSH, 21) — A +10%, STP +12%: offensive-defenceman role with PP2 quarterback duty in September charts.
  • Easton Cowan (TOR, 22) — G/A +8%, STP +10%: projected full-season top-nine role with PP2 time after a partial rookie year.
  • Ivar Stenberg (SJS, 19) — G/A/STP +10%: 2026 top pick projected into the top nine immediately rather than a development year.

Where the caps bound

  • Age growth cap (+15%) binds on the youngest top-10 picks — Matthew Schaefer, Gavin McKenna, Ivar Stenberg, Tij Iginla, Radim Mrtka: the steepened curve wanted more; they sit at the cap before the headroom gate is applied.
  • Age decline floor (−15%): the curve stops at −15% from age 38; without the floor, Alex Ovechkin (41), Brent Burns (41) and Corey Perry (41) would fall further.
  • Linemate index saturation: the index caps at +7% on assists, and it binds for members of the league’s best first lines (Edmonton, Colorado, Tampa Bay) — their linemate edge is real but fenced.
  • Combined TOTAL cap (±25%) trimmed just over 100 player stacks, most visibly the bump list above on the way up and Ovechkin, Brad Marchand, Patrick Kane and Mats Zuccarello on the way down.

Headroom gate — applied in the refinement pass

Growth-side age multipliers only; the decline side is untouched, and players with a documented role jump (the breakout list above) keep the full factor — their growth path is the role itself. Board ranks are preseason, before the pass → after.

  • Macklin Celebrini (SJS, 21) — factor 0.35 (mould-breaker floor): 22.1 minutes a night at a 1.36 points-per-game baseline leaves no deployment or efficiency headroom; age growth cut from +12% to +4% (44.5 G / 81.7 A becomes 41.3 / 75.9). Board #4 → #6.
  • Matthew Schaefer (NYI, 19) — factor 0.80 (mould-breaker, upper end): 26.4 minutes is elite deployment, but a teenage defenceman’s baseline is a projection rather than a demonstrated level, and defencemen mature later — the gate trims the excess without erasing the growth path. Growth eased from the +15% cap to +12%. Board #27 → #29.
  • Connor Bedard (CHI, 22) — factor 0.35 (mould-breaker floor): 21.2 minutes at a 1.41 points-per-game baseline; growth cut from +9% to +3%. Board #32 → #39.
  • Lane Hutson (MTL, 23) — factor 0: 24.2 minutes at a 0.96 points-per-game defence baseline is already elite deployment and production, and he is not a top-3 pick, so there is no mould-breaker floor — the age bump is removed outright. Board #55 → #59.
  • Luke Hughes (NJD, 23) — factor 0: 24.1 minutes with an elite-for-a-defenceman baseline rate; the age bump is removed. Board #142 → #146.
  • Adam Fantilli (CBJ, 22) — factor 0.56: 20.1 minutes is near-elite deployment, but 0.86 points per game is below the elite bar, so partial credit remains. Board #56 → #61.
  • Partial gates — Leo Carlsson 0.84 (19.4 min, mostly deployment headroom left), Juraj Slafkovsky 0.80 (19.5 min), Artyom Levshunov 0.23 and Simon Nemec 0.17 (21+ minutes with sub-elite production — no efficiency growth assumed), Wyatt Johnston 0.32 (his age growth was only +0.75% to begin with).

Biggest movers from the gate (vs the previous build)

Fallers are the gated young players themselves. Risers are unchanged lines moving up into vacated spots — the gate only trims, it adds nothing to anyone.

  • Fallers: Connor Bedard #32 → #39 — mould-breaker floor (0.35) at 21.2 min and a 1.41 pts/game baseline.
  • Adam Fantilli #56 → #61 — gate 0.56: near-elite 20.1 min, production still below the elite bar.
  • Lane Hutson #55 → #59 — gate 0: 24.2 min at an elite defence rate, no top-3 floor.
  • Luke Hughes #142 → #146 — gate 0: 24.1 min, age bump removed outright.
  • Jeffrey Viel #229 → #232 — no line change; passed as the pool re-scored around the gated lines.
  • Macklin Celebrini #4 → #6 — mould-breaker floor (0.35): elite minutes, elite rate, no headroom lever left.
  • Matthew Schaefer #27 → #29 — mould-breaker at the upper end (0.80): trimmed, deliberately not exiled.
  • Juraj Slafkovsky #43 → #45 — gate 0.80 at 19.5 min.
  • Jake McCabe #186 → #188 — no line change; passive slip in the re-scored pool.
  • Leo Carlsson #53 → #54 — gate 0.84: most of his growth survives on remaining deployment headroom.
  • Risers: Mikhail Sergachev #57 → #55, Jakob Chychrun #58 → #56, Joel Hofer #59 → #57, Emil Heineman #231 → #229 — unchanged lines inheriting spots from the gated Hutson / Fantilli / Hughes lines.
  • Cutter Gauthier #60 → #58 — keeps his full age growth (17.2 min is genuine headroom) and passes the gated lines above him.
  • Nikita Kucherov #5 → #4 and Leon Draisaitl #6 → #5 — unchanged veteran lines; they inherit the spots Celebrini vacated.
  • Jack Eichel #28 → #27, Nick Suzuki #29 → #28, Ilya Sorokin #33 → #32 — unchanged lines, one step up as Schaefer and Bedard settle lower.

Significant divergences vs the reference, as classified

  • Zeev Buium, Zayne Parekh — deployment-resolved: the gap was a PP-quarterback disagreement; our September chart wins, our number stands un-averaged.
  • Ryan Leonard, Jimmy Snuggerud, Gavin McKenna — deployment-resolved: top-six / PP role reads from September depth charts, kept in full.
  • Macklin Celebrini, Matthew Schaefer — rate-adjusted: documented reason — the age curve with the top-10 draft-capital modifier (Schaefer at the +15% cap), now scaled by the headroom gate — Celebrini at the 0.35 mould-breaker floor, Schaefer at 0.80 (see the headroom section above).
  • Nikita Kucherov — rate-adjusted: documented reason — age-33 decline on scoring rates.
  • Sidney Crosby, Evgeni Malkin, Alex Ovechkin, Patrick Kane — rate-adjusted: documented reason — late-30s / 40s decline (Ovechkin at the −15% floor).
  • Sergei Bobrovsky, Connor Hellebuyck, Scott Wedgewood — rate-adjusted: documented reason — the goalie production age curve on GAA / SV% at 38 / 33 / 34.