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 | 12 | — |
| Target share | 6.1% | — |
| Catch rate | 25.0% | — |
| Success rate per target | 25.0% | — |
| Yards per target | 1.8 | — |
| Explosive catches | 0.0% | — |
| Deep-target rate | 8.3% | — |
| 3rd-down targets | 2 | — |
| Red-zone targets | 3 | — |
Where Harris'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 (7 of Harris’s games here), so treat the maps as a sample.
3 seasons at 3 schools 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 | Georgia Tech#78 · 2-6 | 7 | 34% | 7 | 77 | 0 | 6.1% |
| 2025 | New Mexico State#127 · 4-8 | 12 | 79% | 36 | 514 | 1 | 13.9% |
| 2024 | Central Michigan#123 · 4-8 | 7 | 35% | 11 | 173 | 1 | 7.1% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Gavin Harris's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
Gavin Harris'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 | L 13–14 | — | no stats recorded | |||||
| 2 | L 24–45 | 4.0 | 1 | 5 | 5.0 | 0 | 5 | |
| 3 | W 44–11 | — | no stats recorded | |||||
| 4 | @ | L 27–34 | 5.4 | 1 | 14 | 14.0 | 0 | 14 |
| 6 | W 28–25 | 5.8 | 2 | 17 | 8.5 | 0 | 10 | |
| 7 | @ | L 24–34 | — | no stats recorded | ||||
| 8 | L 27–49 | — | no stats recorded | |||||
| 9 | @ | L 11–34 | 7.1 | 3 | 41 | 13.7 | 0 | 24 |
| 2026 · 4 games | 5.6 | 7 | 77 | 11.0 | 0 | 24 | ||
FBS rank among qualifying players
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 7 | 917th / 2089 |
| Yards | 77 | 921st / 2074 |
| Yards / catch | 11 | — |
| Touchdowns | 0 | — |
| Long | 24 | — |
| Fumbles | 2026 | FBS rank |
|---|---|---|
| Fumbles | 1 | — |
| Lost | 0 | — |
| Recovered | 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 | Team plays | Est. snaps | Plays involved | Snap share |
|---|---|---|---|---|
| Wk 2 · Tennessee | 71 | ~34 (16–49) | 4 | 48% |
| Wk 3 · Mercer | 62 | ~22 (10–31) | 2 | 35% |
| Wk 4 · Stanford | 70 | ~22 (10–31) | 2 | 31% |
| Wk 6 · Duke | 57 | ~27 (13–39) | 3 | 47% |
| Wk 7 · Virginia Tech | 59 | ~14 (7–21) | 1 | 24% |
| Wk 8 · Boston College | 60 | ~15 (7–21) | 1 | 25% |
| Wk 9 · Pittsburgh | 76 | ~40 (34–48) | 5 | 53% |
| Season | 509 | 174 (133–243) | 18 | 34% |
8 TEs on the Georgia Tech roster, ordered by rec
| # | Player | Pos | Class | Rec | Yds | TD | Tgt share | EPA/play |
|---|---|---|---|---|---|---|---|---|
| 86 | Kevin Roche Jr. | TE | SO | 35 | 298 | 1 | 19% | +0.18 |
| 17 | Chris Corbo | TE | SR | 13 | 121 | 0 | 8% | +0.35 |
| 8 | Gavin Harris | TE | SR | 7 | 77 | 0 | 7% | -0.09 |
| 39 | Jack Richerson | TE | FR | — | — | — | — | — |
| 42 | Spencer Mermans | TE | SR | — | — | — | — | — |
| 80 | Connor Roush | TE | SO | — | — | — | — | — |
| 83 | Blake Ragsdale | TE | JR | — | — | — | — | — |
| 88 | Nate Agyemang | TE | 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. Georgia Tech depth chart →