How we build a projection

No black boxes. Here is the whole thing, start to finish, including the part we currently get wrong.

1. Workload, production and fantasy points

We estimate a player’s workload and production, including carries, targets, catches, yards and touchdowns. The weekly model also calibrates fantasy-point targets. Its final stat scenarios are adjusted within count constraints to score consistently with those targets. A stat line that adds up is useful, but it does not prove that each component was predicted independently or accurately.

The same saved stat scenarios are scored under Standard, Half PPR and Full PPR reference rules. Connected leagues can have additional bonuses or penalties; matching the reception value alone does not establish full scoring compatibility. Here is an archived Week 1 format comparison:

Jaxon Smith-Njigba — 2026 Week 1

Receiving excerpt: 6.3 catches, 90 receiving yards

Half-PPR15.1the baseline
Standard11.9catches worth nothing → minus 3.1
Full PPR18.2catches worth a point → plus 3.1

The format differences come from the unrounded reception count; the excerpt and points above are rounded. The full line also contains other scoring components.

The weekly pipeline checks source timing, identity, model output and publication. Required failures can stop a release; missing optional information remains unavailable or uses the model’s recorded fallback. A page being current does not mean every source has supplied a new report.

2. Then we build a range around it

A single number hides the thing you actually need: how safe or how boom-or-bust a player is. Two players can share a median and be completely different plays — one grinding out 14 most weeks, the other going 4 or 28.

Three deliberate choices shape that range:

  • The two sides can differ. Lower and upper uncertainty do not have to be symmetric. The saved range describes plausible scoring variation; it is not a guarantee that a particular outcome is impossible.
  • Constraints can limit it. Position-specific limits and legal stat counts constrain the applicable model paths. Sparse-history and fallback cases can use different recorded handling.
  • Past evidence can stabilize it. Prior-week blending applies where the selected model path and usable history support it. It is not a promise that every player’s range changes smoothly after new role or availability information.

3. Context can change workload, points or uncertainty

We check 26 signals around the game: weather, matchup strength, injury designation, whether the game script favors passing or running, whether a snap count just moved, plus team-level patterns like pace, pass-heaviness and red-zone usage.

The Context Adjustment Framework (CAF) adjusts range width. Other paths, including availability, team opportunity allocation and game-environment adjustments, can change workload or the central projection. The saved calculation explains which effects were actually applied; a descriptive matchup note alone does not establish that the model changed a number.

4. Everything that goes in

Inputs serve different purposes: some inform the numerical forecast, while others supply supporting analysis. Their availability and use depend on the selected run.

The data we pull every week

Supported inputs include historical box scores and play-by-play, rosters, depth charts, permitted injury/practice observations, schedules, game totals and spreads, weather, and rookie draft information. Some participation or advanced datasets may be unavailable or restricted. Missing observations do not mean zero participation or a healthy player.

The stat scenarios

Completions, pass attempts, pass yards, pass touchdowns, interceptions, rush attempts, rush yards, rush touchdowns, targets, receptions, receiving yards, receiving touchdowns. The final scenarios can be reconciled to calibrated point targets. Turnover components and other counts remain unavailable where the saved forecast does not supply them; we do not treat an absent estimate as an independently predicted zero.

What we measure a player by

It comes down to three questions: how much work does he get, how efficient is he with it, and how valuable is that work. The specific measures differ by position — a quarterback is judged on passing and rushing efficiency and his carries; a running back on carries, target share, snap share and receiving efficiency; receivers and tight ends on target share, share of the air yards, snap share and how much they convert the volume thrown their way.

The 26 context signals

These are CAF’s range inputs, grouped by the situation they describe. A listed feature does not establish that it was available or varied for every player:

Matchup2How this defense handles his position, and whether it is an outright smash spot.
Game environment6Vegas total, spread, and the implied team total — is this a shootout or a slog, and is his team expected to be chasing or sitting on a lead.
Weather2Wind, temperature and whether the roof is closed.
Health & availability3His injury designation, whether the quarterback changed, and short rest.
Usage & role5Snap count movement week over week, target hog status, usage trending up or down, and garbage-time inflation.
Team tendency4Pass-heavy, run-heavy, fast pace, red-zone heavy — each measured over the last three weeks.
Regression & trends4Touchdown rate running hot or cold against his own history, efficiency well off the position norm, a genuine hot streak, and a touchdown drought despite volume.

CAF’s width adjustment is separate from the availability, workload and environment paths that can move the central estimate. Use the matching saved explanation to distinguish an applied calculation from additional football context.

5. What the floor and ceiling actually mean

This is the part most sites are vague about, so here it is straight.

The floor and ceiling are meant to be crossed. They are not “impossible” lines. Across all the players we project, we aim for:

  • about 12 in 100 to finish below their floor
  • about 15 in 100 to finish above their ceiling

That is what makes them useful. A floor nobody ever falls below is just a low number, and a ceiling nobody reaches is just a big one.

One honest caveat: those are targets across the whole population over a season, not a probability for one specific player in one specific week. The optional sampled distribution is an estimate and can use a weekly band-based approximation; it does not turn the saved endpoints into calibrated per-player quantiles.

Confidence score is a separate weighted score from 0 to 100, using data depth and freshness, role stability, range width, context continuity, source quality, scoring variability, and rookie/injury uncertainty. A score of 70 does not mean a 70% chance of playing or scoring in range. Missing confidence remains unavailable.

MC Hit% estimates the chance of finishing inside the displayed range under the sampled distribution. Observed coverage is the fraction of graded forecasts that actually finished in range. Neither is the confidence score, and a tighter range does not automatically mean a better forecast. Other confidence measures retain their own calibration or fallback provenance.

6. What still needs evaluation

Range quality must be checked against recorded results.

Earlier retrospective checks found that upper-bound coverage differed by position, especially at quarterback. Those checks used rebuilt historical inputs. They do not establish the accuracy or calibration of the current published model.

Review point error, range coverage and range width together, including position and workload differences. Neither a high in-range rate nor a narrow band establishes useful accuracy on its own.

Those historical figures come from seasons we scored using inputs rebuilt after the fact. They tell us how the model behaves; they are not a track record, which is why we are not publishing them as one.

The Scoreboard and Accuracy pages show the accepted results available so far. Later corrections remain distinguishable from the original forecasts; unplayed games do not receive an accuracy grade.

7. How we grade ourselves

We grade the whole range, not just whether the middle number was close. The question is not only “was the projection good” but “was that range the right shape” — and when reality drifts away from the targets above, the ranges get adjusted.

Our public record starts with the 2026 season, published week by week on the Scoreboard, hits and misses alike. We are deliberately not quoting a career accuracy number. Our older seasons were scored using inputs rebuilt after the games were played, so they cannot prove what we would have told you before kickoff — and grading yourself on a test you already have the answers to is not a track record.

8. What we are building next

The current allocator already redistributes team opportunities when players are excluded. The next extension studies more detailed absence, return and teammate-workload scenarios, including conditional production. That new scenario model is not active in public projections.

Retained inputs and experimental outputs support later evaluation. Missing participation evidence stays unknown, and fitted injury probabilities or improved predictive accuracy are not claimed before the relevant comparisons support them.


Every figure on this page is drawn from the system itself rather than from marketing copy. If something here stops being true, this page is wrong and we want to know.