Magrathea Software ← Blog

Field Notes

Value-based drafting, explained

29 July 2026 · Kyle Twogood, Magrathea Software

Every "sleeper QB" cheat sheet that ranks players by projected fantasy points is running on a math bug. It isn't a coding error; it's a modelling one, and it's the reason a naïve board hands you ten quarterbacks before it hands you the best running back in football. This is the plain-language version of the fix: what replacement level means, how we derive it for RotoAlpha without typing in a single fudge factor, and why the honest answer is a different board for every league.


The bug: points are not value

Sort every player by projected points, highest first. It's the obvious thing to do and it is quietly wrong. In our 2026 preseason build, that sort put Jahmyr Gibbs, the consensus RB1, at #11 overall, behind ten quarterbacks.

Nothing was broken. Quarterbacks really do score more raw fantasy points than running backs, because they touch the ball on every snap and get credit for passing yards and touchdowns. The sort is faithfully reporting that. It just isn't answering the question a drafter is asking.

The question a drafter is asking is: if I don't take this player, what do I end up with instead? Because you aren't collecting points in the abstract. You are filling a fixed lineup against opponents filling the same lineup. Every team is going to start a quarterback. What separates rosters is not who has a QB, it's who got more out of the slot than the field did.

Replacement level, in one paragraph

A player is worth the points he gives you above the best player at his position you could have gotten for nothing. That freely-available standard is replacement level, and the surplus above it is a player's draft value:

draftValue = projectedPoints − positionalBaseline

Rank by that instead of by raw points and the board rearranges itself around scarcity. A quarterback projected for 320 points, when the QB you could have had for free is projected for 300, has handed you 20 points of edge. A running back projected for 260, when free-agent RBs project for 140, has handed you 120. The QB scores more. The RB wins you the league. That difference is the whole idea, and it's what puts Gibbs back at the top of the board where your gut always had him.

This is not a new idea; value-based drafting has been around fantasy analysis for decades. The part everybody quietly disagrees about is the second term in that subtraction.

The hard part is the baseline

"The best guy you could get for free" sounds concrete until you try to compute it. Most published cheat sheets pick a constant (replacement is QB12, or RB30, or "the last starter in a 12-team league"), and those constants are load-bearing. Change from standard scoring to PPR and the right constant moves. Add a superflex and it moves a lot. Play in a 14-team league and it moves again. A board built on numbers that were correct for someone else's league is a board that's wrong for yours in ways you can't see.

So we don't pick constants. We simulate the league:

  1. Take every team's starting lineup requirements (how many QB, RB, WR, TE, K and DEF slots, plus flex slots) from the actual league settings, and multiply by the actual number of teams.
  2. Fill every dedicated slot league-wide with the best available players at that position, by projection. Greedily, best first.
  3. Then fill the flex slots with the best remaining flex-eligible players, whoever they happen to be.
  4. A position's replacement level is the projection of its best player who ended up in nobody's starting lineup: the best guy left on the table.

That's the whole mechanism. One rule, applied identically to every position.

Why simulating beats guessing

The simulation earns its keep at the flex slot, which is where hand-tuned systems go to die. A common shortcut is to split each flex slot by a fixed heuristic (say 45% running back, 45% receiver, 10% tight end) and fold that into the baseline. We considered it and rejected it, because that split is a claim about how the season projects, and it is wrong at different rates in every format. Full PPR pushes flex demand toward receivers. Superflex changes what "flex-eligible" even means.

Filling the flex greedily makes the split fall out of the projections themselves. We never state it, so we can never state it wrong. Switch the league to PPR and more receivers survive into flex slots, which raises the RB baseline and lowers the WR baseline, automatically, with no code aware that PPR happened.

We also rejected extending the baseline into benches, the "starters plus some share of the bench" approach, for the same reason. Bench composition is discretionary; every drafter builds one differently, so any share you pick is a per-position heuristic wearing a disguise.

The consequence worth internalizing: replacement level is not a quotable number. It moves with the projection set, the scoring rules and the league size. Anyone who tells you replacement level is QB12 is telling you about their league, not yours.

Every format gets a genuinely different board

This is the payoff, and it's the part cheat sheets structurally can't give you. Because the baselines are derived rather than declared, a 10-team standard league and a 12-team half-PPR superflex league produce two boards that disagree about far more than the margins. In superflex, quarterbacks are suddenly consumed by two slots per team, replacement-level QB collapses, and elite quarterbacks legitimately rise, not because we added a superflex rule, but because the simulation ran out of quarterbacks.

Two smaller design choices fall out of the same commitment to one rule:

Where the one rule needed help

Honesty section, because a post that ends at "we derived it, so it's right" would be selling you something. The pure last-starter baseline is correct math that produces two specific wrong recommendations, and both took real work to fix without reintroducing the magic constants we'd just spent all that effort avoiding.

Both exceptions share a shape worth remembering when you read anyone's rankings: value over replacement is only as honest as its claim about what you can get for free. Where that claim holds, the formula is the best tool in fantasy football. Where it doesn't, the formula is wrong with total confidence and perfect arithmetic.

What to take to your draft

You don't need to run a simulation to draft well, but you do need the habit the simulation encodes. Before you take a player, ask what you'd have at that position if you passed. Not in the abstract, but in your league, with your starting slots and your number of teams. Ranking by points answers a question nobody asked. Ranking by surplus over what you'd otherwise be stuck with answers the only one that matters.

RotoAlpha is our AI co-manager for fantasy sports, launching this season, and its board is built exactly this way: per-format, derived, with the two exceptions above and no other thumbs on the scale. More field notes on the draft math and the backtests behind it are coming at rotoalpha.com.

Kyle Twogood

Kyle Twogood is the founder of Magrathea Software. He’s been building production software since 1997.