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 | 26 | — |
| Target share | 18.7% | 187th / 524 |
| Catch rate | 65.4% | 258th / 524 |
| Success rate per target | 53.8% | 168th / 524 |
| Yards per target | 7.8 | 281st / 524 |
| Explosive catches | 11.5% | 243rd / 524 |
| Deep-target rate | 3.8% | — |
| 3rd-down targets | 11 | — |
| Red-zone targets | 3 | — |
Where Vonnahme'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 (5 of Vonnahme’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 | Iowa#20 · 5-1 | 5 | 51% | 18 | 219 | 2 | 18.7% |
| 2025 | Iowa#14 · 9-4 | 10 | 49% | 29 | 434 | 3 | 18.2% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. DJ Vonnahme's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
DJ Vonnahme'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 40–0 | 7.2 | 4 | 42 | 10.5 | 0 | 16 | |
| 2 | W 16–13 | 6.2 | 2 | 25 | 12.5 | 0 | 13 | |
| 3 | W 55–0 | — | no stats recorded | |||||
| 4 | @ | W 20–19 | 7.3 | 4 | 44 | 11.0 | 0 | 21 |
| 5 | L 14–31 | 8.1 | 6 | 64 | 10.7 | 0 | 18 | |
| 6 | @ | W 41–24 | 8.5 | 2 | 44 | 22.0 | 2 | 24 |
| 2026 · 5 games | 7.5 | 18 | 219 | 12.2 | 2 | 24 | ||
FBS rank among qualifying players
| Rushing | 2026 | FBS rank |
|---|---|---|
| Carries | 1 | — |
| Yards | 2 | 1250th / 1457 |
| Yards / carry | 2 | — |
| Touchdowns | 0 | — |
| Long | 2 | — |
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 18 | 272nd / 1995 |
| Yards | 219 | 302nd / 1981 |
| Yards / catch | 12.2 | 242nd / 461 |
| Touchdowns | 2 | 172nd / 826 |
| Long | 24 | — |
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 | Penalties | Snap share |
|---|---|---|---|---|---|---|
| Wk 1 · Northern Illinois | ✓ TE | 78 | ~52 (44–63) | 8 | · | 67% |
| Wk 2 · Iowa State | ✓ TE | 59 | ~43 (36–52) | 5 | 1 | 73% |
| Wk 4 · Michigan | — | 58 | ~33 (15–47) | 6 | · | 57% |
| Wk 5 · Ohio State | ✓ TE | 52 | ~37 (17–52) | 7 | · | 71% |
| Wk 6 · Washington | ✓ TE | 57 | ~22 (10–31) | 2 | · | 39% |
| Season | 4 GS | 368 | 187 (129–251) | 28 | 1 | 51% |
9 TEs on the Iowa roster, ordered by rec
| # | Player | Pos | Class | Rec | Yds | TD | Tgt share | EPA/play |
|---|---|---|---|---|---|---|---|---|
| DJ Vonnahme | TE | 18 | 219 | 2 | 17% | +0.75 | ||
| 87 | Addison Ostrenga | TE | SR | 8 | 75 | 1 | 7% | +0.29 |
| 48 | Zach Ortwerth | TE | SR | 4 | 41 | 0 | 4% | +0.45 |
| 85 | Thomas Meyer | TE | SO | 3 | 19 | 0 | 4% | +0.11 |
| Mason Woods | TE | 2 | 22 | 0 | 5% | -0.07 | ||
| 18 | Luke Brewer | TE | FR | — | — | — | — | — |
| 80 | Michael Burt | TE | JR | — | — | — | — | — |
| 82 | Dylan Stecker | TE | SO | — | — | — | — | — |
| 86 | Eli Johnson | TE | SO | — | — | — | — | — |
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. Iowa depth chart →