Kodo Hockey
← articles

Projecting Rookies: The Top 30 for 2026-27

2026-08-24

The thirty rookies our model likes most for 2026-27, the categories they actually supply, four verdicts, where two public top-300 lists disagree with us, and an honest account of what the model gets wrong.

A rookie is projected by a different model from everybody else, because the model that handles established players works from a man's own NHL seasons and a rookie does not have any. Here that means a player with fewer than 25 career NHL games, which is the league's own rookie line, and at least one measurable season in a league we can translate. What the model works from instead, and how far to trust it, is below the table.

The top thirty

#PlayerClubPosPtsGPMiddle halfSOGHitsBlocksFOWPIMMost recent season
1Gavin McKennaTORL538145 to 6020047281646NCAA 51 in 35
2Roman KantserovCHIR528144 to 5922169341639KHL 64 in 63
3Porter MartonePHIR468138 to 53209115281660NCAA 50 in 35
4Anton FrondellCHIC418133 to 48228505659321SHL 28 in 43
5Caleb DesnoyersUTAC376531 to 43971113223429QMJHL 78 in 45
6James HagensBOSL376731 to 431476423927NCAA 47 in 34
7Ivar StenbergSJSL366630 to 421215623915SHL 33 in 43
8Jake O'BrienSEAC336727 to 3971883424024OHL 93 in 53
9Tij IginlaUTAC326226 to 37125832822228WHL 90 in 48
10Caleb MalhotraVANC326726 to 38621103424029OHL 84 in 67
11Konsta HeleniusBUFC286722 to 34100712824021AHL 63 in 63
12Carter YakemchukOTTD266820 to 32915877028AHL 40 in 54
13Cole HutsonWSHD256818 to 311008263036NCAA 32 in 35
14Bradly NadeauCARL245619 to 29847524815NCAA 46 in 37
15Daxon RudolphBUFD224817 to 26494942023WHL 78 in 68
16Brady MartinNSHC225117 to 26701122618334OHL 24 in 24
17Sandis VilmanisFLAL216715 to 276511721915J20 32 in 40
18Joakim KemellNSHC206714 to 26681263624035AHL 29 in 48
19David ReinbacherMTLD195114 to 23494148033AHL 24 in 57
20Trevor ConnellyVGKL194315 to 23662917613AHL 49 in 46
21Alberts SmitsNYRD195114 to 23633345015Liiga 13 in 38
22Chase ReidSEAD195114 to 23563845018OHL 48 in 45
23Michael Brandsegg-NygårdDETR195614 to 247712118820SHL 11 in 42
24Roger McQueenANAC184714 to 22681042416827NCAA 27 in 36
25Sacha BoisvertCHIC175612 to 22471152820129NCAA 17 in 26
26Boston BuckbergerCBJD176810 to 23686078024NCAA 29 in 43
27Michael HageMTLC173614 to 2044371812911NCAA 52 in 39
28Adam JiricekSTLD175112 to 21483545017OHL 59 in 55
29Cayden LindstromCBJC175212 to 22581152618658NCAA 10 in 31
30Carson CarelsCGYD164012 to 20434235019WHL 73 in 58

Points and games are for an 84-game season. The middle half is part of the projection rather than decoration: Gavin McKenna's 53 sits inside a band of 45 to 60, and half of all rookies land outside their own band. Anyone quoting a rookie number to a decimal place, ours included, is presenting a centre of mass as a forecast.

Read the bands as wider for the short seasons. 11 of these 30 were measured over fewer than 40 games, most of them college players whose season is about 35. The band comes from how wrong the model has been in general, not from how much evidence stands behind this particular player, so for those 11 it is the floor of the uncertainty and not the whole of it.

Four verdicts

Roman Kantserov, take. Second in the class at 52 points, and one of only two players here we rank above both public lists. He has no average draft position at all, meaning he goes undrafted in most rooms. He is the only man in our top ten who has already produced against professionals: 64 points in 63 KHL games. The model rewards exactly that, and it costs a late pick to find out whether it should.

Anton Frondell, take in any league that counts faceoffs. 41 points is fair and unremarkable. The 593 faceoff wins are not. He is the only rookie in the league projected for a first-line centre's draw volume, and faceoffs are the category managers patch in the last two rounds and then never fix. At an average draft position of 139 that is a category solved cheaply. The caveat is that the whole thing rests on him opening the season as a top-six centre in Chicago; move him to the wing and the number that makes him interesting disappears.

Cole Hutson, probably let somebody else pay. Both lists have him around 167 to 185. The draft room takes him 90. We have him 349, which is further out than either, and we should be honest that being the extreme opinion is not the same as being right. The optimistic end of his band is 31 points. What the disagreement is really about is that a rookie defenceman on a second pair and a second power-play unit holds a genuine NHL job without being a top-hundred fantasy asset, and the 77 picks between the analysts and the market suggest nobody is confident about which he is.

Porter Martone, pay only if you believe the role. Every chart including ours has him on Philadelphia's first line and first power-play unit, and both lists rank him around 91 to 97 while we have him 162. There is no argument about deployment left, only about what a twenty year old does with it in year one. If you think a first-line rookie scores like a first-liner, the price is fair. Our model applies a year-one discount, and that is the single assumption most likely to be wrong if this class outperforms.

Where the public lists disagree with us

PlayerOur rankBeebs and BondyLarkinADP
Porter Martone162919770
Gavin McKenna12610810995
Anton Frondell189147143139
Cole Hutson34916718590
Roman Kantserov133171217not drafted
Ivar Stenberg226189172141
James Hagens220258290114
Caleb Desnoyers219not listedon the bubble-
Tij Iginla272not listed293-
Konsta Helenius316not listed203-
Carter Yakemchuk339not listedon the bubble-
Bradly Nadeau360not listedon the bubble-
Brady Martin386not listedon the bubble-

These two lists are not independent of each other. Both are published at Daily Faceoff, and analysts at the same outlet read the same sources and often each other. Where they agree and we do not, that is worth something, but it is one house's view against ours rather than two, and an earlier version of this article called them independent and drew a stronger conclusion from the agreement than it had earned.

Three readings, with that caveat attached.

The lists agree with each other more closely than either agrees with us. Gavin McKenna 108 and 109, Porter Martone 91 and 97, Anton Frondell 147 and 143. When two rankings land within six places of each other and we are sixty behind them, the burden is on us. That gap is the year-one discount, and it is the model's most consequential assumption.

On Hutson the market is the outlier, not the analysts. Both lists put him around 175. The draft room takes him at 90. Our 349 is further out still, but the interesting disagreement is the 77 picks between the analysts and the people actually drafting.

We like Roman Kantserov and James Hagens more than both lists do. Those are the two names where our model is making a claim nobody else is making, which makes them the cheapest tests of whether it knows anything.

What this class looks like

LeaguePlayersPositionPlayers
NCAA10Centre12
OHL5Defence9
AHL5Left wing6
SHL3Right wing3
WHL3
KHL1
QMJHL1
J201
Liiga1

The NCAA is the largest single supplier, a third of the list, ahead of the American league and clear of any junior league. That is a change in how players arrive and it has the practical consequence noted above: college seasons are short, so a third of this list is projected off about 35 games.

Nine of the thirty are defencemen, who rarely feature in rookie conversation and who supply blocks in volume. 3 of them project for more than sixty blocks, and the rest of the list supplies almost none.

Where this list is too generous

The honest weakness of the set is not the top. It is how many players it lets into the league at all.

SeasonRookies, 20+ games40+ games70+ games30+ points40+ pointsTop scorer
2022-23311876474
2023-24321765261
2024-25251344363
2025-264025116260
Four-season average321875.22.8

Against those four seasons, we project 4 rookies at forty points or more, 10 at thirty or more and 18 at twenty or more. The top of the points column is close to the record and the middle of it is not: 4 against an average of 2.8 is defensible, 10 against 5.2 is roughly double. The games columns are further out still. We project 162 rookies for twenty or more games against a four-season average of 32, and 78 for forty or more against 18.

The diagnosis is specific. On opening night we dress 36 rookies across the league, and that number is about right against a four-season average of 32 who go on to play twenty games. Only 20 of them come from the table above, which is worth sitting with: ten of our top thirty are projected for games they have not yet won. The other 126 men projected for twenty games or more are being handed call-up time, and the model spreads that time thinly across everyone plausible instead of concentrating it on the few who will actually get it. Real seasons concentrate: a club loses a centre and one prospect plays fifty games while ten others play none.

So read the games column as an expectation and not a plan. It is right about the pool and wrong about the individual, which matters most in the lower half of this list and hardly at all in the top ten, where the games come from a depth-chart slot rather than from a probability.

At the other end the model is too conservative, and for a reason worth stating. Our highest number is 53. The last four seasons produced leading rookie scorers of 74, 61, 63 and 60. The realised leader is the best of about 32 attempts and a projection is the centre of one, so the two are not the same quantity. Drafting for upside means reading the top of the band.


How the model works

Four inputs, in the order they are used, and then a worked example that reproduces the table above.

1. What he did, converted to NHL currency

Every league gets a factor: points per game times the factor gives an NHL-equivalent rate.

LeagueFactorLeagueFactor
KHL0.77NCAA0.41
SHL0.59Allsvenskan0.38
Swiss NL0.55Slovakia0.35
Liiga0.54VHL, Mestis0.30
Czechia0.52OHL, WHL, QMJHL0.28
AHL0.44USHL, USNTDP0.24
DEL0.42J20, MHL0.18

Rates are carried internally per 82 games, which is a unit and not an assumption: the 84-game season enters through games played, not through the rate. A first-line forward is projected for 81 games this year rather than 79 for exactly that reason.

The AHL factor has the most evidence behind it, fitted across 247 paired minor-to-NHL seasons. The junior factors rest on smaller samples and are hedged toward the published literature rather than taken at face value.

2. The translation is pulled toward the middle

The higher a translated rate goes, the less of it survives contact with the NHL.

Each bar is a band of translated rate. The height is what players in that band actually scored, divided by what the translation said they would. Bands below 1.0 fell short of their translation; bands above it beat theirs.

A prospect translating to a modest rate tends to beat it; one translating to a big rate tends to fall short. That is regression to the mean, and it is why a single year-one multiplier cannot work: whatever number you choose is wrong at one end. The model uses a slope instead.

3. Where he was drafted

The draft-slot prior is a lookup table, and this is what is in it. The first column is the number the model actually applies. The second is the same quantity rebuilt from our own records: the median points per 82 that players drafted in each range scored in their first NHL season of 20 or more games, taken within three years of their draft.

Where he was draftedThe model's priorMeasured in our recordsPlayers
1 to 558.443.659
6 to 1043.031.553
11 to 2034.524.980
21 to 4532.623.6102
46 to 9028.323.158
91 or later24.524.366

Those two columns should agree and they do not. The prior is documented as having been measured this way, and it cannot be reproduced from the data we hold: it runs ten to fifteen points high in every bucket, and no variation of the join gets closer. Both are printed because the alternative is repeating a provenance we cannot stand behind.

How much this matters depends on which part of the number is wrong. A constant offset does not matter at all, because the prior is a regressor with a fitted coefficient and an intercept sitting beside it, and the fit absorbs the level. What it cannot absorb is the shape. The prior spreads a top-five pick and a late pick by 33.9 points; measured, that spread is 19.3. Multiplied through the coefficient of 0.421, the model is giving a top-five pick roughly 6 points more than our own records support, and five of the top ten above are top-five picks.

Median first-season points per 82 by draft slot, with bootstrap confidence intervals. The intervals are widest at the top of the draft, where the sample is smallest.

The shape is not in doubt even if the size is. The top five is a cliff rather than the top of a slope, and by the eleventh pick most of the signal has gone; the measured column agrees about that and puts the flat part earlier. Medians rather than means throughout, because the means are dragged up by the handful of stars in each bucket and the typical outcome is what a projection wants.

Note what the table is conditional on: he played twenty NHL games. It says what he scores if he holds a job, which is the quantity that pairs with the games model in step four, and the two must not both carry the survivorship or it gets counted twice.

This is not simply that better prospects score more. The effect is measured with the translated rate already in the model, so it is a comparison among players who produced comparably in their own leagues. Two men who translated to the same NHL-equivalent rate, one taken third and one taken sixtieth, did not go on to do the same thing. What draft slot adds is what scouts and clubs paid to find out, which at eighteen carries information that a points total in a junior league does not.

4. How his club will use him

A player already on a depth chart keeps his role's games. Everyone else gets the probability he holds an NHL job at all, times the games he would play if he did. This is the step that produces the generosity described above.

The most useful evidence here is a short call-up, and it is easy to read backwards:

Two scatter plots of players with a short NHL call-up. Against next-season ice time the points fall close to a line, r 0.82. Against next-season scoring they are a cloud, r 0.15.

Nine games at seventeen minutes tells you almost exactly what role a coach will give a player next season and almost nothing about what he will score with it. So the minutes from a cameo go into the model and the points do not, which is the reverse of what a box score invites you to do.

The formula, and a worked example

Putting the first three together:

points per 82 = -4.83 + 0.688 x NHLe per 82 + 0.421 x draft-slot prior

and then points = rate per 82 x games / 82, with games from step four. Nothing else. Every number in the first three columns below is in this article, so the table can be recomputed by hand:

PlayerMost recent seasonPer gameFactorNHLe per 82PickPriorRate per 82GPPoints
Gavin McKennaNCAA 51 in 351.4570.4149.0158.453.58153
Roman KantserovKHL 64 in 631.0160.7764.14432.653.08152
Porter MartoneNCAA 50 in 351.4290.4148.0643.046.38146
Anton FrondellSHL 28 in 430.6510.5931.5358.441.48141
Caleb DesnoyersQMJHL 78 in 451.7330.2839.8458.447.16537
James HagensNCAA 47 in 341.3820.4146.5743.045.26737
Ivar StenbergSHL 33 in 430.7670.5937.1258.445.36636
Jake O'BrienOHL 93 in 531.7550.2840.3843.041.06733
Tij IginlaWHL 90 in 481.8750.2843.1643.042.96232
Caleb MalhotraOHL 84 in 671.2540.2828.8358.439.66732
Konsta HeleniusAHL 63 in 631.0000.4436.11434.534.56728
Carter YakemchukAHL 40 in 540.7410.4426.7743.031.76826

The last column is what this arithmetic produces and it matches the published projection for 12 of these 12 players to within a point. Take Gavin McKenna: 51 points in 35 NCAA games is 1.457 a game, times 0.41 times 82 is 49.0 per 82. He went 1 overall, so his prior is 58.4. Then -4.83 + 0.688 x 49.0 + 0.421 x 58.4 = 53.5 per 82, over 81 games, is 53.

The categories nobody projects

Most rookie projections apply one number per position for hits, blocks and shots, and one number is badly wrong: a bottom-six forward hits more than twice as often as a top-six one. The model uses measured per-game rates cut by position and minutes, blended with a published scouting projection and the player's own junior record.

RoleHitsBlocksShotsPIMDraws
Centre, top six0.630.582.350.4014.69
Centre, middle0.920.511.480.3611.50
Centre, bottom1.420.501.000.407.18
Winger, top six0.700.432.590.360.43
Winger, middle0.870.441.920.360.33
Winger, bottom1.380.391.110.400.28
Defence, first pair0.761.481.390.440.00
Defence, second pair1.111.150.880.460.00
Defence, third pair0.700.880.630.290.00

Where a player has no measurable peripheral history at all, these cells and a scouting report are the whole of it. A junior league that does not record hits or blocks leaves nothing to blend, so the projection is the role's rate adjusted by what scouts say about how he plays, and the penalty minutes he did record. That is a weaker basis than a measured rate and it is worth knowing which of the two you are reading: a defenceman projected for exactly the third-pair block rate has no block history behind him.

The faceoff cells count only men who take faceoffs. A player listed at centre who takes fewer than three draws a game is being used on the wing, and averaging him into the centre cells dragged the bottom one to 4.71 draws a game, which is not a real fourth-line centre. Filtered to actual draw-takers it is 7.18 and the middle cell moves to 11.50. The filter applies to centres only, because the contamination runs one way: men listed at centre and used on the wing, not the reverse. Applied to wingers it selected the handful of converted centres and reported a top-six winger at 4.59 draws a game against a true 0.43.

How wrong it usually is

Fitted on 435 paired seasons and scored only on players held out of the fit:

What the model usesAverage errorCorrelation
The translation alone, no model9.770.633
Translation and age9.270.678
Translation and league indicators9.340.671
Translation and draft slot9.240.680

Read that carefully, because the honest conclusion is weaker than it looks. The bottom three are separated by a tenth of a point of error across 435 players, which is inside the noise. What the numbers support is that adding age or league does not clearly help, not that leaving them out is decisively better. Draft slot is used because it is the simplest of the three and no worse. All four beat doing nothing, and that is the finding with weight behind it.

Distribution of out-of-sample error in points per 82. The bulk sits within about seven points either side of zero, with a longer tail on the high side.

Half of all rookies land within about seven points per 82 of their projection either way. One in ten comes in fourteen below, one in ten sixteen above. That is the honest width of a rookie number and it is why every player above carries a band.

What the model does not know

One rookie a season scores 60 or more, and nothing here will tell you which. Covered above: our highest number is 53 and the last four leaders were 74, 61, 63 and 60. Read the top of the band.

Age looked like a real effect and was mostly staleness. An earlier version of this model found older prospects performing worse at the same translated rate, strongly enough to look like genuine ageing. It was an artefact of which seasons we held. Players whose last recorded season was in the USHL had a median of six years between it and their NHL debut, against one year for everyone else, purely because their college seasons had never been ingested. The model was reading out-of-date evidence and calling it age. Restricting pairs to a prospect season within two years of the debut removed the effect entirely. It is a good example of a variable that is significant, interpretable, and wrong.

A missing season does not look like a missing season. Two players in an earlier draft of this list were projected off nothing at all, because the seasons behind them had never been ingested: one had three years of NCAA hockey the model could not see, another a full American-league season. Neither produced an obvious error. They produced slightly generous numbers off a positional average, and both moved when the real seasons arrived. Everyone in the table above now has a measurable season behind him, and there is a check on the pipeline that refuses to let a rookie be ranked without one.

Games move these numbers as much as talent does. Several players above are separated by five or six points purely because one is drawn onto a second line and another onto a third, and a change to a depth chart moves a projection without any new information about the player. When a club's lines were corrected during this article's life, one man left the top thirty entirely and ten rows moved. If you disagree with a club's depth chart, you disagree with the projection, and that is usually the more productive argument to have.

Projections are for the 2026-27 season, which runs 84 games. Junior, college and minor lines are the player's most recent measurable season. Paired seasons come from our own prospect records matched to the same player's subsequent NHL seasons, limited to first seasons of 20 or more NHL games so a brief call-up cannot set a rate, and to prospect seasons within two years of that debut. Public ranks are from Beebs and Bondy's and Matt Larkin's top 300 lists at Daily Faceoff; average draft position and depth-chart slots are from Daily Faceoff.