
Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Defense | Value | FBS rank |
|---|---|---|
| Havoc plays | 3 | 800th / 2573 |
| Tackles for loss | 2 | 627th / 1909 |
| Run stops | 1 | 2642nd / 3262 |
| Sacks | 1 | — |
| Pass breakups | 1 | — |
| Interceptions | 0 | — |
| Forced fumbles | 0 | — |
| Tackles | 6 | — |
Where O'Brien'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.
Joey O'Brien'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 | vs | W 41–13 | — | no stats recorded | |||||||
| 2 | W 52–0 | 4.5 | 2 | 0 | 0 | 0 | 0 | 0 | · | · | |
| 3 | W 27–10 | 2.5 | 1 | 0 | 0 | 0 | 0 | 0 | · | · | |
| 4 | @ | W 49–10 | 6.3 | 5 | 1 | 0.5 | 0.5 | 0 | 0 | · | · |
| 5 | @ | W 37–26 | 4.0 | 1 | 1 | 0 | 0 | 0 | 0 | · | · |
| 6 | W 58–7 | — | no stats recorded | ||||||||
| 7 | @ | L 24–28 | 6.4 | 1 | 1 | 1 | 0 | 0 | 1 | · | · |
| 2026 · 5 games | 4.7 | 10 | 3 | 1.5 | 0.5 | 0 | 1 | · | · | ||
FBS rank among qualifying players
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 10 | 2023rd / 5406 |
| Solo | 3 | — |
| Tackles for loss | 1.5 | 1055th / 2447 |
| Sacks | 0.5 | 978th / 1212 |
| QB hurries | 0 | — |
| 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 | Start | Opp. plays | Est. snaps | Plays made | Snap share |
|---|---|---|---|---|---|
| Wk 2 · Rice | — | 46 | ~45 (18–46) | 2 | 98% |
| Wk 3 · Michigan State | — | 46 | ~7 (0–22) | 1 | 15% |
| Wk 4 · Purdue | ✓ S | 68 | ~66 (27–68) | 4 | 97% |
| Wk 5 · North Carolina | — | 51 | ~6 (0–19) | 1 | 12% |
| Wk 7 · BYU | — | 67 | ~18 (0–30) | 2 | 27% |
| Season | 1 GS | 383 | 142 (49–166) | 10 | 37% |
16 DBs on the Notre Dame roster, ordered by tkl
| # | Player | Pos | Class | Tkl | TFL | Sacks | INT | PD |
|---|---|---|---|---|---|---|---|---|
| 28 | Luke Talich | S | SR | 27 | 4.5 | 1 | 2 | 1 |
| 8 | Adon Shuler | S | SR | 26 | 2.5 | 0 | 1 | 1 |
| 15 | Leonard Moore | CB | JR | 13 | 0 | 0 | — | 5 |
| 20 | Joey O'Brien | S | FR | 10 | 1.5 | 0.5 | — | 1 |
| 29 | Christian Gray | CB | SR | 10 | 0 | 0 | — | 1 |
| 2 | DJ McKinney | CB | SR | 9 | 1 | 0 | 1 | 2 |
| 12 | Jayden Sanders | CB | SO | 6 | 0 | 0 | 1 | 5 |
| 22 | Ethan Long | S | SO | 6 | 0 | 0 | — | 0 |
| Mark Zackery IV | CB | 4 | 0 | 0 | 1 | 0 | ||
| 25 | Brandon Logan | S | SO | 3 | 0 | 0 | — | 0 |
| 13 | Ayden Pouncey | CB | FR | 2 | 0 | 0 | — | 0 |
| 1 | Dallas Golden | CB | SO | 1 | 0 | 0 | — | 0 |
| 9 | Brauntae Johnson | S | JR | 1 | 0 | 0 | — | 1 |
| 21 | Khary Adams | CB | FR | — | — | — | — | — |
| 26 | Chaz Smith | CB | FR | — | — | — | — | — |
| 32 | Nick Reddish | CB | 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. Notre Dame depth chart →