Methodology

Where the numbers come from

Draft Lab does not publish an opinion about players. It runs the same measurement for all of them, with your league's rules, and prints the result. This page is that measurement, written out — including the parts where it does not work.

The pipeline

Six steps, in plain words

This runs once for every player on the board, in this order. Nothing later in the list can undo something earlier in it.

  1. 01

    Real plays, not somebody's list

    Everything starts with NFL play-by-play data from nflverse: who touched the ball, how far, on which snap, in which game. No hand-made rankings go in anywhere.

  2. 02

    Every past game scored under your rules

    Each historical game is re-scored with your league's exact scoring — receptions, passing touchdowns, bonuses, all of it. A player is worth what he would have been worth in your league, not in a generic one.

  3. 03

    A per-game mean from three seasons

    The three most recent seasons are averaged with weights of 60, 28 and 12 percent. Last year counts most, three years ago still counts a little, and one great season a long time ago does not carry a projection on its own.

  4. 04

    Role, damped by evidence

    Where a player sits on the depth chart moves his projection, but the size of that move is divided by how much we already know about him: damp = 1 / (1 + evidence / 8). A veteran with four seasons of snaps barely moves. A player with almost no history moves a lot, because the depth chart is nearly all we have on him.

  5. 05

    Touchdown luck cut in half

    Touchdown rate barely repeats: year over year it correlates around 0.11, while opportunity metrics — targets, carries, snaps — sit between 0.82 and 0.88. So half of last season's touchdown rate is faded back toward the position's normal rate. This is why a player who scored far more than his workload implied ranks lower here than elsewhere.

  6. 06

    20,000 simulated seasons per player

    The projection is a distribution, not a number, so we play the season out 20,000 times per player and read the results off the pile. Every percentage on the board is a count across those seasons — nothing is a formula pretending to be a probability.

The 20,000-season run happens offline, in the Python pipeline. When you change a rule inside the app the board is rebuilt live with 2,000 seasons so it can answer immediately. We checked the two against each other: r = 0.997, and 24 of the top 25 players are the same. The screen tells you which one you are looking at.

The output

From simulations to the columns you see

Four numbers come out of that pile, and each is a plain count or a plain subtraction. None of them is a rating we assigned.

VOR

Points above the last startable player at the position — and it is computed inside each simulated season, not once at the end. The FLEX is filled greedily with whoever is worth most at that moment, so your starter requirements decide the replacement level rather than a league-average assumption.

The probabilities

How often a player finishes top-5 at his position, how often he holds up as a starter, how often he busts. These are counts: if he lands top-5 in 4,000 of 20,000 seasons, that reads 20%.

Tiers

Tiers are drawn where the gaps are. When two players are separated by a rounding error they share a tier; when the board falls off a cliff, that is where the line goes.

Rookies

The hardest case, and how we handle it

A rookie has zero NFL games. Steps 2 and 3 above have nothing to read, so four things get substituted — and it is worth knowing exactly which four.

The baseline is position plus draft capital

Where a rookie went in the NFL draft is the strongest public signal about him that exists, so the starting projection comes from his position crossed with a draft-capital bucket, fit on past rookie classes at the same position.

by NFL draft pick

Round 1
≤ 32
Round 2
≤ 64
Round 3
≤ 105
Late round
106+
Undrafted
no pick

Games played is a flat 14

With no injury history to lean on, every rookie is given 14 expected games. It is an assumption, it is the same one for everybody, and it is stated rather than hidden inside the projection.

The week-to-week shape is borrowed

How much a player swings from week to week cannot be invented, so we borrow it from established players at the same position whose projected scoring is closest to his — at least eight of them. He keeps his own level; only the shape of the variation around it is borrowed.

Role moves a rookie a lot

That damping term from step 4 is what makes rookies volatile. There is almost no evidence to damp against, so a depth-chart change that would nudge a veteran can swing a rookie hard. Beat reports out of camp move these projections more than they move anybody else's.

Injury risk reads “Unknown”

No NFL history means no honest injury signal, so the app prints Unknown instead of a number. A fabricated percentage there would be the easiest lie on the screen and the hardest one to catch.

Be clear about what that adds up to: rookie projections are the least certain thing this model produces. They are an educated prior built from draft capital and role, not a measurement of a player. Treat a rookie's rank as a range, and let what you see in camp move it.

The backtest

How close we got, by position

The model was fit on seasons through 2024 and asked to predict 2025 points per game. Nothing from 2025 was visible to it. This is the check anyone can repeat.

PositionCorrelationAvg. errorPlayers
RB0.792.8560
WR0.742.78109
TE0.712.3360
QB0.492.5031
K0.231.0928

Correlation: 1.00 would be perfect, 0.00 would be noise.

Avg. error is the mean absolute error in fantasy points per game — how far off a typical player was, in either direction.

Read it honestly: running backs and receivers are where this works. Quarterbacks are much weaker, and kickers barely resemble themselves from one year to the next — which is exactly why the board sends them to the end of your draft instead of pretending to rank them.

Limits

What we don't predict, and what we threw out

Each of these was built, measured, and cut because the measurement said it added nothing. They are listed because a model that only reports its wins is a sales pitch.

Weekly WR-vs-defense matchups

Tested across 14,695 player-games. The slope was 0.01 — the effect everyone argues about on Sunday morning was not there at a size worth adjusting for.

A commercial injury feed

Predicting who would miss time landed at 0.543 accuracy against a 0.539 baseline. Four thousandths is not worth a data bill or your trust.

Breakout detection

Every breakout signal we tried added 0.001 to R² once draft capital was already in the model. Draft capital had already said it.

Defenses

A defense's fantasy scoring correlates 0.27 with its own scoring the year before. Nobody predicts defense well — not us, not anyone. Draft one late and stream it.

A bias we know about

The simulated leader at each position runs 10–20% hot. The very top of each position's projection is optimistic, it is measured, and it is not fixed yet.

Age curves for quarterbacks

Dynasty leagues get a second column: this season's value plus three more, weighted by how much of his value the average player at that position and age still produces one, two and three years later — measured on 24 seasons of careers, with retirement counted as zero. Across 13 backtested seasons it ranks the next three years better than this season's points do at every position we ship it for: receivers +0.10 rank correlation, defensive backs +0.14, running backs +0.06. At quarterback it was −0.01, so quarterbacks get a flat rate and the column leaves them in exactly the order the season board had them.

Where the tool actually earns its keep

Measured against your final roster, the advantage is concentrated at the start of the draft and disappears after it. By the late rounds you are choosing between players the model cannot tell apart.

Rounds 1–2
+69
Rounds 3–5
+22
Rounds 6–9
−11
Rounds 10+
−31

Season points gained

That's the whole thing

No secret sauce, no proprietary rating. Real plays, your rules, a lot of simulated seasons, and a list of the places it falls short.

Play-by-play data from nflverse (CC BY 4.0). Where players are drafted in fantasy leagues, from Fantasy Football Calculator.