Gridiron · Game Center · 2023
The Over Expected Room
Every run and pass carries a number for how likely a pass was, given the down, the distance, the field, the clock and the scoreboard. This room is that subtraction, 2018 to 2025.
Threw on 67.8% of 1,054 plays where the situations called for 61.2%. 33,836 runs and passes across the 2023 regular season. 4,866 more snaps are set aside — penalties that wiped the play, victory-formation kneels and spikes — because none of them was a call anybody made. 1,035 of the plays counted here are scrambles: the box score files them as runs, the model counts them as dropbacks, and so does this room.
Offense. What each offense called, against what its situations asked for. Every snap. Every run and pass of the regular season, sacks and scrambles included. 32 rows clear the 40-dropback floor in this split.
The model reads down, distance, the field, the clock and the scoreboard and says how often a league passes from there. Subtract it from what the play-caller actually did and you get the one play-calling figure that survives game script.
33,836 runs and passes across the 2023 regular season. 4,866 more snaps are set aside — penalties that wiped the play, victory-formation kneels and spikes — because none of them was a call anybody made. 1,035 of the plays counted here are scrambles: the box score files them as runs, the model counts them as dropbacks, and so does this room.
Painted Monday 04:00 ET · the room refreshes with the weekly play-by-play sync
This room runs the full play-by-play era, 2018 onward. The Tendency Room answers a charted question — who faked the handoff, who threw it away, who dropped it — and charting only starts in 2022, so it holds four seasons where this one holds eight.
Before you read anybody's residual
Is the model any good?
Ten rungs of what the model predicted, against what the league actually did inside each rung. The two columns should track, and where they part is the model’s own error — read that first, because every number below this card is measured against it. Widest miss in 2023: −3.5 points in the 65% rung.
| Model said | Plays | Predicted | Actual | Miss | Predicted vs actual |
|---|---|---|---|---|---|
| 0–10% | 359 | 6.2% | 5.6% | −0.6 | Predicted 6.2%, actual 5.6%, a miss of −0.6 points. |
| 10–20% | 680 | 16.0% | 16.0% | +0.1 | Predicted 16.0%, actual 16.0%, a miss of +0.1 points. |
| 20–30% | 1,677 | 25.3% | 23.7% | −1.6 | Predicted 25.3%, actual 23.7%, a miss of −1.6 points. |
| 30–40% | 2,537 | 35.7% | 32.2% | −3.4 | Predicted 35.7%, actual 32.2%, a miss of −3.4 points. |
| 40–50% | 7,555 | 46.0% | 45.7% | −0.2 | Predicted 46.0%, actual 45.7%, a miss of −0.2 points. |
| 50–60% | 4,271 | 54.1% | 52.0% | −2.1 | Predicted 54.1%, actual 52.0%, a miss of −2.1 points. |
| 60–70% | 3,442 | 64.8% | 61.4% | −3.5 | Predicted 64.8%, actual 61.4%, a miss of −3.5 points. |
| 70–80% | 3,298 | 74.8% | 71.8% | −3.0 | Predicted 74.8%, actual 71.8%, a miss of −3.0 points. |
| 80–90% | 2,986 | 85.1% | 83.9% | −1.2 | Predicted 85.1%, actual 83.9%, a miss of −1.2 points. |
| 90–100% | 7,031 | 95.9% | 95.1% | −0.8 | Predicted 95.9%, actual 95.1%, a miss of −0.8 points. |
The white hairline is what the model predicted; the painted bar is what happened, and the Miss column is the difference. Ink DEPTH is the size of the rung — one hue, so the thin rungs read as thin without colour pretending to grade them.
32 teams · every snap
Pass rate over expected
Actual pass rate minus the rate the situations asked for. Positive means more passing than the spots called for. A scramble counts as a pass and a sack counts as a pass, because that is a dropback and a dropback is what the model is predicting — the box score files both as something else. This cohort averages −1.6 points.
| # | Team | Plays | Actual | Exp. | Over exp. | Spread | EPA/play |
|---|---|---|---|---|---|---|---|
| 1 | 1,054 | 67.8% | 61.2% | +6.6 | +0.02 | ||
| 2 | 1,031 | 67.3% | 61.7% | +5.6 | −0.01 | ||
| 3 | 1,056 | 69.6% | 64.1% | +5.5 | −0.11 | ||
| 4 | 1,099 | 62.0% | 58.9% | +3.1 | +0.10 | ||
| 5 | 1,096 | 64.4% | 61.7% | +2.7 | −0.07 | ||
| 6 | 1,062 | 66.7% | 64.5% | +2.2 | −0.04 | ||
| 7 | 1,095 | 65.2% | 64.5% | +0.7 | −0.08 | ||
| 8 | 1,091 | 59.5% | 59.1% | +0.4 | +0.11 | ||
| 9 | 1,036 | 61.1% | 60.8% | +0.3 | +0.06 | ||
| 10 | 981 | 64.4% | 64.2% | +0.2 | +0.02 | ||
| 11 | 1,062 | 57.2% | 57.7% | −0.6 | +0.06 | ||
| 12 | 1,034 | 59.1% | 60.1% | −1.0 | +0.10 | ||
| 13 | 1,045 | 66.3% | 67.5% | −1.2 | −0.25 | ||
| 14 | 1,102 | 59.2% | 60.3% | −1.2 | +0.05 | ||
| 15 | 1,025 | 62.2% | 64.0% | −1.8 | −0.02 | ||
| 16 | 993 | 60.8% | 63.0% | −2.1 | −0.10 | ||
| 17 | 996 | 54.3% | 56.5% | −2.2 | +0.17 | ||
| 18 | 1,045 | 63.6% | 65.9% | −2.3 | −0.17 | ||
| 19 | 1,073 | 61.2% | 63.9% | −2.6 | −0.03 | ||
| 20 | 1,098 | 59.5% | 62.1% | −2.7 | −0.02 | ||
| 21 | 1,085 | 58.5% | 61.4% | −2.9 | +0.04 | ||
| 22 | 1,014 | 61.7% | 65.3% | −3.6 | −0.19 | ||
| 23 | 1,172 | 59.2% | 62.9% | −3.7 | −0.15 | ||
| 24 | 995 | 60.3% | 64.2% | −3.9 | −0.06 | ||
| 25 | 1,112 | 57.6% | 61.5% | −3.9 | +0.06 | ||
| 26 | 1,082 | 59.4% | 63.4% | −4.0 | −0.04 | ||
| 27 | 1,085 | 57.0% | 61.9% | −5.0 | −0.05 | ||
| 28 | 983 | 58.5% | 63.9% | −5.4 | −0.05 | ||
| 29 | 1,091 | 62.5% | 68.0% | −5.5 | −0.18 | ||
| 30 | 1,005 | 56.1% | 62.3% | −6.2 | −0.07 | ||
| 31 | 1,059 | 59.4% | 65.9% | −6.5 | −0.07 | ||
| 32 | 1,079 | 55.5% | 65.2% | −9.7 | −0.10 |
A row with fewer than 40 plays in this situation shows an em-dash instead of a residual. The play count is still printed, because how many snaps there were is the honest fact about a thin cell and a percentage taken off them would not be.
KC · every snap of 2023
Where the deviation lives
One residual cannot tell a coach who airs it out on third-and-fifteen from one who does it on first-and-ten. Five bands of how obvious the call was, with the league’s pass rate beside the rate KC threw. This card reads the whole season regardless of the situation filter above — the bands ARE a situation split, and splitting a split is how a denominator becomes three.
The model expects a run. Short yardage, a lead, the clock running.
Leaning run, but genuinely open — most first-and-tens live here.
Leaning pass. The coin is warm.
The model expects a pass and the defence probably does too.
Everyone knows. Third and long, two-minute, two scores down.
The white hairline is the league’s pass rate in that band; the painted bar is KC's. The number on the right is the gap in percentage points.
KC · every snap
What defying it returned
Four cells: the model wanted a run or a pass, and KC agreed or did not. Expected points added PER SNAP inside each one, so the two defiant cells can be read against the two obedient ones beside them. Below 25 snaps a cell shows its count and withholds its average.
Model said run
defiedPassed anyway
+0.09
173 snaps · EPA per snap
Model said run
Ran it
−0.10
223 snaps · EPA per snap
Model said pass
defiedRan anyway
−0.09
116 snaps · EPA per snap
Model said pass
Threw it
+0.07
542 snaps · EPA per snap
The read
KC threw 6.6 points more than the situations asked for, 1st of 32 at offense grain in every snap. Defiance paid best when passing into a run look (+0.09 per snap) and paid worst when running into a pass look (−0.09).
