EPA = expected points added per play. Compared with every FBS WR/TE who qualifies
Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Receiving | Value | FBS rank |
|---|---|---|
| Targets | 25 | — |
| Target share | 17.4% | 234th / 522 |
| Catch rate | 56.0% | 397th / 522 |
| Success rate per target | 44.0% | 322nd / 522 |
| Yards per target | 9.9 | 123rd / 522 |
| Explosive catches | 12.0% | 232nd / 522 |
| Deep-target rate | 28.0% | — |
| 3rd-down targets | 6 | — |
| Red-zone targets | 3 | — |
Where Johnson's plays went: throw and catch spots, air yards and yards after the catch, read from the play-by-play
2025 season. ESPN's play-by-play only has throw and catch spots for part of 2025 (3 of Johnson’s games here), so treat the maps as a sample.
2 seasons since 2014 · box-score totals, snap share estimated from play-by-play
| Season | Team | G | Snaps | Rec | Rec yds | Rec TD | Tgt share |
|---|---|---|---|---|---|---|---|
| 2026 so far | Old Dominion#107 · 2-5 | 7 | 64% | 16 | 262 | 3 | 17.4% |
| 2025 | Old Dominion#32 · 10-3 | 5 | 15% | 4 | 68 | 1 | 8.4% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. TJ Johnson's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
TJ Johnson'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
| Receiving | ||||||||
|---|---|---|---|---|---|---|---|---|
| Wk | Opponent | Result | Game score | Rec | Yds | Y/R | TD | Long |
| 1 | W 31–10 | 6.9 | 2 | 25 | 12.5 | 2 | 14 | |
| 2 | @ | L 21–44 | 6.5 | 3 | 23 | 7.7 | 0 | 10 |
| 3 | L 17–20 | — | no stats recorded | |||||
| 4 | L 20–46 | 7.9 | 5 | 105 | 21.0 | 0 | 42 | |
| 5 | @ | L 10–42 | 4.7 | 2 | 10 | 5.0 | 0 | 7 |
| 6 | @ | W 10–3 | 5.2 | 2 | 16 | 8.0 | 0 | 11 |
| 7 | L 15–23 | 7.8 | 2 | 83 | 41.5 | 1 | 71 | |
| 2026 · 6 games | 6.5 | 16 | 262 | 16.4 | 3 | 71 | ||
FBS rank among qualifying players
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 16 | 322nd / 1994 |
| Yards | 262 | 226th / 1980 |
| Yards / catch | 16.4 | 62nd / 461 |
| Touchdowns | 3 | 93rd / 824 |
| Long | 71 | — |
| Fumbles | 2026 | FBS rank |
|---|---|---|
| Fumbles | 0 | — |
| Lost | 0 | — |
| Recovered | 1 | — |
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 | Team plays | Est. snaps | Plays involved | Snap share |
|---|---|---|---|---|---|
| Wk 1 · Norfolk State | ✓ WR | 55 | ~43 (28–52) | 3 | 78% |
| Wk 2 · Virginia Tech | ✓ WR | 49 | ~40 (26–49) | 5 | 82% |
| Wk 3 · East Carolina | ✓ WR | 64 | ~10 (3–16) | 1 | 16% |
| Wk 4 · James Madison | — | 68 | ~47 (31–57) | 6 | 69% |
| Wk 5 · Georgia State | — | 63 | ~43 (28–52) | 4 | 68% |
| Wk 6 · App State | ✓ WR | 81 | ~49 (32–60) | 4 | 60% |
| Wk 7 · Georgia Southern | ✓ WR | 56 | ~48 (32–56) | 6 | 86% |
| Season | 5 GS | 436 | 280 (235–326) | 29 | 64% |
13 WRs on the Old Dominion roster, ordered by rec
| # | Player | Pos | Class | Rec | Yds | TD | Tgt share | EPA/play |
|---|---|---|---|---|---|---|---|---|
| 8 | Josh Rodriguez | WR | FR | 17 | 191 | 0 | 16% | +0.06 |
| 11 | TJ Johnson | WR | SR | 16 | 262 | 3 | 15% | +0.21 |
| 7 | Kendall Harris | WR | JR | 14 | 167 | 0 | 17% | +0.25 |
| 1 | JJ Harrell | WR | SO | 9 | 120 | 0 | 12% | -0.12 |
| 14 | Zialis Blackmon | WR | FR | 3 | 61 | 0 | 7% | +0.57 |
| 0 | Zion Agnew | WR | JR | — | — | — | — | — |
| 12 | BJ Bedgood | WR | FR | — | — | — | 0% | +0.36 |
| 17 | Sidney Mbanasor | WR | SR | — | — | — | — | — |
| 19 | Brayden Myovela | WR | FR | — | — | — | — | — |
| 21 | Steven Bengu | WR | FR | — | — | — | — | — |
| 81 | Leroy Lewis | WR | FR | — | — | — | — | — |
| 82 | Trevion Campbell | WR | FR | — | — | — | — | — |
| 87 | Khaleed Cash | WR | 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 4+ plays per team game. Old Dominion depth chart →