NFL Fantasy Projections: Floor, Ceiling and Stacks
A projection of 12.4 points is not meaningfully more accurate than 11.9, and nobody can honestly tell them apart, because most of what separates them is touchdown luck. So these are distributions. Proj is the median, Floor the 25th percentile, Ceiling the 90th, and 20+ the chance of a twenty point game. Cash games want the floor. Tournaments want the ceiling. They are rarely the same player.
Stacks: who goes off together
Two medians tell you nothing about how often two players have a big game in the same game, and that is the whole question a tournament lineup asks. Lift is how much more often both land in their own top 30% together than they would if they were independent. 1.00 means no benefit at all. Anything above it is the stack earning its place.
How these are built
The volume comes from the betting market, on purpose
The betting market is the most accurate public forecast of NFL player volume that exists, and it updates on injury news within minutes. Our own simulation, tested across two seasons it was never fitted on, carries under 2% skill on quarterback passing volume, because how often a quarterback throws is decided by the score and no model here knows the score. Building a projection that ignores all of that and then claiming accuracy would be backwards.
So every betting line on a player is de-vigged, which means the bookmaker's cut is stripped out, and then inverted into an expected value. A line of 4.5 receptions priced at a fair 52% over implies a different average depending on how spread out that player's receptions are, and that spread comes from his own plays. The market sets the location and the play by play sets the shape. They are two halves of one estimate, not two competing ones.
The anchoring is checked rather than assumed. Across more than eight hundred anchored numbers, the simulation's own probability of clearing each line sits a median of 0.4 percentage points from the market's, and never more than four.
Everything the market does not price
A slate carries only a few hundred betting lines, and each is a single number. The play by play fills in the rest: the full distribution, so you get a floor and a ceiling rather than a point estimate; the long tail, which is what decides a ceiling; every player the market has posted no line on at all; and the correlation between team mates.
Correlation, which is the part nobody publishes
Team mates are not independent, and treating them as though they are is the most common mistake in fantasy projections. Measured across three seasons of half PPR, a quarterback's fantasy points correlate at 0.33 with his number one receiver, 0.37 with his number two, and 0.30 with his tight end. The two running backs correlate at minus 0.12, because they take each other's carries. A quarterback correlates at 0.16 with the quarterback he is playing against, which is the shootout effect and is real but modest.
Those are built in with a method that reorders each player's own simulated games to move with his team mates while leaving his individual projection exactly as it was. So a stack can be priced honestly without distorting anybody's number, and the achieved correlations come back within 0.04 of the measured targets.
Players on the injury report are projected, not hidden
A player carrying a knock is marked with a ✚ and projected as though he plays, because the betting lines posted on him are the market saying it expects him to. Removing him instead would quietly delete whichever stars are carrying something, which are exactly the players most people open this page to look at. Whether he actually plays is a question nothing here can answer, so the marker is an instruction to go and read the news rather than a number to trust. There is a filter to hide them if you would rather not see them at all.
A missed practice for a reason that is not an injury, a veteran rest day or a personal matter, is not treated as a doubt at all. Those sit in the same column on the official report as a hamstring and only the reason text separates them.
What this does not know
Weather, this week's game total and spread from a live source, pace, and snap projections for players the market has ignored. A player whose role is about to change is read from the injury report, and where he has never played without the man who is out, the projection says it cannot judge him and leans on the line instead. Those rows are marked, and so is every player whose history is too short for the number to mean much.