Game quality
What each result was worth beyond the score. Every play is graded by EPA (expected points added), then adjusted for who it came against: a defence's rating is what it allowed to everyone else that season, so a big day against a bad defence counts for less. Season views include playoff games.
Games
Adj margin = offence minus defence EPA per play after the opponent adjustment. Win exp = how often a team with that adjusted margin wins; a 55% win was a coin flip that landed. Win prob range = lowest and highest in-game chance, which is where blown leads and comebacks show.
| Team | Score | vs line | Off EPA/playraw → adj | Def EPA/playraw → adj | Adj margin | Win exp | Win prob range | Turnoverslost / forced |
|---|---|---|---|---|---|---|---|---|
| MIN L | 10–37 | -24.0dog 3.0 | -0.42 → -0.37 | +0.20 → +0.24 | -0.61 | 0%raw 0% | 0% – 44% | 1 / 1 |
| @ LAC W | 37–10 | +24.0fav 3.0 | +0.20 → +0.29 | -0.42 → -0.36 | +0.66 | 100%raw 100% | 56% – 100% | 1 / 1 |
| BUF W | 40–9 | +24.0fav 7.0 | +0.34 → +0.27 | -0.34 → -0.31 | +0.58 | 100%raw 100% | 43% – 100% | 0 / 3 |
| @ CAR L | 9–40 | -24.0dog 7.0 | -0.34 → -0.35 | +0.34 → +0.23 | -0.58 | 0%raw 0% | 0% – 57% | 3 / 0 |
| MIA W | 34–10 | +31.0dog 7.0 | +0.14 → +0.14 | -0.34 → -0.34 | +0.48 | 100%raw 100% | 34% – 100% | 0 / 1 |
| @ ATL L | 10–34 | -31.0fav 7.0 | -0.34 → -0.39 | +0.14 → +0.17 | -0.56 | 0%raw 0% | 0% – 66% | 1 / 0 |
| GB W | 35–25 | +7.0fav 3.0 | +0.32 → +0.32 | -0.14 → -0.13 | +0.45 | 99%raw 100% | 15% – 100% | 0 / 1 |
| @ PIT L | 25–35 | -7.0dog 3.0 | -0.14 → -0.14 | +0.32 → +0.25 | -0.39 | 1%raw 0% | 0% – 85% | 1 / 0 |
| WAS L | 7–28 | -10.5dog 10.5 | -0.18 → -0.17 | +0.25 → +0.24 | -0.41 | 1%raw 0% | 0% – 56% | 2 / 2 |
| @ KC W | 28–7 | +10.5fav 10.5 | +0.25 → +0.18 | -0.18 → -0.22 | +0.40 | 99%raw 100% | 44% – 100% | 2 / 2 |
| CLE L | 13–32 | -12.0dog 7.0 | -0.34 → -0.31 | +0.07 → +0.04 | -0.35 | 2%raw 0% | 0% – 74% | 2 / 2 |
| @ NE W | 32–13 | +12.0fav 7.0 | +0.07 → +0.12 | -0.34 → -0.20 | +0.32 | 97%raw 100% | 26% – 100% | 2 / 2 |
| TEN L | 14–38 | -8.5dog 15.5 | -0.09 → -0.09 | +0.38 → +0.37 | -0.46 | 1%raw 0% | 0% – 45% | 1 / 0 |
| @ IND W | 38–14 | +8.5fav 15.5 | +0.38 → +0.33 | -0.09 → +0.03 | +0.30 | 97%raw 100% | 55% – 100% | 0 / 1 |
| SF L | 15–26 | -8.5dog 2.5 | -0.06 → +0.05 | +0.24 → +0.27 | -0.23 | 7%raw 2% | 0% – 48% | 1 / 1 |
| @ HOU W | 26–15 | +8.5fav 2.5 | +0.24 → +0.20 | -0.06 → -0.11 | +0.30 | 97%raw 98% | 52% – 100% | 1 / 1 |
| TB W | 23–3 | +15.5fav 4.5 | -0.15 → -0.13 | -0.47 → -0.43 | +0.30 | 97%raw 99% | 39% – 100% | 1 / 4 |
| @ NO L | 3–23 | -15.5dog 4.5 | -0.47 → -0.50 | -0.15 → -0.18 | -0.32 | 3%raw 1% | 0% – 61% | 4 / 1 |
| NYG L | 20–38 | -11.0dog 7.0 | +0.09 → +0.17 | +0.46 → +0.43 | -0.26 | 5%raw 1% | 0% – 50% | 0 / 0 |
| @ PHI W | 38–20 | +11.0fav 7.0 | +0.46 → +0.41 | +0.09 → +0.12 | +0.30 | 96%raw 99% | 50% – 100% | 0 / 0 |
| DAL L | 24–44 | -16.5dog 3.5 | +0.06 → +0.14 | +0.39 → +0.39 | -0.25 | 6%raw 1% | 0% – 65% | 2 / 1 |
| @ DEN W | 44–24 | +16.5fav 3.5 | +0.39 → +0.29 | +0.06 → +0.04 | +0.25 | 94%raw 99% | 35% – 100% | 1 / 2 |
| CHI L | 16–30 | -11.5dog 2.5 | +0.02 → +0.02 | +0.22 → +0.15 | -0.12 | 20%raw 7% | 0% – 63% | 1 / 0 |
| @ BAL W | 30–16 | +11.5fav 2.5 | +0.22 → +0.21 | +0.02 → +0.01 | +0.21 | 91%raw 93% | 37% – 100% | 0 / 1 |
| NYJ W | 39–38 | +6.5dog 5.5 | +0.32 → +0.26 | +0.26 → +0.27 | -0.01 | 48%raw 68% | 3% – 91% | 0 / 0 |
| @ CIN L | 38–39 | -6.5fav 5.5 | +0.26 → +0.19 | +0.32 → +0.41 | -0.22 | 8%raw 32% | 9% – 97% | 0 / 0 |
Quarterbacks this week
Click a column to sort. Schedule = what the opponent adjustment added (+ = faced a tough pass defence). Turnover and sack EPA are what those plays cost; sacks are shared with the line.
| Quarterback | Team | Opp | Dropbacks | Adj EPA/db | Raw EPA/db | Schedule | Total adj EPA | INT / FL | Turnover EPA | Sacks | Sack EPA | WPA | CPOE |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jordan Love | GB | PIT | 38 | +0.601 | +0.588 | +0.013 | +22.9 | 0 / 0 | +0.0 | 0 | +0.0 | +0.70 | +13.5 |
| Justin Herbert | LAC | MIN | 27 | +0.541 | +0.430 | +0.111 | +14.6 | 1 / 0 | -5.4 | 2 | -3.3 | +0.21 | +9.1 |
| C.J. Stroud | HOU | SF | 39 | +0.464 | +0.492 | -0.028 | +18.1 | 1 / 0 | -0.2 | 0 | +0.0 | +0.37 | +8.5 |
| Justin Fields | NYJ | CIN | 32 | +0.425 | +0.478 | -0.054 | +13.6 | 0 / 0 | +0.0 | 0 | +0.0 | +0.30 | +3.8 |
| Daniel Jones | IND | TEN | 32 | +0.372 | +0.433 | -0.061 | +11.9 | 0 / 0 | +0.0 | 3 | -3.6 | +0.09 | +13.4 |
| Bo Nix | DEN | DAL | 30 | +0.365 | +0.470 | -0.104 | +11.0 | 1 / 0 | -5.3 | 0 | +0.0 | +0.19 | +9.0 |
| Tua Tagovailoa | MIA | ATL | 27 | +0.361 | +0.356 | +0.005 | +9.8 | 0 / 0 | +0.0 | 1 | -2.0 | +0.05 | +1.9 |
| Jalen Hurts | PHI | NYG | 24 | +0.295 | +0.334 | -0.039 | +7.1 | 0 / 0 | +0.0 | 4 | -5.9 | +0.03 | +9.8 |
| Patrick Mahomes | KC | WAS | 37 | +0.295 | +0.371 | -0.076 | +10.9 | 2 / 0 | -7.0 | 3 | -1.1 | +0.22 | +10.9 |
| Josh Allen | BUF | CAR | 21 | +0.290 | +0.366 | -0.077 | +6.1 | 0 / 0 | +0.0 | 2 | -3.8 | -0.01 | -7.2 |
| Drake Maye | NE | CLE | 30 | +0.284 | +0.214 | +0.070 | +8.5 | 1 / 0 | -4.4 | 6 | -8.1 | +0.04 | +18.7 |
| Tyler Huntley | BAL | CHI | 24 | +0.227 | +0.221 | +0.005 | +5.4 | 0 / 0 | +0.0 | 2 | -2.2 | +0.20 | +10.7 |
| Jaxson Dart | NYG | PHI | 29 | +0.206 | +0.116 | +0.090 | +6.0 | 0 / 0 | +0.0 | 5 | -5.3 | -0.03 | +1.8 |
| Caleb Williams | CHI | BAL | 39 | +0.035 | +0.028 | +0.007 | +1.4 | 1 / 0 | -4.3 | 1 | -1.5 | -0.17 | +7.9 |
| Mac Jones | SF | HOU | 35 | +0.031 | -0.080 | +0.111 | +1.1 | 1 / 0 | -3.7 | 2 | -3.0 | -0.02 | -2.3 |
| Joe Flacco | CIN | NYJ | 35 | -0.017 | +0.091 | -0.108 | -0.6 | 0 / 0 | +0.0 | 1 | -1.8 | -0.26 | -8.0 |
| Dak Prescott | DAL | DEN | 33 | -0.030 | -0.133 | +0.103 | -1.0 | 2 / 0 | -8.1 | 2 | -3.5 | -0.09 | -3.0 |
| Baker Mayfield | TB | NO | 27 | -0.043 | -0.066 | +0.023 | -1.2 | 0 / 1 | -4.2 | 3 | -6.9 | -0.03 | -9.6 |
| Aaron Rodgers | PIT | GB | 40 | -0.099 | -0.101 | +0.003 | -3.9 | 0 / 0 | +0.0 | 3 | -4.5 | -0.24 | +5.0 |
| Marcus Mariota | WAS | KC | 32 | -0.225 | -0.231 | +0.006 | -7.2 | 2 / 0 | -7.5 | 2 | -4.3 | -0.03 | +1.1 |
| Kirk Cousins | ATL | MIA | 32 | -0.235 | -0.183 | -0.051 | -7.5 | 0 / 0 | +0.0 | 1 | -1.4 | -0.02 | +2.5 |
| Cam Ward | TEN | IND | 41 | -0.237 | -0.204 | -0.032 | -9.7 | 1 / 0 | -3.6 | 4 | -8.2 | +0.10 | -7.2 |
| Carson Wentz | MIN | LAC | 32 | -0.333 | -0.398 | +0.065 | -10.7 | 1 / 0 | -5.3 | 5 | -6.9 | -0.12 | -12.4 |
| Spencer Rattler | NO | TB | 23 | -0.357 | -0.304 | -0.053 | -8.2 | 1 / 0 | -7.4 | 3 | -4.3 | -0.39 | +5.6 |
| Andy Dalton | CAR | BUF | 31 | -0.400 | -0.415 | +0.015 | -12.4 | 1 / 1 | -13.6 | 7 | -14.9 | -0.25 | +3.7 |
| Dillon Gabriel | CLE | NE | 37 | -0.516 | -0.536 | +0.020 | -19.1 | 2 / 0 | -7.7 | 1 | -1.3 | -0.17 | -5.3 |
| Tyler Shough | NO | TB | 32 | -0.524 | -0.471 | -0.053 | -16.8 | 1 / 0 | -4.8 | 2 | -4.2 | -0.08 | -13.9 |
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-09-14 01:25 UTC, from nflverse. Write-up:
backtests/nfl_game_quality/FINDINGS.md.