Projection model

Fantasy Football Model

A 1-point-PPR projection for every position, trained on 27 seasons and measured against the only benchmark that matters.

Player-weeks trained on
153,026
1999–2025
Seasons back-tested
20
each fitted only on what came before
Best gain over recent form
15%
defense, where the market carries it
Worst gain over recent form
7%
the honest number for a noisy target

How it works

Six separate models, one per position, each predicting how many points a player scores in a game that has not been played, using only what was knowable before kickoff. Trained on 1999–2023, tuned on 2024, and scored once on 2025, which it never saw during fitting.

The scoring it projects

Standard 1-point PPR. These rules are implemented explicitly rather than taken from the source data, then checked back against nflverse’s own fantasy column on all 153,026 player-weeks, and they now agree on every one.

Passing yards
1 point per 25 yards
Passing TD
4 points
Interception
-2 points
Rushing and receiving yards
1 point per 10 yards
Rushing and receiving TD
6 points
Reception
1 point (full PPR)
Fumble lost
-2 points
Kicking
1 per extra point; 3 for a field goal inside 40, 4 from 40-49, 5 from 50+
Defense
1 per sack, 2 per takeaway, 2 per safety, 6 per touchdown, plus a points-allowed tier

What goes into a projection

Four families of input, all of them lagged by a game so that nothing a row predicts can leak into what predicts it.

  • Recent formRolling three- and five-game averages of scoring, yardage and volume, plus the player's per-game average across the whole of last season.
  • Usage and roleTarget share, carry share, air yards share, weighted opportunity rating, and snap share: how much of the offense actually runs through him, rather than how efficient he was with it.
  • MatchupPoints that defense has allowed to this position, built from the weeks already played and falling back to last season's figure in September.
  • Game environmentThe betting market's spread and total, converted into how many points each team is expected to score. This is the one input from outside the box score, and for kickers and defenses it is most of the signal.

Why every feature is lagged

The quickest way to build a projection model that looks brilliant and is worthless is to let a week’s own statistics into the features that predict it. Every rolling average, share and matchup rating here is computed one game behind, and a guard stops the pipeline if any feature ever correlates with same-week scoring above 0.95. The looser check is the accuracy itself: a leaking model does not beat a three-game average by six percent, it beats it by eighty.

A different model for each position

A kicker and a wide receiver share almost no useful inputs, so they do not share a model. Two families are fitted every time, a ridge regression and a gradient booster, and the one that does better on the tuning season is the one that ships. Which wins is a result, not a preference.

QBQuarterbackgradient booster · 72 inputs

permutation importance, in points of error

  • FP R5+0.36
  • implied total+0.31
  • passing yards R3+0.16
  • completions R3+0.11
  • FP PREV season+0.10
RBRunning backridge · 54 inputs

standardized ridge coefficient

  • carry share R3+2.16
  • target share PREV season+1.21
  • WOPR PREV season-1.19
  • FP PREV season+1.10
  • offense PCT R3+0.79
WRWide receiverridge · 54 inputs

standardized ridge coefficient

  • FP PREV season+1.19
  • offense PCT R3+0.74
  • receiving yards PREV season+0.58
  • implied total+0.53
  • target share R5+0.43
TETight endridge · 54 inputs

standardized ridge coefficient

  • WOPR R3-5.20
  • WOPR R5+4.86
  • target share R3+3.91
  • target share R5-2.94
  • air yards share R3+2.16
KKickergradient booster · 26 inputs

permutation importance, in points of error

  • implied total+0.04
  • FP PREV season+0.01
  • games played to date+0.01
  • FG made 50-59 PREV season+0.01
  • PAT made R5-0.01
DSTDefense / special teamsridge · 26 inputs

standardized ridge coefficient

  • FP PREV season+1.60
  • implied total OPP-1.48
  • FP R5+1.02
  • points allowed R5+0.58
  • FP R3+0.51