How we build a projection
No black boxes. Here is the whole thing, start to finish — including the part we currently get wrong.
1. We project the box score, not the points
We never guess at a fantasy total directly. We project what a player will actually do — catches, yards, carries, touchdowns — and only then convert that into points using your league’s scoring.
This is why the same player carries different numbers in different formats. It is one projection scored several ways, not several separate guesses. Here is a real Week 1 example:
Jaxon Smith-Njigba — 2026 Week 1
Our projected stat line: 6.3 catches, 90 receiving yards
| Half-PPR | 15.1 | the baseline |
| Standard | 11.9 | catches worth nothing → minus 3.1 |
| Full PPR | 18.2 | catches worth a point → plus 3.1 |
The entire gap between formats is exactly his projected catches. Nothing else moved.
The weekly run moves through seven stages, each one gating the next. If an input is stale — rosters, depth charts, injury reports, snap counts — the run stops rather than quietly reaching your screen with last week’s data.
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:
- It leans upward. The ceiling reaches further from the middle than the floor does, because football upside has a longer tail. A player can go for 40; he cannot go for negative 20.
- It is capped. No quarterback or running back range extends more than 15 points from the middle, no receiver or tight end more than 12. This stops a noisy history from producing a meaningless range that spans everything.
- It does not lurch. Each week’s range is blended with the prior week’s, so one strange game moves it without whipsawing it.
3. Context changes the range — never the middle
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.
These only widen or tighten the range. They cannot move the middle number, and the total adjustment is capped. Bad weather does not make us predict fewer points — it makes us less certain, so the range opens up. That distinction is the whole point: we would rather tell you we are unsure than quietly shade a number and let you think it was confidence.
4. Everything that goes in
The full ingredient list, in plain terms. Nothing here is decoration — each one feeds either the stat line or the range.
The data we pull every week
Every box score back to 2018, play-by-play with who was actually on the field, snap counts, depth charts, weekly rosters, injury report designations, the schedule (opponent, home or away, days of rest, dome or outdoors), Vegas game totals and spreads, weather (wind, temperature, roof), advanced rushing data, and where rookies were drafted. If any of these is stale on a given week, the run stops rather than projecting on old news.
The 12 stats we project
Completions, pass attempts, pass yards, pass touchdowns, interceptions, rush attempts, rush yards, rush touchdowns, targets, receptions, receiving yards, receiving touchdowns. Your points are calculated from those — we never project a points total directly.
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 decide how wide or tight the range is. They are grouped by what they are actually watching:
| Matchup | 2 | How this defense handles his position, and whether it is an outright smash spot. |
| Game environment | 6 | Vegas 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. |
| Weather | 2 | Wind, temperature and whether the roof is closed. |
| Health & availability | 3 | His injury designation, whether the quarterback changed, and short rest. |
| Usage & role | 5 | Snap count movement week over week, target hog status, usage trending up or down, and garbage-time inflation. |
| Team tendency | 4 | Pass-heavy, run-heavy, fast pace, red-zone heavy — each measured over the last three weeks. |
| Regression & trends | 4 | Touchdown 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. |
Worth repeating, because it is the part people assume works the other way: none of these 26 move the middle number. A brutal matchup does not quietly shave two points off a projection. It widens the range, and you get to decide what to do with that.
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. We do not compute a personal probability curve for each player, so we will not dress these up as one.
Season-long projections work differently — those come from a simulated season, so their floor and ceiling really are the 10th and 90th percentiles of that simulation.
6. Where we are currently wrong
Our ceilings sit too far out, and it is worst at quarterback.
A ceiling game is supposed to happen roughly one week in seven. When we checked our own history, quarterbacks reached their ceiling closer to one week in twenty. Every position came in under the target, quarterback by the widest margin. Our floors are close to where they should be.
The practical read: a ceiling is not equally reachable across positions right now, so comparing a quarterback’s ceiling directly against a receiver’s — exactly what you do setting a flex or building a DFS lineup — is comparing two numbers that do not mean quite the same thing. Trust the floor and the median more than the ceiling for now.
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.
We are telling you this because a projection site that only publishes its good numbers is not being transparent, it is marketing. This is a measurable problem with a known direction, and this season’s results are what will fix it.
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
When a starter is ruled out, his touches do not vanish — they go to a teammate who is usually still projected as though nothing happened. The piece that moves a projection for the players who inherit that work is built, but it is not switched on and is not affecting any number on this site.
It runs quietly in the background this season, recording what it would have done so we can check it against real games before it ever touches a projection you would act on. If it turns out not to help, it stays off. We would rather ship it late than ship it wrong.
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.
