Game quality
How well each team played, beyond the score: EPA (expected points added) per play, adjusted for the opponent. A big day against a bad defence counts for less. Season views include playoff games.
Teams, 2022
Per-game averages. Expected wins sums each game's win expectancy, so wins minus expected is mostly luck. Click a column to sort.
| Team | Record | Adj off EPA | Adj def EPA | Adj margin | Raw margin | Expected wins | Wins − expected | Avg vs line | Turnover diff |
|---|---|---|---|---|---|---|---|---|---|
| KC | 17–3 | +0.202 | -0.004 | +0.206 | +0.195 | 16.8 | +0.2 | +0.2 | +5 |
| PHI | 16–4 | +0.114 | -0.066 | +0.180 | +0.188 | 13.9 | +2.1 | +2.6 | +11 |
| SF | 15–5 | +0.075 | -0.104 | +0.179 | +0.177 | 14.8 | +0.2 | +3.4 | +12 |
| BUF | 14–4 | +0.095 | -0.048 | +0.144 | +0.142 | 12.1 | +1.9 | +1.0 | -4 |
| CIN | 14–5 | +0.091 | -0.048 | +0.139 | +0.118 | 14.5 | -0.5 | +2.7 | +7 |
| DAL | 13–6 | +0.025 | -0.088 | +0.113 | +0.117 | 12.5 | +0.5 | +3.4 | +10 |
| MIA | 9–9 | +0.036 | -0.018 | +0.054 | +0.040 | 10.8 | -1.8 | -0.6 | -6 |
| JAX | 10–9 | +0.030 | -0.008 | +0.038 | +0.050 | 9.7 | +0.3 | +4.5 | -2 |
| NE | 8–9 | -0.064 | -0.099 | +0.035 | +0.040 | 8.9 | -0.9 | +1.2 | +4 |
| BAL | 10–8 | +0.008 | -0.017 | +0.025 | +0.018 | 9.7 | +0.3 | -0.3 | +2 |
| LAC | 10–8 | +0.004 | -0.007 | +0.011 | +0.020 | 9.5 | +0.5 | -0.6 | +7 |
| NO | 7–10 | -0.052 | -0.062 | +0.009 | +0.012 | 8.6 | -1.6 | -0.2 | -11 |
| CLE | 7–10 | +0.019 | +0.017 | +0.002 | +0.005 | 8.6 | -1.6 | -0.8 | -1 |
| WAS | 8–8–1 | -0.084 | -0.074 | -0.009 | -0.006 | 7.9 | +0.6 | +0.2 | -8 |
| PIT | 9–8 | +0.016 | +0.027 | -0.011 | -0.023 | 8.5 | +0.5 | +1.0 | +6 |
| DET | 9–8 | +0.062 | +0.075 | -0.013 | -0.009 | 8.3 | +0.7 | +3.9 | +7 |
| TB | 8–10 | -0.031 | -0.009 | -0.022 | -0.034 | 8.4 | -0.4 | -6.2 | -1 |
| NYJ | 7–10 | -0.088 | -0.063 | -0.025 | -0.036 | 7.8 | -0.8 | +1.8 | -7 |
| NYG | 10–8–1 | +0.040 | +0.070 | -0.030 | -0.028 | 8.8 | +1.7 | +1.8 | +2 |
| GB | 8–9 | -0.001 | +0.033 | -0.034 | -0.026 | 8.3 | -0.3 | -2.4 | +4 |
| SEA | 9–9 | +0.005 | +0.040 | -0.035 | -0.038 | 7.4 | +1.6 | +1.3 | +0 |
| CAR | 7–10 | -0.051 | +0.003 | -0.055 | -0.046 | 7.4 | -0.4 | +2.2 | -2 |
| MIN | 13–5 | -0.016 | +0.040 | -0.056 | -0.044 | 7.6 | +5.4 | -2.8 | +0 |
| TEN | 7–10 | -0.061 | +0.001 | -0.062 | -0.057 | 7.6 | -0.6 | -1.0 | +0 |
| LV | 6–11 | +0.006 | +0.070 | -0.064 | -0.065 | 7.3 | -1.3 | -1.1 | -8 |
| DEN | 5–12 | -0.121 | -0.050 | -0.070 | -0.061 | 7.2 | -2.2 | -3.6 | +0 |
| ATL | 7–10 | +0.013 | +0.084 | -0.071 | -0.067 | 5.7 | +1.3 | +0.8 | -2 |
| LA | 5–12 | -0.077 | +0.002 | -0.078 | -0.100 | 5.7 | -0.7 | -2.9 | -2 |
| ARI | 4–13 | -0.088 | +0.005 | -0.094 | -0.109 | 6.2 | -2.2 | -2.5 | -4 |
| CHI | 3–14 | -0.054 | +0.109 | -0.163 | -0.161 | 4.4 | -1.4 | -2.6 | -2 |
| IND | 4–12–1 | -0.189 | -0.016 | -0.173 | -0.156 | 4.6 | -0.1 | -6.6 | -13 |
| HOU | 3–13–1 | -0.195 | +0.007 | -0.202 | -0.191 | 3.0 | +0.5 | -0.3 | -4 |
How the ratings are built
Opponent adjustment. A unit's rating for a game is its average over its other games that season, blended with 16 games' worth of prior (league average plus half of last season's gap from it; 24 games for pass defence, which is noisier). Early in a season that leans on last year; by midseason it is mostly this year. Chosen by how well it predicts a held-out game: it cut that error by about a quarter against no shrinkage, and adjusted numbers agree between odd and even weeks more than raw ones do (team EPA margin r 0.52 → 0.55, defence 0.32 → 0.36, QB EPA/dropback 0.47 → 0.49, 2016–2025).Win expectancy is a logistic fit of wins on EPA margin over 6,036 completed games (it names the winner 86.5% of the time). These describe what happened; one game is not a forecast. Play-by-play credits the quarterback with every sack and dropback, so a bad line shows up in his numbers. Seasons 2016–2026, built 2026-11-07 11:05 UTC, from nflverse. Write-up:
backtests/nfl_game_quality/FINDINGS.md.