Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Defense | Value | FBS rank |
|---|---|---|
| Havoc plays | 1 | 1746th / 2573 |
| Tackles for loss | 0 | — |
| Run stops | 7 | 955th / 3262 |
| Sacks | 0 | — |
| Pass breakups | 1 | — |
| Interceptions | 0 | — |
| Forced fumbles | 0 | — |
| Tackles | 19 | — |
Where Wheatland'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.
5 seasons at 3 schools 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 | Michigan State#63 · 2-5 | 5 | 39% | 19 | 0.5 | 0 | 0 | 1 | 1 |
| 2025 | Auburn#40 · 5-7 | 1 | 1% | 1 | 0 | 0 | 0 | 0 | — |
| 2024 | Maryland#81 · 4-8 | 11 | 52% | 42 | 7 | 4 | 0 | 2 | 6 |
| 2023 | Maryland#29 · 8-5 | 13 | 55% | 22 | 4 | 2 | 0 | 1 | 5 |
| 2022 * | Maryland#37 · 8-5 | 6 | 19% | 11 | — | — | 0 | — | 0 |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Caleb Wheatland's team rank is that season's final TDC rank. A dash means the stat wasn't recorded. * Defense rebuilt from the play-by-play (ESPN's box scores that season are missing it); about 10% below official totals.
Caleb Wheatland'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 | 4.1 | 1 | 1 | 0 | 0 | 0 | 0 | · | · | |
| 2 | W 35–7 | 5.8 | 4 | 0 | 0.5 | 0 | 0 | 0 | · | · | |
| 3 | @ | L 10–27 | 5.5 | 3 | 3 | 0 | 0 | 0 | 0 | · | · |
| 4 | L 13–31 | 7.0 | 9 | 6 | 0 | 0 | 1 | 0 | · | · | |
| 5 | @ | L 3–31 | 6.0 | 2 | 1 | 0 | 0 | 0 | 1 | · | · |
| 6 | L 37–38 | — | no stats recorded | ||||||||
| 7 | L 21–24 | — | no stats recorded | ||||||||
| 2026 · 5 games | 5.7 | 19 | 11 | 0.5 | 0 | 1 | 1 | · | · | ||
FBS rank among qualifying players
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 19 | 1018th / 5406 |
| Solo | 11 | — |
| Tackles for loss | 0.5 | 2018th / 2447 |
| Sacks | 0 | — |
| QB hurries | 1 | 628th / 1377 |
| Passes defended | 1 | 702nd / 1588 |
| 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 · Toledo | 41 | ~9 (0–41) | 1 | 22% |
| Wk 2 · Eastern Michigan | 52 | ~36 (4–52) | 4 | 69% |
| Wk 3 · Notre Dame | 67 | ~30 (3–54) | 3 | 45% |
| Wk 4 · Nebraska | 67 | ~67 (34–67) | 9 | 100% |
| Wk 5 · Wisconsin | 62 | ~25 (3–45) | 3 | 40% |
| Season | 429 | 167 (64–220) | 20 | 39% |
9 LBs on the Michigan State roster, ordered by tkl
| # | Player | Pos | Class | Tkl | TFL | Sacks | INT | PD |
|---|---|---|---|---|---|---|---|---|
| 18 | Dion Crawford | LB | SR | 41 | 1.5 | 0 | — | 2 |
| 12 | Cam Stodghill | LB | SR | 28 | 1.5 | 0 | — | 3 |
| 5 | Jordan Hall | LB | SR | 25 | 3 | 0 | — | 0 |
| 45 | Brady Pretzlaff | LB | SO | 25 | 0 | 0 | — | 0 |
| 44 | Caleb Wheatland | LB | SR | 19 | 0.5 | 0 | — | 1 |
| 10 | DiMari Malone | LB | FR | 7 | 0 | 0 | — | 0 |
| 16 | Adam Shaw | LB | FR | 1 | 0 | 0 | — | 0 |
| 23 | DeJae White | LB | FR | 1 | 0 | 0 | — | 1 |
| 39 | Jack Lansing III | 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. Michigan State depth chart →