EPA = expected points added per play. Compared with every FBS WR/TE who qualifies
2025 season. ESPN's play-by-play only has throw and catch spots for part of 2025 (6 of Odom’s games here), so treat the maps as a sample.
3 seasons at 2 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 | South Florida#74 · 5-2 | 1 | 2% | 1 | 12 | 0 | — |
| 2025 | UTEP#128 · 2-10 | 11 | 73% | 62 | 582 | 6 | 28.4% |
| 2024 | UTEP#128 · 3-9 | 12 | 70% | 46 | 741 | 8 | 13.2% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Kenny Odom's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
Kenny Odom'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 19–9 | — | no stats recorded | |||||
| 2 | @ | W 28–24 | — | no stats recorded | ||||
| 3 | W 59–17 | 4.7 | 1 | 12 | 12.0 | 0 | 12 | |
| 4 | @ | W 14–6 | — | no stats recorded | ||||
| 5 | L 13–17 | — | no stats recorded | |||||
| 6 | @ | L 24–31 | — | no stats recorded | ||||
| 7 | W 29–2 | — | no stats recorded | |||||
| 2026 · 1 game | 4.7 | 1 | 12 | 12.0 | 0 | 12 | ||
FBS rank among qualifying players
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 1 | 1611th / 1994 |
| Yards | 12 | 1612th / 1980 |
| Yards / catch | 12 | — |
| Touchdowns | 0 | — |
| Long | 12 | — |
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 3 · Delaware State | 66 | ~9 (3–15) | 1 | 14% |
| Season | 415 | 9 (3–15) | 1 | 2% |
13 WRs on the South Florida roster, ordered by rec
| # | Player | Pos | Class | Rec | Yds | TD | Tgt share | EPA/play |
|---|---|---|---|---|---|---|---|---|
| 1 | Bryson Rodgers | WR | JR | 30 | 334 | 2 | 23% | +0.47 |
| 80 | Joshua Porter | WR | JR | 23 | 274 | 2 | 22% | +0.31 |
| 0 | Cameron Seldon | WR | SR | 12 | 176 | 1 | 9% | +0.78 |
| 4 | Arhmad Branch | WR | JR | 11 | 108 | 0 | 18% | +0.53 |
| 6 | Mudia Reuben | WR | SR | 9 | 121 | 0 | 11% | -0.56 |
| 18 | Kenny Odom | WR | SR | 1 | 12 | 0 | 3% | +2.27 |
| 7 | Jaron Glover | WR | SR | — | — | — | — | — |
| 11 | Dmari Roberts | WR | FR | — | — | — | — | — |
| 12 | Jaden Alexis | WR | SR | — | — | — | — | — |
| 14 | Arkese Parks | WR | SO | — | — | — | — | — |
| 19 | JeyQuan Smith | WR | JR | — | — | — | — | — |
| 27 | Jayden Davis | WR | JR | — | — | — | — | — |
| 82 | Gabe Legrand | 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. South Florida depth chart →