Stability tests · 2023–25 seasons
Insights Lab: Which Defense Stats Hold Up
“This defense is soft against tight ends” is usually small-sample noise. We tested 52 defensive splits on 2023–25 data: does the split agree with itself between odd and even weeks, do weeks 1–8 predict weeks 9–18 better than the league average, and does it carry over to the next season? Only splits that pass all three, after a false-discovery correction, get an A or B.
A stable and predictiveB passes our stability barC weak signal, context onlynoise noise in our tests
What holds up
- BMiddle (PPR pts/game): reliability 0.44, predicts the second half 9% better than average, year over year 0.27 (same DC 0.35, new DC 0.18).
- ABlitz rate (Blitz rate): reliability 0.85, predicts the second half 45% better than average, year over year 0.53 (same DC 0.73, new DC 0.09).
- APass rushers (Avg pass rushers): reliability 0.81, predicts the second half 27% better than average, year over year 0.52 (same DC 0.63, new DC 0.29).
- BPlay action faced (Play-action rate faced): reliability 0.43, predicts the second half 10% better than average, year over year 0.19 (same DC 0.19, new DC 0.18).
- AMan coverage (Man rate): reliability 0.88, predicts the second half 44% better than average, year over year 0.41 (same DC 0.71, new DC -0.05).
- ATwo-high shells (Two-high rate): reliability 0.81, predicts the second half 39% better than average, year over year 0.57 (same DC 0.77, new DC 0.18).
Scheme habits (blitzing, rushers sent, man coverage, two-high shells) are stable, and much more so when the defensive coordinator stays: they belong to the coach. Among fantasy splits, only points allowed on throws over the middle passed. Grade A/B splits are candidates for projection adjustments; none is in the projections yet.
Myth-busted: noise in our tests
- noiseDefense vs TEs (PPR pts/game): reliability 0.14, predictive -5%, year over year 0.24.
- noiseDefense WRs outside (L/R) (PPR pts/game): reliability 0.45, predictive -4%, year over year 0.06.
- noiseDefense Deep (15+ air yds) (PPR pts/game): reliability 0.16, predictive -1%, year over year 0.03.
- noiseDefense Left (PPR pts/game): reliability 0.23, predictive 0%, year over year 0.04.
- noiseDefense Right (PPR pts/game): reliability 0.28, predictive -6%, year over year 0.16.
- noiseDefense Left short (PPR pts/game): reliability 0.19, predictive 0%, year over year 0.11.
- noiseDefense Left deep (PPR pts/game): reliability -0.09, predictive -3%, year over year 0.02.
- noiseDefense Middle deep (PPR pts/game): reliability 0.11, predictive -1%, year over year 0.06.
- noiseDefense Right deep (PPR pts/game): reliability 0.11, predictive 0%, year over year 0.07.
- noiseA corner’s yards per target allowed (Yards/target allowed): reliability 0.05, predictive -4%, year over year -0.08.
What a defense allows by target type, area and depth (fantasy points, EPA)
| Split | Metric | Reliability | Predictive | YoY | Same DC / new DC | q | Grade |
|---|---|---|---|---|---|---|---|
| vs TEs | PPR pts/game | 0.14 | -5% | 0.24 | 0.14 / 0.40 | 0.337 | noise |
| vs TEs | EPA/target | 0.04 | -1% | 0.11 | 0.23 / -0.10 | 0.488 | noise |
| RB receiving | PPR pts/game | 0.30 | +5% | 0.05 | 0.15 / -0.05 | 0.095 | C |
| RB receiving | EPA/target | 0.04 | -1% | -0.02 | -0.08 / 0.05 | 0.488 | noise |
| vs WRs | PPR pts/game | 0.42 | +2% | -0.06 | 0.01 / -0.13 | 0.014 | C |
| vs WRs | EPA/target | 0.35 | +1% | -0.09 | 0.02 / -0.20 | 0.049 | C |
| WRs outside (L/R) | PPR pts/game | 0.45 | -4% | 0.06 | -0.01 / 0.08 | 0.009 | noise |
| WRs outside (L/R) | EPA/target | 0.42 | -2% | -0.05 | -0.05 / -0.08 | 0.014 | noise |
| WRs middle | PPR pts/game | 0.29 | +8% | 0.06 | 0.21 / -0.13 | 0.107 | C |
| WRs middle | EPA/target | 0.09 | +2% | -0.30 | -0.08 / -0.43 | 0.399 | noise |
| Deep (15+ air yds) | PPR pts/game | 0.16 | -1% | 0.03 | 0.01 / 0.07 | 0.304 | noise |
| Deep (15+ air yds) | EPA/target | 0.18 | +0% | -0.20 | -0.06 / -0.37 | 0.282 | noise |
| Short | PPR pts/game | 0.50 | +2% | 0.02 | 0.21 / -0.20 | 0.002 | C |
| Short | EPA/target | 0.37 | +7% | 0.07 | 0.17 / -0.10 | 0.037 | C |
| Left | PPR pts/game | 0.23 | 0% | 0.04 | 0.29 / -0.25 | 0.193 | noise |
| Left | EPA/target | 0.12 | +1% | -0.08 | -0.01 / -0.16 | 0.363 | noise |
| Middle | PPR pts/game | 0.44 | +9% | 0.27 | 0.35 / 0.18 | 0.009 | B |
| Middle | EPA/target | 0.16 | +3% | -0.19 | 0.18 / -0.47 | 0.304 | noise |
| Right | PPR pts/game | 0.28 | -6% | 0.16 | 0.07 / 0.27 | 0.117 | noise |
| Right | EPA/target | 0.20 | +1% | 0.03 | 0.13 / -0.14 | 0.255 | noise |
| Left short | PPR pts/game | 0.19 | +0% | 0.11 | 0.29 / -0.15 | 0.279 | noise |
| Left short | EPA/target | 0.04 | 0% | 0.15 | 0.22 / 0.07 | 0.488 | noise |
| Middle short | PPR pts/game | 0.47 | +5% | 0.34 | 0.51 / 0.17 | 0.006 | C |
| Middle short | EPA/target | -0.00 | -2% | 0.08 | 0.26 / -0.15 | 0.547 | noise |
| Right short | PPR pts/game | 0.42 | -3% | 0.21 | 0.07 / 0.40 | 0.014 | C |
| Right short | EPA/target | 0.16 | +4% | -0.04 | 0.07 / -0.18 | 0.304 | noise |
| Left deep | PPR pts/game | -0.09 | -3% | 0.02 | 0.02 / 0.01 | 0.687 | noise |
| Left deep | EPA/target | 0.03 | +1% | -0.05 | 0.07 / -0.19 | 0.494 | noise |
| Middle deep | PPR pts/game | 0.11 | -1% | 0.06 | 0.12 / 0.04 | 0.368 | noise |
| Middle deep | EPA/target | 0.28 | +9% | -0.30 | 0.18 / -0.69 | 0.349 | C |
| Right deep | PPR pts/game | 0.11 | +0% | 0.07 | 0.02 / 0.15 | 0.368 | noise |
| Right deep | EPA/target | -0.06 | 0% | 0.08 | 0.01 / 0.21 | 0.654 | noise |
Slot vs outside corners (PFR coverage, per target)
| Split | Metric | Reliability | Predictive | YoY | Same DC / new DC | q | Grade |
|---|---|---|---|---|---|---|---|
| Slot CB (NB) | PPR pts/target | 0.21 | -2% | -0.19 | 0.16 / -0.54 | 0.298 | noise |
| Slot CB (NB) | Yards/target | -0.37 | +0% | -0.05 | 0.02 / -0.08 | 0.885 | noise |
| Outside CBs | PPR pts/target | 0.35 | +1% | -0.28 | -0.35 / – | 0.163 | C |
| Outside CBs | Yards/target | 0.20 | -1% | -0.38 | -0.54 / – | 0.337 | noise |
Scheme (FTN charting)
| Split | Metric | Reliability | Predictive | YoY | Same DC / new DC | q | Grade |
|---|---|---|---|---|---|---|---|
| Blitz rate | Blitz rate | 0.85 | +45% | 0.53 | 0.73 / 0.09 | <0.001 | A |
| Pass rushers | Avg pass rushers | 0.81 | +27% | 0.52 | 0.63 / 0.29 | <0.001 | A |
| Pressure rate | Pressures per dropback | 0.44 | -1% | 0.32 | 0.50 / 0.11 | 0.009 | C |
| Box count (runs) | Avg defenders in box | 0.55 | -12% | 0.30 | 0.48 / -0.03 | <0.001 | C |
| 8+ man boxes | 8+ in box rate | 0.59 | -4% | 0.37 | 0.54 / -0.07 | <0.001 | C |
| EPA when blitzing | EPA/dropback when blitzing | 0.22 | 0% | -0.06 | 0.11 / -0.19 | 0.209 | noise |
| Play action faced | Play-action rate faced | 0.43 | +10% | 0.19 | 0.19 / 0.18 | 0.012 | B |
| Screens faced | Screen rate faced | 0.51 | +4% | 0.36 | 0.55 / 0.14 | 0.002 | C |
| RPOs faced | RPO rate faced | -0.16 | -3% | -0.07 | -0.08 / -0.08 | 0.783 | noise |
| Motion faced | Motion rate faced | 0.34 | -3% | 0.25 | 0.36 / -0.01 | 0.054 | C |
Coverage (participation: man/zone, shells)
| Split | Metric | Reliability | Predictive | YoY | Same DC / new DC | q | Grade |
|---|---|---|---|---|---|---|---|
| Man coverage | Man rate | 0.88 | +44% | 0.41 | 0.71 / -0.05 | <0.001 | A |
| Two-high shells | Two-high rate | 0.81 | +39% | 0.57 | 0.77 / 0.18 | <0.001 | A |
| Pressure (NGS) | Pressure rate | 0.64 | +0% | 0.41 | 0.60 / 0.09 | <0.001 | C |
| Time to throw | Avg time to throw (s) | 0.34 | -3% | 0.37 | 0.52 / 0.13 | 0.056 | C |
Individual corners
| Split | Metric | Reliability | Predictive | YoY | Same DC / new DC | q | Grade |
|---|---|---|---|---|---|---|---|
| Individual CB | Yards/target allowed | 0.05 | -4% | -0.08 | – | 0.405 | noise |
| Individual CB | Completion % allowed | 0.38 | +3% | 0.25 | – | <0.001 | C |
How this works
Every split is opponent-adjusted first: for each game, what the defense allowed minus what that offense produced in its other games. Reliability is the odd-vs-even-week correlation across team-seasons, Spearman-Brown corrected. Predictive: weeks 1–8 shrunk with empirical Bayes (fitted on the other seasons) predict weeks 9–18; we report the error reduction against predicting league average. Grades: A: stable and predictive; B: passes our stability bar (reliability ≥ 0.4, predictive ≥ 5%, q ≤ 0.05); C: weak signal, context only; Failed: noise in our tests. Full write-up: docs/nfl/model/DEFENSE-SPLITS.md.
See them applied on each defense’s profile and the coordinator table.
Charting data: FTN Data via nflverse, licensed CC BY-SA 4.0; our derived charting figures are shared under the same licence. Coverage allowed by defender: Pro Football Reference via nflverse. Coverage type (man/zone, shells): nflverse participation data. Play-by-play: nflverse.
Sources: nflverse play-by-play and participation, FTN Data via nflverse, Pro Football Reference via nflverseUpdated 2026-10-06
Frequently asked questions
Is defense vs tight ends real?
Not in our tests: a defense’s fantasy points allowed to tight ends in odd weeks barely matched its even weeks, and the first half of a season predicted the second half worse than assuming league average.
Do defenses really “get burned deep”?
Deep fantasy points and EPA allowed failed every test. Deep plays are rare and volatile, so a defense’s deep numbers are mostly luck over a season.
What does hold up?
How a defense plays: blitz rate, pass rushers sent, man coverage and two-high shells, especially under the same coordinator. Of the fantasy splits, points allowed on throws over the middle passed our bar.