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 | 60 | — |
| Target share | 39.7% | 1st / 523 |
| Catch rate | 60.0% | 344th / 523 |
| Success rate per target | 56.7% | 132nd / 523 |
| Yards per target | 9.8 | 127th / 523 |
| Explosive catches | 11.7% | 241st / 523 |
| Deep-target rate | 20.0% | — |
| 3rd-down targets | 12 | — |
| Red-zone targets | 13 | — |
Where Duff'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 Duff’s games here), so treat the maps as a sample.
3 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 | Rutgers#92 · 2-4 | 6 | 87% | 42 | 741 | 9 | 39.7% |
| 2025 | Rutgers#65 · 5-7 | 12 | 81% | 60 | 1084 | 7 | 24.2% |
| 2024 | Rutgers#52 · 7-6 | 11 | 47% | 27 | 425 | 1 | 7.9% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. KJ Duff's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
KJ Duff'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
FBS rank among qualifying players
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 42 | 19th / 1995 |
| Yards | 741 | 6th / 1981 |
| Yards / catch | 17.6 | 37th / 461 |
| Touchdowns | 9 | 3rd / 825 |
| Long | 78 | — |
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 · Massachusetts | ✓ WR | 62 | ~56 (37–62) | 16 | 2 | 90% |
| Wk 2 · Boston College | ✓ WR | 68 | ~62 (41–68) | 11 | · | 91% |
| Wk 3 · USC | ✓ WR | 69 | ~60 (39–69) | 12 | · | 87% |
| Wk 4 · Howard | ✓ WR | 72 | ~57 (37–69) | 8 | · | 79% |
| Wk 5 · Indiana | ✓ WR | 55 | ~45 (30–55) | 7 | · | 82% |
| Wk 7 · Maryland | — | 74 | ~68 (45–74) | 16 | 1 | 92% |
| Season | 5 GS | 400 | 348 (292–400) | 70 | 3 | 87% |
13 WRs on the Rutgers roster, ordered by rec
| # | Player | Pos | Class | Rec | Yds | TD | Tgt share | EPA/play |
|---|---|---|---|---|---|---|---|---|
| 8 | KJ Duff | WR | JR | 42 | 741 | 9 | 37% | +0.92 |
| 4 | Jourdin Houston | WR | SO | 15 | 169 | 0 | 12% | +0.53 |
| 0 | Dyzier Carter | WR | FR | 11 | 151 | 0 | 12% | +0.96 |
| 2 | Ben Black III | WR | JR | 9 | 180 | 2 | 7% | +1.21 |
| 5 | Vernon Allen III | WR | SO | 5 | 72 | 2 | 4% | +1.60 |
| 13 | Elias Coke | WR | FR | 3 | 29 | 1 | 7% | +0.03 |
| 7 | Dylan Braithwaite | WR | SR | — | — | — | — | — |
| 14 | Sah'nye Degraffenreidt | WR | SO | — | — | — | — | — |
| 25 | Trent Osborn | WR | JR | — | — | — | — | — |
| 39 | Salomon Ealey | WR | SO | — | — | — | — | — |
| 83 | Dino Kaliakmanis | WR | SR | — | — | — | — | — |
| 87 | Justice Hurt | WR | SR | — | — | — | — | — |
| Quentin Redding | WR | — | — | — | — | — |
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. Rutgers depth chart →