Why raw projections rank the wrong players first
Start with the naïve approach: rank every player by projected fantasy points, highest first. It sounds reasonable and it is quietly broken. In our 2026 preseason build, a raw points ranking put Jahmyr Gibbs, the RB1, at #11 overall, behind ten quarterbacks. Sorting by raw points floods the top of the board with QBs, because a starting quarterback simply scores more total points than a running back does.
The fix is an idea as old as fantasy analysis: value over replacement. A player isn't worth his point total; he's worth the points he gives you above what you could have gotten for free at his position. A quarterback who scores 320 when the next startable QB scores 300 has given you 20 points of edge. A running back who scores 260 when replacement-level is 140 has given you 120. That RB is far more valuable, even though he scores fewer raw points. Value over replacement is what makes Gibbs an early first-rounder again.
Our baseline is a simulation, not a magic number
The hard part of value over replacement is defining "replacement level" without hand-tuned constants that break the moment scoring settings change. RotoAlpha derives it instead. We run a league-wide greedy starter simulation: fill every team's dedicated starting slots with the best available players by projection, then fill the flex slots with the best remaining flex-eligible players. A position's replacement level is the projection of its best player who doesn't crack anyone's starting lineup: the best guy left on the table.
Then every player's draft value is simply:
draftValue = projectedPoints − positionalBaseline
Rank the whole pool by that surplus and you get a board that respects scarcity automatically. Change to PPR, add a superflex, run a 14-team league, and the simulation re-derives every baseline from the same projections. No per-position fudge factors. We wrote up the full decision in our internal architecture record; the mechanism is one rule applied to everyone.
Then the rule said: draft a kicker in round 3
Here's where honest math produced a dishonest recommendation. Kickers have exactly one starting slot per team and never appear in a flex. So on the real 2026 standard-scoring board, the "best kicker who doesn't start anywhere" is roughly the 13th-best kicker, because the top twelve are locked into the twelve teams' single K slots. Replacement level for kickers is therefore K13.
And the projected gap between the best kicker and K13 was about +35 points. That is a genuinely large surplus, larger than the edge many mid-round running backs offer over their replacement level. So the pure value-over-replacement model did exactly what it was told and priced the K1 at around pick 28. Third round. For a kicker.
The number wasn't a bug. Kickers really are top-heavy in projection, and K1 really is projected to out-score K13 by a lot. If your only question is "who provides the most points above a freely available replacement," the model answered it correctly.
The surplus that never shows up
So why is drafting K1 in round 3 a mistake anyone who has played fantasy football knows in their gut? Because that surplus never accrues.
Value over replacement quietly assumes you can only get replacement level for free. For running backs and receivers, that's true: the waiver wire in a competitive league is thin, and the drop from a startable RB to a streamable one is real and permanent. For kickers, the assumption collapses. A near-best kicker is always on waivers. Kicker week-to-week scoring is close to noise; last year's K1 is next year's K18 and nobody can predict the reshuffle. You can stream a top-five-ish kicker off the wire in most weeks for the cost of a roster spot you were going to churn anyway.
So the +35-point "edge" the model priced at pick 28 is an edge over a baseline you'll never actually be stuck at. In practice your replacement kicker isn't K13; it's whoever is hot and available, which is much closer to K1 than the math assumed. The honest surplus evaporates on contact with the real waiver wire. Spend a third-round pick on it and you've paid a real RB or WR's price for points you could have had for a dollar of free-agent bidding.
This is the trap in one line: a mathematically correct valuation can still be strategically wrong when the "free" baseline it assumes doesn't match the one reality offers you. Our bot logic made the failure vivid: a best-player-available draft bot running pure value over replacement would visibly reach for kickers in round 3, and every human in the room would know it was broken.
The fix: one different baseline, still one rule
We were tempted to bolt on a constant: "cap kickers at round 13" or similar. We didn't, because a magic number is exactly the thing the greedy simulation exists to avoid; it would be wrong the moment scoring or roster settings changed.
Instead we changed what replacement level means for the two positions that are never flex-eligible and are streamable week to week: kickers and defenses. For those two, the baseline is the position's top player, not its best non-starter. In other words, we tell the model the truth about the waiver wire: your realistic replacement for a kicker is roughly a best-available kicker, so measure surplus against that.
The effect is immediate. K1 and DEF1 fall to the replacement boundary, right around their real average draft position, where experienced drafters actually take them, and the kickers still stay correctly ordered among themselves below that line, so if you do reach for one, the model still tells you which one. Critically, it's still one rule, no tuned constant: "baseline = top player at the position" is as principled and as settings-independent as "baseline = best non-starter." We just applied the version that matches how the position is actually replaced.
What this taught us about building a draft AI
The lesson generalizes well beyond kickers, and it's shaped how we build the rest of RotoAlpha's valuation:
- A model's assumptions are claims about the world, not just math. Value over replacement encodes a specific claim: "replacement level is what you get for free." When that claim is true (RB, WR) the output is gold; when it's false (K, DST) the same formula misleads with total confidence.
- Fix the assumption, not the output. Clamping the kicker rank would have patched the symptom and left a constant to rot. Changing the baseline fixed the cause and kept the system principled.
- Trust your gut enough to interrogate the model, not to overrule it blindly. "A round-3 kicker is obviously wrong" was the signal that something in the assumptions didn't match reality. The value of the gut check was in sending us back to the baseline, not in hard-coding an exception.
So: when should you actually draft a kicker? Dead last, like you always suspected, and RotoAlpha's board now agrees with you, for a reason it can defend rather than a constant we typed in. The interesting part was never the answer. It was watching a correct number produce a wrong recommendation, and learning to tell the difference.
RotoAlpha is our AI co-manager for fantasy sports, launching this season. More field notes on the draft math and the backtests behind it are coming as we approach launch at rotoalpha.com.