Methodology

How Our Projections Work

Every number on this site comes from one model, tested against four seasons it never saw. This page shows the pipeline, the test results, and the season we lost.

Quick answer

How are these fantasy football projections made?

We project team scoring from betting-market strength, split it into player usage shares, and convert efficiency into points per scoring format. Every projection is a P10–P90 range, not a single number. Before shipping, the model had to beat two baselines on held-out seasons — and it did, in every year but one. The full results, including that 2022 loss, are below.

Graded in public

Fantasy analysis is mostly unpriced opinion. A take with no number attached can't be wrong, which is exactly why it's worthless on draft day. So we publish the number, then grade it against what players actually scored, weekly once the season starts, with no retroactive edits. This page is the pre-season half of that promise: what the model does, and how it tested.

Our player cards carry a shorter version of the same promise: "every call on the record." The record is append-only — once a call is posted and graded, entries are added beside it, never rewritten or removed. That is why the 2022 loss is still on this page, and always will be.

The pipeline, in four steps

  1. Team strength.Start from 2025 closing lines — the betting market's paid opinion of every team — shrunk toward league average, because no team is as good or as bad as its record.
  2. Usage shares.A player's targets, carries, and red-zone work across the last two seasons, weighted toward last year, re-based onto his current team. Rookies have no NFL usage yet, so they start from position-average priors — a real limitation, and why we haven't published a rookie piece.
  3. Efficiency.Yards per touch and scoring rates, shrunk toward position averages. One hot month doesn't rewrite a career; sustained usage does.
  4. Games and age. Availability priors from recent seasons and a position-specific age curve turn per-game rates into season totals — as ranges, per scoring format.

Ranges, not points

A projection that reads "212.4 points" is lying about its own precision. Ours read "212, with a P10–P90 of 158–261": the median call plus the honest spread — every range is on the full draft board. In backtesting, 66.7% to 83.2% of actual season outcomes landed inside our P10–P90 band, against an 80% design target. v2's calibration work lifted two of the four held-out seasons to or past that line and narrowed the other two, which is real progress and not a fix: 2022 and 2024 still come up short. Calibration is the model's known weakness — improved in v2, not solved — and closing what remains of the gap leads the next version.

P10–P90 coverage by held-out season against the 80% design target, each season's signed distance from it, and the number of players graded.
SeasonCoveragevs 80% targetPlayers graded
202266.7%-13.3 pts438
202380.7%+0.7 pts415
202474.2%-5.8 pts415
202583.2%+3.2 pts428
Four bars, two now clear the line. The dashed line is the 80% of outcomes our P10–P90 band promises to hold. Each bar is the share the band actually held, from 66.7% in 2022 up to 83.2% in 2025 at its best. v2's calibration work lifted two seasons over the line and narrowed the rest, but 2022 and 2024 still fall short — by as much as 13.3 percentage points. We draw the misses too.

Tiers: the rank, banded

Player share cards carry a tier — S, A, B, or C, paired with a plain-word read: Elite, Strong, Mid, or Low. A tier is not a second opinion layered on the rankings; it is the ranking, banded. Take every player the model ranks at a position on the current draft board: the top 10% are S, the top 35% A, the top 70% B, and the rest C, with band edges rounded up. A board that ranked 32 quarterbacks would put S at QB1–4, A at QB512, B at QB1323, and C from QB24 on. Because the bands are cut from the same board the rankings page shows, a tier and a rank can never disagree.

Two honesty rules ride along. A position with fewer than 12ranked players gets no tier at all — a "top 10%" of eight players is noise wearing a medal — and a card without a tier is not a bad grade; it is no call. And a tiered card prints the model version its tier came from, so a medal always traces back to the exact board this page documents.

The backtest: what passed, and what didn't

We test walk-forward: train on seasons up to N−1, project season N, score against final PPR finish (20222025, all positions pooled). The metric is Spearman rank correlation: how closely our preseason order of players matched the actual end-of-season order, where 1.0 is a perfect match. No season in these tables was in its own training data, and the pass criteria were written down before the first run. Gate verdict for v2: PASS.

One caveat stays attached, from the backtest artifact itself: model tuning was chosen while looking at these same four seasons, and the winning margins are thin — +0.002 to +0.004 Spearman against the prior-season baseline. So treat the gate as a bar cleared, not a victory lap. The real test starts when 2026 grades live.

Each baseline comparison scores only the players both sides can rank, so the tables in this section use different player pools. Compare within a table, not across them.

Against the prior-season baseline

The baseline everyone actually uses: assume players repeat last season's finish.

Model vs prior-season baseline, overall Spearman by held-out season
SeasonOur modelPrior-seasonResult
20220.73690.7432Loss
20230.68520.6817Win
20240.70110.6966Win
20250.76230.7599Win

2022 is the loss, and the mechanism is no mystery: those projections trained on 2021 alone, and one season of usage data isn't enough to beat "he'll score what he scored last year." The loss stays in the ledger because that's the product.

Against the market (ADP)

Draft position as a forecast — the market's collective ranking. Fantasy Football Calculator (FFC) ADP is unavailable for 2025, so that season has no market baseline to grade against.

Model vs ADP consensus, overall Spearman by held-out season
SeasonOur modelADPResult
20220.55200.4450Win
20230.53090.4551Win
20240.44670.4399Win

By position, the model beat the prior-season baseline at QB, RB, TE. WR is the miss, by 0.0048 average Spearman — v2 narrowed it from 0.006 but did not turn it into a win, at the position where year-to-year role volatility runs highest. If you trust our WR board least, we understand; so do we, and closing that gap stays on the list.

What changes in season

The model this page describes drafts teams. Winning weeks takes a weekly model, and that model is now built: game-level, priced to the week's line, with a gate of its own. That gate ran walk-forward against two baselines: last week's points and the season-to-date average. The model beat both in all four held-out seasons, on settings locked before the gate ran. In season, its numbers post ahead of each week's opening kickoff. The projection we grade is the one frozen at that first posting, not whatever a later rerun shows. The grading loop is built and armed — it starts writing at Week 1. A grade posts when the Sunday games are final, and stays partial while the week still has a game to play. It completes the day after that game, and Thursday's correction pass settles the row. Week 18 is the exception. That slate ends Sunday, so the week never gets a partial: the first grade is the full one.

Both baselines, every graded week. Here the lower number is the better one. These cells are points of error per player-week, and the correlation tables in the backtest section run the other way.

Weekly model vs both baselines, pooled error and weeks won by held-out season
SeasonWeeks wonOur modelLast weekSeason to date
202212 of 174.685.934.92
202310 of 174.575.694.75
202412 of 174.705.814.80
202512 of 174.545.754.69

The gate scored weeks 2 through 18, PPR, at the 4 positions the model projects. Week 1 has no prior week and no season average, so neither baseline can be built for it.

A week counts as won only when the model beat both baselines. Even at its best it lost 5 weeks of 17.

The bar was 3 of 4 seasons, fixed before the gate ran. 2023 is the thin one: 10 weeks won against a minimum of 9. A one-week margin is a one-week margin, and it stays in the table at full size.

The comparison line is meant to be a licensed consensus projection, and that license is not signed. If it is not in place by Week 1, the ledger grades against actual results alone and still runs. The public ledger starts at zero and stays append-only. Backtests stay labeled as backtests — a graded history you can't verify isn't a receipt.

Data sources and credit

  • nflverse — play-by-play, schedules, and weekly stats back to 1999, CC-BY licensed. The backbone of the historical record.
  • Sleeper — player database, injury status, and ID crosswalk.
  • Fantasy Football Calculator — ADP across scoring formats, free for commercial use with attribution (required, and given here gladly).
  • DynastyProcess — the db_playerids crosswalk that keeps our player IDs honest across data sources.
  • FantasyNerds — consensus projections, our intended in-season grading benchmark. The license is not signed yet.
  • The Odds API — game lines and futures, joining as an adjustment layer; the current season model anchors on committed historical closing lines.

Want the output instead of the theory? The 2026 draft rankingsare the model's current call, updated in place, CSV export included. The strategy library shows how to put the numbers to work.

FAQ

What do P10, P50, and P90 mean?

P50 is the median projection — half of realistic outcomes land above it, half below. The P10 and P90 mark the edges of the range. A tenth of seasons should fall short of the P10, and a tenth should clear the P90. That is a claim about a rate: 80% of seasons sitting in between. In backtesting the band held 66.7% to 83.2%, depending on the year — v2's calibration work brought the better seasons to that rate, while the worst two still under-cover and their tails run fatter than the labels admit. Draft on the P50, and read the spread as the least a season can vary, not the most — where the band falls short, the real swing is broader than it looks.

Did the model ever lose a backtest?

Yes — 2022, against the prior-season baseline, 0.7369 to 0.7432 in Spearman correlation. Those projections trained on a single season (2021), which is not enough signal to beat last-year's-points. It won the other three seasons and every ADP comparison, and the loss is published in the table on this page.

Why do your rankings differ from ADP?

ADP measures what drafters do; our rankings measure what the model expects players to score, ordered by value over a positional baseline. Where the two disagree is where draft-day edges live — that is the point of building our own numbers instead of republishing the market's.

What do the S, A, B, C tiers on player cards mean?

A tier is the model's positional rank, banded — not a second opinion. Among the players the model ranks at a position, the top 10% are S (Elite), the top 35% A (Strong), the top 70% B (Mid), and the rest C (Low), with band edges rounded up: a board ranking 32 quarterbacks makes QB1–4 the S band. A position with fewer than 12 ranked players gets no tier at all, because a top-10% of eight players is noise wearing a medal. Tiers are cut from the same board as the rankings, so a tier can never disagree with a player's rank.

How often do projections update?

ADP refreshes daily from Fantasy Football Calculator. Projections regenerate when the model or its inputs change, and every run carries a version. This page tracks the current one: it documents v2 today, it documented v1 before, and every version change lands here in the open — numbers, gains, and losses moving together.

Can I download the rankings?

Yes. Every draft rankings page has a CSV export — name, team, position, bye, P10/P50/P90, ADP, and rank — free, no account.