The NFL game model
Rewritten October 6, 2026, to describe the model that serves the NFL game projections today.
- Predicts
- The final margin of each NFL regular-season game (home score minus away score) and the home team's chance of winning.
- Inputs
- A team rating that starts from a preseason roster rating and moves to in-season team and quarterback Elo as games are played; nine play-by-play efficiency stats per team; the starting quarterback; rest difference; and whether it is a division game. The betting line is not an input.
- How it is tested
- Walk-forward on 2020-2025: each season predicted by models fit only on earlier seasons, every regular-season week, 1,615 games, with the closing spread on the same games beside it. 2026 games are graded from the number frozen before each week.
- Headline result
- 2020-2025: average miss 10.11 points, closing spread 9.76 (1,615 games). 2026 weeks 1-4: 9.80 points, closing spread 9.65 (64 games).
Summary
Each NFL game projection on the site is the average of two regression models. Both are fit on past NFL seasons and both predict the final margin from the same base: a team rating, nine play-by-play stats for each team, rest difference and a division-game flag. They differ in how they handle the quarterback. Version 1.3 gets the quarterback through its team rating, which includes the starter's own Elo. Version 1.4 uses a plain team Elo and adds three direct inputs about the starting quarterback. The published margin is half of each, and the win probability comes from that margin.
1. What the site shows
On the NFL game board and each game page, our number is the model's projected margin and its win probability. The DraftKings line is shown beside it, with the gap between the two. Once a week has frozen (section 6), the number shown for that week is the frozen one, not a recompute.
The model's total points are not published. Game totals come from a separate model and are shown as a range; see Game totals as a range.
2. The team rating
The rating is on the Elo scale, where a league-average team is about 1505. Version 1.3 uses the rating described in this section. Version 1.4 uses a simpler team Elo, described in section 4.
Preseason rating
Before any games are played, each team's rating combines three things:
- Last season's final team Elo, pulled one third of the way back toward the league average.
- The value of this season's roster apart from the quarterback: each player's approximate value over recent seasons, weighted toward the most recent, summed over the team's preseason roster.
- A rating of the quarterback in line to start, shrunk toward average when he has few dropbacks.
The roster part and the quarterback part are combined first, then blended with the regressed Elo. The weights were set when the rating was validated and are not published here. Offensive linemen count only in the general roster total; there is no separate offensive-line term (section 9 explains why).
In-season rating
Once games are played, the in-season part is our Combined Elo: a team Elo that leaves the quarterback out, plus the Elo of that week's starting quarterback. This is the team rating shown on NFL team ratings.
- The team Elo follows FiveThirtyEight's NFL Elo. After each game it moves by the result against expectation, scaled up for the margin of victory with diminishing returns, and the expectation accounts for opponent strength and home field. Each offseason it is pulled one third of the way back toward 1505.
- Each quarterback's Elo updates after each game from his own play: passing value (expected points added), completion accuracy above expectation, pressure and rushing, adjusted for how much the opposing defense usually allows. It travels with him if he changes teams.
How the preseason rating fades
The rating version 1.3 uses is a weighted average of the preseason rating and the in-season rating. The preseason weight, w, depends only on how many games the team has played:
rating = w × preseason rating
+ (1 − w) × Combined Elo
| Games played | 0 | 1 | 2 | 4 | 8 |
|---|---|---|---|---|---|
| Preseason weight | 100% | 67% | 50% | 33% | 20% |
Preseason weight by games played, from the formula above.
The 2 was chosen on September 27, 2026, replacing 8. The 8 came from a test whose preseason rating used end-of-2025 Elo for every season, so it knew results it should not have. On a point-in-time rerun over 2020-2025, choosing the weight from earlier seasons only beat a fixed 8 by 0.072 points of average miss (95% interval 0.034 to 0.110).
A week-N prediction only reads results through week N−1. The rating is rebuilt and stored after each completed week.
3. Play-by-play stats and game facts
Each team carries nine stats from play-by-play data, averaged over its last eight games:
- Offense: expected points added per play, success rate, yards per play, pace, third-down conversion rate, red-zone touchdown rate.
- Defense: expected points added allowed per play, success rate allowed, yards allowed per play.
The model reads the difference between the two teams on each stat, plus four sums of the two teams: pace, offensive expected points added, defensive expected points added allowed, and yards per play.
In week 1 these stats are each team's end-of-last-season values. As games are played, this season's numbers are blended in:
this-season weight = g / (g + 4)
After four games the two count equally. This update was added on September 27, 2026; before that the stats stayed at last season's values all year. The 4 was fixed before the test, not tuned. On 2020-2025 the update lowered the average miss by 0.148 points (95% interval 0.073 to 0.226).
Two game facts complete the inputs:
- Rest difference: days since each team's last game, home minus away, from the NFL schedule.
- Division game: whether the two teams are in the same division.
There is no separate home-field term. The regression's home advantage sits in its constant and its sum terms, so it varies a little by matchup; measured across the 272-game 2026 schedule on August 25, 2026, it averaged 1.92 points. At neutral and international sites it is removed: the model predicts the game both ways round and keeps only the part that does not depend on which team is listed as home.
4. Two regressions, averaged
Both models are ridge regressions (linear regressions whose coefficients are held small to limit overfitting) that predict the final home margin. Training uses only games in which both teams had already played at least four games that season.
| Version 1.3 | Version 1.4 | |
|---|---|---|
| Team rating input | Section 2 rating | Plain team Elo |
| Quarterback | Inside the rating | 3 direct inputs |
| Inputs | 16 | 19 |
| Training seasons | 2018-2025 | 2015-2025 |
| Training games | 1,018 | 1,389 |
| Last fit | Sep 27, 2026 | Aug 27, 2026 |
From the two models' metadata files, read October 6, 2026.
Version 1.3
Sixteen inputs: the nine stat differences, the four sums, rest difference, the division flag, and the difference in team rating from section 2.
Version 1.4
The same sixteen, except that the team rating is a plain FiveThirtyEight-style team Elo with no quarterback in it, plus three inputs about the two starting quarterbacks:
- Each starter's recent passing value per dropback, shrunk toward the league average when he has thrown little.
- Whether he is a backup (has taken a small share of his team's recent dropbacks).
- Whether he is inexperienced (few career dropbacks).
The starter is the first quarterback on the latest depth chart dated before game day. If the injury report lists him as Out or Doubtful, the next quarterback on the chart is used. The model never reads who actually started. On past games this rule named the actual starter 90.2% of the time (5,790 team-games).
The average
+ ½ × version 1.4
The average has been the published number since September 27, 2026, and was first frozen for week 4. Over 2020-2025 it beat version 1.3 alone by 0.074 points of average miss (95% interval 0.019 to 0.127) on the same 1,615 games. If any version 1.4 input is missing for a game, version 1.3 is published alone for that game and the frozen record says so.
The coefficients are fit before the season and are not refit week to week. What changes during the season are the inputs: the team rating, the play-by-play stats and the starting quarterback.
5. From margin to win probability
The home team's win probability is the chance that a normal distribution centred on the projected margin lands above zero. Its standard deviation is 13.06 points, the spread of the average's misses in the 2020-2025 walk-forward. Probabilities are kept between 5% and 95%.
kept between 5% and 95%
6. When predictions freeze
Every Thursday at 13:20 UTC, before Thursday Night Football, the numbers for every game of the coming week are written to a frozen record with the time, each version's own number and the DraftKings line at that moment. The freeze moved from Wednesday to Thursday on September 14, 2026, so that it comes after the first practice report, and to 13:20 on September 28, so that it comes after the morning DraftKings capture.
Before the freeze, the number on the board is recomputed as inputs change. Once a game has kicked off, the board shows its frozen number.
7. How it is graded
Each frozen number is graded against the final score:
- Average miss: the frozen margin against the final margin, with the closing spread's miss beside it.
- Straight up: did the team the model favoured win.
- Against the closing spread: which side of the closing line the frozen margin falls on, and whether that side covered.
The closing spread is the DraftKings line captured before kickoff. The running record is on the NFL track record page. A weekly scorecard also grades the win probabilities (Brier score) and each version on its own.
8. Accuracy against the closing line
2020-2025, predicted as if live
For each season from 2020 to 2025, both regressions were fit only on earlier seasons, the team rating and stats were built only from games already played, and every regular-season week was predicted. The comparison line is nflverse's recorded spread for each game, which is at or near the close.
| Average miss | Root mean square miss | |
|---|---|---|
| Our model (the average) | 10.11 | 13.05 |
| Version 1.3 alone | 10.18 | 13.13 |
| Version 1.4 alone | 10.14 | 13.09 |
| Closing spread | 9.76 | 12.66 |
1,615 games, 2020-2025. Source: the pre-declared gate results of September 27, 2026.
The closing spread's average miss was 0.35 points smaller than ours (95% interval 0.21 to 0.47, resampling whole weeks). The model's win probabilities had a Brier score of 0.221 on the same games. On 2019, a season no earlier test had scored (256 games), the average missed by 10.21 points.
2026 so far
| Average miss | Brier | |
|---|---|---|
| Our model (as published) | 9.80 | 0.228 |
| Closing line | 9.65 | 0.229 |
Weeks 1-4, all 64 games, graded October 6, 2026 from the frozen numbers. Weeks 1-3 published version 1.3 alone; week 4 (16 games) was the first frozen average.
The difference in average miss is 0.15 points (95% interval −0.61 to +0.91). Sixty-four games are too few to tell the two apart.
9. What was tested and left out
- The betting line as an input. The line is never an input. When a mix of the model's number and the line was tested walk-forward, the most accurate mix put no weight on the model, so the site shows the two side by side instead of blending them.
- Offensive-line value. Two separate offensive-line measures were tested. Neither helped: with them, season win-total error rose by 0.001 wins and margin error by 0.008 points per game, both within noise (intervals spanning zero).
- Charting data. Adding 14 FTN charting features (pressure, pace, pass efficiency) to the margin model made it worse: average miss 11.08 against 10.72 without them (2021-2025, weeks 8-18).
- Shrinking the margin. Three corrections that pull predicted margins toward zero or shift them were fit on earlier seasons and scored on 2021-2025 (1,359 games). None improved average miss, squared miss, Brier score or log loss.
- Refitting both versions on inputs built exactly as served. It looked better on 2020-2025 but failed its pre-declared test, including the 2019 check, so the plain average shipped instead.
- A heavier preseason weight. 8 prior games lost to 2 (section 2).
- News adjustments. A pipeline that proposed rating changes from news stories, approved by hand, was switched off on September 27, 2026. In season the ratings already absorb the same news through results.
- Line moves as news. A rule that moved a team's rating when the market line moved was removed on September 28, 2026. It had never applied, and it would have fed a game's own line into our number.
10. Known limits
- The closing line is more accurate. By 0.35 points per game over 2020-2025 (section 8).
- No weather, travel or primetime inputs. The served model does not use them.
- Injuries beyond the quarterback are not modelled directly. The roster part of the preseason rating uses the preseason roster. In-season injuries reach the model only through the starting quarterback and through results.
- Early-season games are outside the training data. The regressions were fit on games after each team's fourth; weeks 1-4 are predicted with the same coefficients.
- Late news. The number freezes Thursday. A starter ruled out after that is not in the frozen number.
- Small 2026 sample. 64 graded games, 16 of them on the average. Whether the average beats version 1.3 live, and whether version 1.4 beats version 1.3, cannot be answered until late in the season.
11. What happened to V6
This address used to describe V6, an earlier game model: team Elo plus quarterback Elo plus a situational layer (rest, division games, primetime, weather, stadium, injuries). V6 stopped producing the NFL game board's projections on May 25, 2026, when the board moved to the regression model.
Parts of V6 still serve:
- Its team Elo and quarterback Elo add up to Combined Elo, the team rating on the site and the in-season half of the rating in section 2.
- Its quarterback Elo powers the NFL quarterbacks pages.
- V6 still runs each night, and its output is where the site reads the current team Elo and quarterback Elo. The game margins and win probabilities V6 also writes are not used by the game board, the game pages or the records.
Checked against the serving code on October 6, 2026.