Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Defense | Value | FBS rank |
|---|---|---|
| Havoc plays | 5 | 269th / 2573 |
| Tackles for loss | 5 | 113th / 1909 |
| Run stops | 10 | 550th / 3262 |
| Sacks | 2 | — |
| Pass breakups | 0 | — |
| Interceptions | 0 | — |
| Forced fumbles | 0 | — |
| Tackles | 15 | — |
Where Thompson'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.
Keahnist Thompson'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 30–20 | 5.5 | 1 | 0 | 0.5 | 0 | 0 | 0 | · | · | |
| 2 | W 35–7 | 7.2 | 3 | 0 | 0.5 | 0.5 | 2 | 0 | · | · | |
| 3 | @ | L 10–27 | 6.0 | 2 | 1 | 0.5 | 0 | 0 | 0 | · | · |
| 4 | L 13–31 | — | no stats recorded | ||||||||
| 5 | @ | L 3–31 | 5.3 | 2 | 1 | 0 | 0 | 0 | 0 | · | · |
| 6 | L 37–38 | 5.1 | 2 | 0 | 0 | 0 | 0 | 0 | · | · | |
| 7 | L 21–24 | 7.6 | 5 | 0 | 1 | 0.5 | 1 | 0 | · | · | |
| 2026 · 6 games | 6.1 | 15 | 2 | 2.5 | 1 | 3 | 0 | · | · | ||
FBS rank among qualifying players
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 15 | 1390th / 5406 |
| Solo | 2 | — |
| Tackles for loss | 2.5 | 568th / 2447 |
| Sacks | 1 | 489th / 1212 |
| QB hurries | 3 | 154th / 1377 |
| Passes defended | 0 | — |
| 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 | Start | Opp. plays | Est. snaps | Plays made | Snap share |
|---|---|---|---|---|---|
| Wk 1 · Toledo | — | 41 | ~14 (7–21) | 1 | 34% |
| Wk 2 · Eastern Michigan | ✓ EDGE | 52 | ~26 (10–41) | 3 | 50% |
| Wk 3 · Notre Dame | ✓ EDGE | 67 | ~36 (14–57) | 2 | 54% |
| Wk 5 · Wisconsin | — | 62 | ~30 (12–47) | 2 | 48% |
| Wk 6 · Illinois | — | 69 | ~34 (13–54) | 2 | 49% |
| Wk 7 · Northwestern | ✓ EDGE | 71 | ~45 (22–57) | 5 | 63% |
| Season | 3 GS | 429 | 185 (118–238) | 15 | 43% |
19 DLs on the Michigan State roster, ordered by tkl
| # | Player | Pos | Class | Tkl | TFL | Sacks | INT | PD |
|---|---|---|---|---|---|---|---|---|
| 55 | Ben Roberts | DL | SR | 26 | 5 | 2 | — | 0 |
| 1 | Kenny Soares Jr. | EDGE | SR | 22 | 3 | 1 | 1 | 2 |
| 96 | Eli Coenen | DL | JR | 16 | 4.5 | 3.5 | — | 2 |
| 9 | Keahnist Thompson | EDGE | SR | 15 | 2.5 | 1 | — | 0 |
| 11 | Anelu Lafaele | EDGE | SO | 11 | 2.5 | 2.5 | — | 0 |
| 13 | Isaac Smith | EDGE | SR | 10 | 1 | 1 | — | 0 |
| 52 | Mikeshun Beeler | DL | SO | 8 | 0.5 | 0 | — | 1 |
| 98 | Derrick Simmons | DL | FR | 5 | 0 | 0 | — | 1 |
| 8 | Trey Lisle | EDGE | SO | 3 | 0 | 0 | — | 0 |
| 97 | Cal Thrush | DL | FR | 1 | 0 | 0 | — | 0 |
| Jaxson Wilson | EDGE | 1 | 0 | 0 | — | 0 | ||
| 6 | Leonard Ah You | EDGE | FR | — | — | — | — | — |
| 25 | Carlos Hazelwood | DL | SO | — | — | — | — | — |
| 33 | Cory House Jr. | EDGE | FR | — | — | — | — | — |
| 51 | Kekai Burnett | EDGE | SO | — | — | — | — | — |
| 56 | Chris Piwowarczyk | EDGE | SO | — | — | — | — | — |
| 57 | Hudson Aultman | DL | FR | — | — | — | — | — |
| 91 | Jackson Pahl | DL | FR | — | — | — | — | — |
| 94 | Aidan Boehle | EDGE | JR | — | — | — | — | — |
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. Michigan State depth chart →