How the NFL Model Works

Football isn't a spreadsheet of final scores — it's a sequence of drives, and every drive depends on the situation. Our NFL model is built the same way.

Games are simulated drive by drive

Instead of regressing directly onto final margins, the model plays each game out possession by possession. A drive-outcome model — trained on more than 61,000 real NFL drives — estimates the probability of every way a drive can end (touchdown, field goal made or missed, punt, turnover, turnover on downs, defensive score, safety, end of half) given the full situation: field position, score differential, time remaining, both teams' strength profiles, weather, rest, travel (distance flown, body-clock time-zone shifts, and Denver's altitude), and venue.

Companion models govern the clock — how many plays a drive consumes and how much time comes off, including hurry-up and clock-killing behavior — and field position, learned from real punt nets, turnover spots, and kickoff outcomes. Every matchup is simulated 10,000 times with real halves, points-after logic and modern overtime rules.

Because scores emerge from simulated football rather than a curve fit, the margin distribution lands on real key numbers (3, 7, 10) naturally, and every derived market — spreads, totals, moneylines, team totals, alternate lines — comes from one coherent engine.

Team strength that updates every week

Each team carries an Elo rating (with margin-of-victory weighting and season-boundary regression) plus exponentially-weighted form across a dozen efficiency dimensions: points and touchdowns per drive, turnovers per drive, yards per play and per pass/rush, third-down and sack rates. Everything is computed strictly from games played before the one being predicted — no lookahead, ever.

Player props with full distributions

The props engine projects each player's entire outcome distribution, not just an average — passing yards, attempts, completions, passing TDs, interceptions, rushing yards and attempts, receptions, receiving yards, and anytime TD. Yardage markets use conditionally-scaled empirical distributions; count markets use negative-binomial models; TD probability comes from expected-touchdown rates.

Volume is allocated, not assumed. Rather than regress a player to his season average, the model distributes each team's simulated plays across its active roster by role — so when a starter is out, his snaps, targets and carries flow to the players actually on the field that week, and team totals stay conserved. Efficiency (yards per opportunity, catch rate, red-zone and goal-line share) is layered on top, with opponent positional allowances and the game environment implied by the simulation.

For the high-volume players who drive the market, projections also fold in Next Gen Stats tracking data — air-yards share and average depth of target for receivers, completion percentage over expectation for quarterbacks, and rush yards over expected for backs. Each projection is then priced against live sportsbook lines: we de-vig the market, compute over/under probabilities, expected value at the quoted price, and a quarter-Kelly stake suggestion.

Correlated parlays, priced from the joint simulation

A same-game parlay isn't five independent bets — it's one bet on a coherent game script. When a quarterback throws for 300 yards, his top receiver almost certainly went over too; they rise and fall together. Because every player's outcome is drawn from the same simulated games, our engine prices a stack from how often the legs actually hit together across the simulation — not by multiplying independent probabilities the way a book's default price does.

That difference is the edge, shown as a correlation multiplier: how much more likely a stack is than its independent price implies. We launched with the QB-anchored passing stacks that a walk-forward parlay hit-rate backtest confirmed out of sample — a quarterback with his top one or two receivers — and we deliberately price them conservatively, nudging every correlation toward independence so a stack never looks better than it is. Game-script stacks (a quarterback over with the opposing run game under) are validated but held back until the model captures that anti-correlation as sharply as the passing correlation.

Validated the only honest way

Every published performance number is walk-forward: the model is trained through season N−1 and predicts season N blind, repeated across seasons, and benchmarked against actual closing lines — the hardest benchmark in sports. See the live backtest for spread/total accuracy vs the market, ATS results by edge size, ROI, and probability calibration. Nothing in-sample is ever shown.

Data sources

Historical results and closing lines back to 1999; play-by-play, drive logs and player boxscores (including targets) for every game since 2016; Next Gen Stats player-tracking data; snap counts and depth charts; live odds from major US sportsbooks; and stadium, surface, rest and live weather-forecast context for every matchup — outdoor games are simulated against the forecast wind and temperature at kickoff, not a default. The pipeline refreshes daily and re-trains weekly during the season, and every candidate input is kept only if it beats the prior model walk-forward.

Predictium is an analytics product. Model outputs are probabilities, not guarantees, and nothing here is betting advice. If you choose to bet, bet responsibly.