Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Defense | Value | FBS rank |
|---|---|---|
| Havoc plays | 4 | 491st / 2573 |
| Tackles for loss | 2 | 628th / 1911 |
| Run stops | 7 | 957th / 3263 |
| Sacks | 0 | — |
| Pass breakups | 2 | — |
| Interceptions | 0 | — |
| Forced fumbles | 0 | — |
| Tackles | 24 | — |
Where Keough'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.
3 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 | Buffalo#128 · 4-3 | 7 | 89% | 35 | 1.5 | 0 | 0 | 3 | 4 |
| 2025 | Buffalo#109 · 5-7 | 10 | 21% | 14 | 0 | 0 | 0 | 0 | 0 |
| 2024 | Buffalo#86 · 9-4 | 6 | 4% | 6 | 0 | 0 | 0 | 0 | — |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. John Keough's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
John Keough'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 21–17 | 5.0 | 2 | 2 | 0 | 0 | 0 | 0 | · | · | |
| 2 | @ | L 20–33 | 7.4 | 8 | 4 | 1 | 0 | 1 | 0 | · | · |
| 3 | @ | L 13–55 | 7.1 | 11 | 6 | 0 | 0 | 0 | 0 | · | · |
| 4 | W 31–28 | 5.7 | 3 | 2 | 0.5 | 0 | 0 | 0 | · | · | |
| 5 | L 17–20 | 4.5 | 2 | 0 | 0 | 0 | 0 | 0 | · | · | |
| 6 | @ | W 23–8 | 6.6 | 2 | 2 | 0 | 0 | 0 | 2 | · | · |
| 7 | W 25–18 | 7.2 | 7 | 5 | 0 | 0 | 0 | 1 | · | · | |
| 2026 · 7 games | 6.2 | 35 | 21 | 1.5 | 0 | 1 | 3 | · | · | ||
FBS rank among qualifying players
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 35 | 304th / 5408 |
| Solo | 21 | — |
| Tackles for loss | 1.5 | 1055th / 2450 |
| Sacks | 0 | — |
| QB hurries | 1 | 629th / 1380 |
| Passes defended | 3 | 158th / 1589 |
| 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 | Snap share |
|---|---|---|---|---|
| Wk 1 · UAlbany | 73 | ~49 (20–52) | 2 | 67% |
| Wk 2 · Florida International | 78 | ~77 (31–78) | 8 | 99% |
| Wk 3 · Penn State | 67 | ~67 (27–67) | 11 | 100% |
| Wk 4 · Robert Morris | 53 | ~51 (21–53) | 3 | 96% |
| Wk 5 · Western Michigan | 61 | ~41 (17–43) | 2 | 67% |
| Wk 6 · Toledo | 61 | ~57 (23–60) | 4 | 93% |
| Wk 7 · Massachusetts | 72 | ~72 (29–72) | 7 | 100% |
| Season | 465 | 414 (314–460) | 37 | 89% |
20 DBs on the Buffalo roster, ordered by tkl
| # | Player | Pos | Class | Tkl | TFL | Sacks | INT | PD |
|---|---|---|---|---|---|---|---|---|
| 6 | Miles Greer | S | SR | 42 | 2.5 | 1 | — | 2 |
| 7 | John Keough | S | JR | 35 | 1.5 | 0 | — | 3 |
| 4 | Ronnell Davis | S | JR | 34 | 0.5 | 0 | — | 3 |
| 5 | Mikey Crawford | CB | JR | 21 | 0.5 | 0 | — | 3 |
| 0 | Kobi Blackwell | CB | JR | 17 | 2 | 0 | 1 | 2 |
| 9 | Keontez Bradley | CB | SR | 14 | 0 | 0 | — | 1 |
| 23 | Xavier Leonard | S | JR | 7 | 0 | 0 | — | 1 |
| 3 | Oliver Bridges | CB | SR | 4 | 0 | 0 | — | 0 |
| 22 | Donovan Rodriguez | CB | SO | 3 | 0 | 0 | — | 0 |
| 10 | Jamiere Munson | S | SR | 2 | 0 | 0 | — | 0 |
| 12 | Jackson Small | CB | SO | — | — | — | — | — |
| 14 | Jonathan Rousseau | S | SO | — | — | — | — | — |
| 24 | Sayre Smothers | CB | SO | — | — | — | — | — |
| 26 | Zae Jennings | S | JR | — | — | — | — | — |
| 27 | Davion Coffee | CB | JR | — | — | — | — | — |
| 28 | Drayson Crane | CB | SO | — | — | — | — | — |
| 29 | Cardel Staples | CB | FR | — | — | — | — | — |
| 37 | Jamarcus Jones | CB | FR | — | — | — | — | — |
| 38 | Dylan Cleary | S | FR | — | — | — | — | — |
| 43 | Xair Stevenson | S | SO | — | — | — | — | — |
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. Buffalo depth chart →