Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Defense | Value | FBS rank |
|---|---|---|
| Havoc plays | 4 | 736th / 2758 |
| Tackles for loss | 3 | 519th / 2112 |
| Run stops | 5 | 1669th / 3422 |
| Sacks | 3 | — |
| Pass breakups | 1 | — |
| Interceptions | 0 | — |
| Forced fumbles | 0 | — |
| Tackles | 15 | — |
Where Gompers's plays went: throw and catch spots, air yards and yards after the catch, read from the play-by-play
The play-by-play names the defender on breakups, interceptions and tackles, but not the man in coverage on every throw, so true times-targeted isn't in the text. Coverage plays is the closest stand-in; exact targets come from hand charting.
2 seasons since 2014 · box-score totals, snap share estimated from play-by-play
| Season | Team | G | Snaps | Tkl | TFL | Sacks | INT | PD | Havoc |
|---|---|---|---|---|---|---|---|---|---|
| 2026 so far | Duke#39 · 6-2 | 7 | 44% | 20 | 5.5 | 4 | 0 | 1 | 4 |
| 2025 | Duke#44 · 9-5 | 6 | 9% | 14 | 1.5 | 0 | 0 | 0 | 1 |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Bradley Gompers's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
Bradley Gompers's box score, game by game, from ESPN, with a 0–10 game score for each (hover it for how it works). Click a result for the full game
| Defense | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Wk | Opponent | Result | Game score | Tkl | Solo | TFL | Sacks | Hur | PD | INT | TD |
| 1 | W 17–3 | 7.7 | 4 | 2 | 1 | 1 | 0 | 1 | · | · | |
| 2 | @ | W 31–27 | — | no stats recorded | |||||||
| 3 | W 35–7 | 4.8 | 1 | 0 | 0 | 0 | 1 | 0 | · | · | |
| 4 | W 62–7 | 8.3 | 4 | 4 | 2 | 2 | 0 | 0 | · | · | |
| 6 | @ | L 25–28 | 5.1 | 2 | 2 | 0 | 0 | 0 | 0 | · | · |
| 7 | L 20–24 | 4.5 | 2 | 0 | 0 | 0 | 0 | 0 | · | · | |
| 8 | @ | W 19–16 | 4.8 | 2 | 1 | 0 | 0 | 0 | 0 | · | · |
| 9 | W 47–2 | 8.3 | 5 | 3 | 2.5 | 1 | 1 | 0 | · | · | |
| 2026 · 7 games | 6.2 | 20 | 12 | 5.5 | 4 | 2 | 1 | · | · | ||
FBS rank among qualifying players
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 20 | 1311th / 5664 |
| Solo | 12 | — |
| Tackles for loss | 5.5 | 181st / 2634 |
| Sacks | 4 | 75th / 1383 |
| QB hurries | 2 | 418th / 1549 |
| Passes defended | 1 | 898th / 1772 |
| Defensive TD | 0 | — |
Estimated snaps from a model trained on real NFL snap counts. Ranges in brackets are where the real number lands 80% of the time: wide for a single game, tighter over the season. How it works
| Game | Opp. plays | Est. snaps | Plays made | Penalties | Snap share |
|---|---|---|---|---|---|
| Wk 1 · Tulane | 54 | ~41 (21–48) | 5 | · | 76% |
| Wk 3 · Stanford | 58 | ~20 (2–36) | 1 | · | 34% |
| Wk 4 · William & Mary | 49 | ~35 (4–49) | 4 | · | 71% |
| Wk 6 · Georgia Tech | 57 | ~19 (2–34) | 2 | 1 | 33% |
| Wk 7 · North Carolina | 64 | ~24 (2–44) | 2 | · | 38% |
| Wk 8 · Virginia | 77 | ~26 (3–47) | 2 | · | 34% |
| Wk 9 · Boston College | 59 | ~51 (26–59) | 5 | 1 | 86% |
| Season | 486 | 216 (101–295) | 21 | 2 | 44% |
11 LBs on the Duke roster, ordered by tkl
| # | Player | Pos | Class | Tkl | TFL | Sacks | INT | PD |
|---|---|---|---|---|---|---|---|---|
| 7 | Nick Morris Jr. | LB | SR | 45 | 3 | 0 | — | 0 |
| 34 | Luke Mergott | LB | JR | 33 | 1.5 | 0 | — | 1 |
| 42 | Kendall Johnson | LB | JR | 25 | 0.5 | 0 | — | 1 |
| 24 | Bradley Gompers | LB | SO | 20 | 5.5 | 4 | — | 1 |
| 30 | Will Felder Jr. | LB | FR | 12 | 0.5 | 0 | — | 0 |
| 19 | Jon Morris | LB | SO | 8 | 0.5 | 0.5 | — | 0 |
| 31 | Elliott Schaper | LB | SO | 5 | 0 | 0 | — | 0 |
| 40 | Asher Wasserman | LB | FR | 5 | 0 | 0 | — | 0 |
| 11 | Derrick Brown Jr. | LB | SO | 4 | 0.5 | 0 | — | 0 |
| 33 | Colsen Gatten | LB | FR | 1 | 0 | 0 | — | 0 |
| 32 | Tony Grimmer | LB | FR | — | — | — | — | — |
Stats, EPA and usage come from CollegeFootballData.com and refresh daily. FBS ranks only count players with enough volume for the stat to mean something. Qualifying for EPA takes —+ plays per team game. Duke depth chart →