Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Defense | Value | FBS rank |
|---|---|---|
| Havoc plays | 0 | — |
| Tackles for loss | 0 | — |
| Run stops | 4 | 1613th / 3262 |
| Sacks | 0 | — |
| Pass breakups | 0 | — |
| Interceptions | 0 | — |
| Forced fumbles | 0 | — |
| Tackles | 10 | — |
Where Ruffin'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 | Louisville#18 · 4-3 | 5 | 36% | 14 | 0 | 0 | 0 | 0 | 0 |
| 2025 | Louisville#24 · 9-4 | 4 | 9% | 8 | 0 | 0 | 0 | 0 | 0 |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Blake Ruffin's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
Blake Ruffin'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
FBS rank among qualifying players
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 14 | 1505th / 5406 |
| Solo | 5 | — |
| Tackles for loss | 0 | — |
| Sacks | 0 | — |
| QB hurries | 1 | 628th / 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 | Penalties | Snap share |
|---|---|---|---|---|---|---|
| Wk 1 · Ole Miss | — | 78 | ~17 (0–28) | 2 | · | 22% |
| Wk 2 · Villanova | — | 61 | ~38 (0–61) | 2 | · | 62% |
| Wk 3 · SMU | — | 79 | ~52 (21–55) | 3 | · | 66% |
| Wk 4 · Wake Forest | ✓ DB | 61 | ~59 (24–61) | 4 | 1 | 97% |
| Wk 7 · Syracuse | — | 84 | ~25 (0–41) | 2 | · | 30% |
| Season | 1 GS | 524 | 191 (66–224) | 13 | 1 | 36% |
18 DBs on the Louisville roster, ordered by tkl
| # | Player | Pos | Class | Tkl | TFL | Sacks | INT | PD |
|---|---|---|---|---|---|---|---|---|
| 10 | Kaleb Beasley | DB | JR | 49 | 2 | 0 | 5 | 3 |
| 4 | TJ Banks | DB | JR | 32 | 0 | 0 | — | 1 |
| 5 | Koen Entringer | DB | SR | 29 | 1 | 0 | — | 1 |
| 13 | Tayon Holloway | DB | SR | 18 | 0 | 0 | — | 4 |
| 25 | Brycen Scott | DB | JR | 17 | 0 | 0 | — | 3 |
| 12 | DJ Waller Jr. | CB | SR | 16 | 1 | 0 | — | 1 |
| 1 | Jabari Mack | DB | SR | 15 | 0.5 | 0 | — | 4 |
| 29 | Blake Ruffin | DB | SR | 14 | 0 | 0 | — | 0 |
| 9 | Antonio Watts | DB | SR | 7 | 0 | 0 | — | 1 |
| 27 | Myles Norwood | DB | SR | 4 | 0 | 0 | — | 0 |
| 20 | Antonio Harris | DB | SO | 3 | 0 | 0 | — | 1 |
| 31 | Micah Rice | DB | SO | 2 | 0 | 0 | — | 0 |
| 26 | Jordan Vann | S | FR | 1 | 0 | 0 | — | 0 |
| 21 | Jaydin Broadnax | DB | FR | — | — | — | — | — |
| 33 | Kris Brunson | DB | FR | — | — | — | — | — |
| 37 | Anderson Mitchell | DB | JR | — | — | — | — | — |
| 39 | Jordan Gervais | DB | FR | — | — | — | — | — |
| 47 | Garion McPherson | DB | 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. Louisville depth chart →