Fantasy Projection Accuracy
Back to ProjectionsHistorical error analysis and accuracy metrics for our fantasy projection engine
Fantasy Points (PPR)
Passing Yards
Rushing Yards
Receiving Yards
Receptions
Touchdowns
There is no segment model. These take the full-game projection and scale it by the stat's empirical segment share (passing Q1 21.4%, 1H 50.0%; rushing 24.4% / 49.2%; receiving 21.4% / 50.0%, measured over 2021–25). That makes this the baseline any real Q1/1H model has to beat, not a model itself.
Read Skill R², not MAE. Raw MAE shrinks with the segment simply because the numbers are smaller, which makes the worst segment look like the best. Skill R² compares the projection to always guessing the average: 0 or below means no skill. All covers every projected player; Played drops those who recorded nothing — the gap between them is the cost of projecting players who never take the field.
| Stat | Pos | Segment | Sample | n | Norm. MAE | Skill R² | Bias |
|---|---|---|---|---|---|---|---|
| Passing | QB | Full game | All | 1,876 | 0.28 | +0.162 | 1.02× |
| Passing | QB | Full game | Played | 1,839 | 0.27 | +0.118 | 1.01× |
| Passing | QB | 1st half | All | 1,876 | 0.36 | +0.147 | 1.00× |
| Passing | QB | 1st half | Played | 1,797 | 0.33 | +0.066 | 0.97× |
| Passing | QB | 1st quarter | All | 1,876 | 0.50 | +0.081 | 1.01× |
| Passing | QB | 1st quarter | Played | 1,761 | 0.46 | +0.019 | 0.96× |
| Receiving | RB | Full game | All | 3,968 | 0.84 | +0.076 | 0.92× |
| Receiving | RB | Full game | Played | 2,759 | 0.64 | -0.105 | 0.72× |
| Receiving | RB | 1st half | All | 3,968 | 1.04 | +0.059 | 0.93× |
| Receiving | RB | 1st half | Played | 2,046 | 0.67 | -0.247 | 0.57× |
| Receiving | RB | 1st quarter | All | 3,968 | 1.33 | +0.029 | 0.92× |
| Receiving | RB | 1st quarter | Played | 1,219 | 0.73 | -0.465 | 0.35× |
| Receiving | TE | Full game | All | 3,576 | 0.66 | +0.225 | 1.03× |
| Receiving | TE | Full game | Played | 3,043 | 0.56 | +0.164 | 0.93× |
| Receiving | TE | 1st half | All | 3,576 | 0.83 | +0.171 | 1.01× |
| Receiving | TE | 1st half | Played | 2,375 | 0.58 | +0.012 | 0.76× |
| Receiving | TE | 1st quarter | All | 3,576 | 1.16 | +0.091 | 1.00× |
| Receiving | TE | 1st quarter | Played | 1,456 | 0.65 | -0.352 | 0.50× |
| Receiving | WR | Full game | All | 6,284 | 0.59 | +0.232 | 1.03× |
| Receiving | WR | Full game | Played | 5,567 | 0.52 | +0.163 | 0.96× |
| Receiving | WR | 1st half | All | 6,284 | 0.75 | +0.176 | 1.02× |
| Receiving | WR | 1st half | Played | 4,662 | 0.57 | +0.047 | 0.84× |
| Receiving | WR | 1st quarter | All | 6,284 | 1.05 | +0.100 | 1.03× |
| Receiving | WR | 1st quarter | Played | 3,062 | 0.61 | -0.225 | 0.59× |
| Rushing | QB | Full game | All | 1,878 | 0.74 | +0.321 | 1.05× |
| Rushing | QB | Full game | Played | 1,455 | 0.57 | +0.251 | 0.90× |
| Rushing | QB | 1st half | All | 1,878 | 0.90 | +0.214 | 1.01× |
| Rushing | QB | 1st half | Played | 1,177 | 0.62 | +0.066 | 0.74× |
| Rushing | QB | 1st quarter | All | 1,878 | 1.24 | +0.102 | 1.15× |
| Rushing | QB | 1st quarter | Played | 728 | 0.65 | -0.155 | 0.56× |
| Rushing | RB | Full game | All | 3,990 | 0.57 | +0.257 | 0.96× |
| Rushing | RB | Full game | Played | 3,577 | 0.53 | +0.180 | 0.92× |
| Rushing | RB | 1st half | All | 3,990 | 0.66 | +0.220 | 0.95× |
| Rushing | RB | 1st half | Played | 3,276 | 0.57 | +0.098 | 0.87× |
| Rushing | RB | 1st quarter | All | 3,990 | 0.81 | +0.169 | 0.94× |
| Rushing | RB | 1st quarter | Played | 2,717 | 0.62 | -0.028 | 0.75× |
Every position carries positive skill, and it degrades smoothly rather than collapsing: first half keeps roughly 75–90% of full-game skill, first quarter 40–65%. So scaling by the segment share is a legitimate baseline — a dedicated 1H model has a real bar to clear, and a Q1 model has a lower one on much noisier ground. Built 2026-08-25T01:01:40+00:00.
Understanding These Metrics
Mean Absolute Error (MAE): The average difference between projected and actual values. Lower is better.
Root Mean Square Error (RMSE): Similar to MAE but gives more weight to larger errors. Lower is better.
Accuracy Percentages: The percentage of projections that fell within a specific tolerance range of the actual result.
What These Numbers Mean
- Fantasy Points: Our projections are within 5 points ~69% of the time, within 10 points ~87% of the time
- Yardage Stats: Generally more predictable than touchdown-dependent stats
- Touchdowns: Inherently volatile - even small errors in projection can significantly impact fantasy points
- Receptions: Relatively stable for target share leaders, more variable for boom/bust players