A data product should be able to explain itself: how the numbers are built, where they come from, and what they can't tell you. Everything is computed live from one source (2024–2026).
Every weekly projection for week W is built using only data available before week W kicked off. Trailing form and usage features are computed over prior games and explicitly exclude the week being projected; the game environment comes from pre-kickoff market lines. When projections are evaluated over past seasons, it is a walk-forward backtest: each season is projected by a model trained only on earlier seasons, exactly as it would have run live.
That means nothing on the site is a model graded on games it already saw. When you browse a past week, you're seeing what the model would have projected before those games were played.
One deliberately simple model per position: a ridge regression with learned (not hand-set) weights over point-in-time features, trained walk-forward so each season is projected using only earlier seasons. Players are ranked within their position by projected PPR points for the week. The features:
Every trailing feature is shifted so the week being projected is never part of its own inputs. Players with too little history get no projection rather than a made-up one.
The site has two kinds of numbers, and we keep them separate on purpose:
If a number on this site looks forward, it was computed point-in-time with no hindsight. If it doesn't, it's describing the past.
Everything is built from a single source: official NFL box scores, snap counts, play-by-play, betting odds, and injury status. One source keeps the pipeline reproducible and the point-in-time guarantee auditable.
It also sets honest limits. That source has no air-yards feed and no official EPA, so the model does not use them, and metrics we derive ourselves from the play-by-play (like the expected-points cuts in the Stat Explorer) are labeled "our EP/EPA" to make clear they are our reconstruction, not the official figures. When a stat can't be built cleanly from this source, we'd rather not show it than fake it.