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 | 31.2% | 12th / 534 |
| Catch rate | 63.3% | 296th / 534 |
| Success rate per target | 56.7% | 114th / 534 |
| Yards per target | 10.0 | 107th / 534 |
| Explosive catches | 15.0% | 144th / 534 |
| Deep-target rate | 18.3% | — |
| 3rd-down targets | 19 | — |
| Red-zone targets | 8 | — |
Where Buchanan'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 (6 of Buchanan’s games here), so treat the maps as a sample.
2 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 | Michigan#37 · 5-3 | 8 | 84% | 38 | 602 | 5 | 31.2% |
| 2025 | Utah#7 · 11-2 | 11 | 56% | 26 | 427 | 5 | 14.5% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. JJ Buchanan's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
JJ Buchanan'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 13–12 | 8.8 | 6 | 126 | 21.0 | 1 | 47 | |
| 2 | W 17–10 | 6.4 | 2 | 48 | 24.0 | 0 | 36 | |
| 3 | W 52–17 | 8.1 | 7 | 92 | 13.1 | 1 | 21 | |
| 4 | L 19–20 | 9.1 | 5 | 130 | 26.0 | 2 | 49 | |
| 5 | @ | L 14–20 | 6.6 | 4 | 50 | 12.5 | 0 | 17 |
| 7 | W 21–18 | 6.1 | 3 | 36 | 12.0 | 0 | 16 | |
| 8 | L 6–13 | 6.9 | 6 | 57 | 9.5 | 0 | 17 | |
| 9 | @ | W 28–21 | 7.5 | 5 | 63 | 12.6 | 1 | 30 |
| 2026 · 8 games | 7.4 | 38 | 602 | 15.8 | 5 | 49 | ||
FBS rank among qualifying players
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 38 | 71st / 2089 |
| Yards | 602 | 39th / 2074 |
| Yards / catch | 15.8 | 77th / 460 |
| Touchdowns | 5 | 38th / 914 |
| Long | 49 | — |
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 · Western Michigan | ✓ WR | 48 | ~42 (28–48) | 9 | · | 88% |
| Wk 2 · Oklahoma | ✓ WR | 58 | ~49 (32–58) | 6 | · | 84% |
| Wk 3 · UTEP | ✓ WR | 70 | ~60 (39–70) | 9 | · | 86% |
| Wk 4 · Iowa | ✓ WR | 68 | ~58 (38–68) | 7 | 1 | 85% |
| Wk 5 · Minnesota | — | 49 | ~45 (30–49) | 8 | · | 92% |
| Wk 7 · Penn State | ✓ WR | 53 | ~45 (30–53) | 5 | · | 85% |
| Wk 8 · Indiana | ✓ WR | 74 | ~63 (41–74) | 11 | · | 85% |
| Wk 9 · Rutgers | — | 73 | ~54 (35–66) | 5 | · | 74% |
| Season | 6 GS | 493 | 416 (349–485) | 60 | 1 | 84% |
12 WRs on the Michigan roster, ordered by rec
| # | Player | Pos | Class | Rec | Yds | TD | Tgt share | EPA/play |
|---|---|---|---|---|---|---|---|---|
| 3 | Andrew Marsh | WR | SO | 39 | 360 | 1 | 29% | +0.30 |
| 6 | JJ Buchanan | WR | SO | 38 | 602 | 5 | 29% | +0.66 |
| 12 | Salesi Moa | WR | FR | 3 | 67 | 1 | 5% | +0.29 |
| 9 | Channing Goodwin | WR | JR | 2 | 32 | 0 | 5% | +1.52 |
| 13 | Travis Johnson | WR | FR | 2 | 21 | 0 | 6% | -0.15 |
| 0 | Kendrick Bell | WR | SR | — | — | — | — | — |
| 10 | Jaime Ffrench Jr. | WR | SO | — | — | — | — | — |
| 20 | Jaylen Pile | WR | FR | — | — | — | — | — |
| 22 | Braydon Alford | WR | JR | — | — | — | — | — |
| 81 | Jamar Browder | WR | SO | — | — | — | — | — |
| 85 | Logan Forbes | WR | SR | — | — | — | — | — |
| 89 | Kaleb Schlecht | WR | SR | — | — | — | — | — |
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. Michigan depth chart →