Methodology
How the numbers are made
We show our work. Here’s exactly how PropProphet builds projections today — and what’s coming next.
Every number on this site is traceable to its source data. We cover one sport per template and turn it on when its season is live — right now that’s MLB. The model is deliberately transparent and evolving: we’d rather ship a baseline you can audit than a black box.
Where the data comes from
- MLB stats: the official MLB Stats API — game-by-game batting and pitching lines.
- NFL stats (when its season is live): nflverse (nflfastR / nflreadr) — weekly player box scores.
- Market lines: The Odds API — player-prop lines and odds across US books, for every sport we cover.
The projection model
For each player and prop, we build a per-game projection by blending two signals:
- Season rate — the player’s per-game average across the season.
- Recent form — the average over their most recent games (last 10 for MLB’s ~160-game season; a shorter window for shorter seasons like the NFL’s ~17).
The projection starts as a 50/50blend of the two, so it reflects a player’s established level while still responding to hot or cold stretches. We project the core markets for each sport — for MLB: hits, total bases, home runs, RBIs, runs, and pitcher strikeouts; for the NFL (when its season is live): passing, rushing and receiving yards, receptions, and touchdowns.
MLB (v1, live):the baseline is adjusted for each player’s next game. Batter projections are scaled by the opposing probable starting pitcher’s suppression (hits allowed per 9 vs. league — with a fallback to the opponent team’s pitching when the starter isn’t announced) and by an empirical ballpark factorcomputed from home/road run splits in our own data. Pitcher strikeout projections are scaled by the opposing lineup’s strikeout rate. All factors are half-regressed toward neutral and clamped. NFL is the season baseline (v0) until the season provides an upcoming game to model.
From projection to edge
When a market line is available, we compare our projection to the consensus line (the average posted line across books) and show the difference as the edge. A positive edge means we project above the line (a lean to the Over); negative means below. To reason about price properly, pair this with no-vig fair odds and expected value.
How often it updates
MLB refreshes daily (new box scores + recomputed projections); NFL refreshes weekly during the season. Pages revalidate automatically, so what you see is current without us redeploying.
What v0 does not do yet
The honest list of what’s on the roadmap:
- NFL opponent and game-environment adjustments (defense vs. position, pace, weather) — once the season provides upcoming games. (MLB already applies opponent + park factors in v1.)
- Usage-based inputs (snap share, route/target rates, batting-order position).
- True no-vig probability edges and expected-value ranking, not just a line delta.
- Published, backtested hit rates so you can judge the model honestly.
On variance
A projection is the center of a distribution, not a prediction of what will happen. In a single game anything can occur; an edge only shows up over a large sample — see variance and sample size. When we publish hit rates, we’ll include the misses too.