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 | 15 | — |
| Target share | 7.6% | 521st / 523 |
| Catch rate | 53.3% | 427th / 523 |
| Success rate per target | 46.7% | 286th / 523 |
| Yards per target | 7.4 | 313th / 523 |
| Explosive catches | 6.7% | 396th / 523 |
| Deep-target rate | 0.0% | — |
| 3rd-down targets | 5 | — |
| Red-zone targets | 1 | — |
Where Perry's plays went: throw and catch spots, air yards and yards after the catch, read from the play-by-play
The play-by-play names the defender on breakups, interceptions and tackles, but not the man in coverage on every throw, so true times-targeted isn't in the text. Coverage plays is the closest stand-in; exact targets come from hand charting.
2025 season. ESPN's play-by-play only has throw and catch spots for part of 2025 (3 of Perry’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 | California#86 · 3-4 | 5 | 24% | 8 | 111 | 1 | 7.6% |
| 2025 | Oregon#5 · 13-2 | 6 | 15% | 10 | 25 | 0 | 6.3% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Cooper Perry's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
Cooper Perry'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 | 8 | 697th / 1995 |
| Yards | 111 | 605th / 1981 |
| Yards / catch | 13.9 | — |
| Touchdowns | 1 | 346th / 825 |
| Long | 21 | — |
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 0 | — |
| Solo | 0 | — |
| Tackles for loss | 0 | — |
| Sacks | 0 | — |
| QB hurries | 1 | — |
| Passes defended | 0 | — |
| Defensive TD | 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 | Start | Team plays | Est. snaps | Plays involved | Snap share |
|---|---|---|---|---|---|
| Wk 1 · UCLA | — | 86 | ~49 (32–60) | 4 | 57% |
| Wk 2 · Syracuse | — | 60 | ~10 (3–16) | 1 | 17% |
| Wk 3 · Wagner | ✓ WR | 71 | ~17 (5–23) | 3 | 24% |
| Wk 4 · Clemson | ✓ WR | 56 | ~15 (5–21) | 1 | 27% |
| Wk 5 · UNLV | — | 84 | ~30 (10–41) | 6 | 36% |
| Season | 2 GS | 496 | 121 (68–159) | 15 | 24% |
13 WRs on the California roster, ordered by rec
| # | Player | Pos | Class | Rec | Yds | TD | Tgt share | EPA/play |
|---|---|---|---|---|---|---|---|---|
| 7 | Chase Hendricks | WR | SR | 47 | 415 | 2 | 19% | +0.20 |
| 9 | Ian Strong | WR | SR | 28 | 396 | 1 | 18% | +0.23 |
| 4 | Jordan King | WR | SR | 11 | 108 | 1 | 7% | +0.36 |
| 6 | Kyion Grayes | WR | JR | 10 | 121 | 1 | 8% | +0.49 |
| 81 | Tyree Sams | WR | FR | 10 | 43 | 0 | 8% | -0.57 |
| 10 | Cooper Perry | WR | SO | 8 | 111 | 1 | 7% | +0.35 |
| 15 | Mark Hamper | WR | JR | 5 | 60 | 0 | 6% | +0.94 |
| 19 | Trevor Rogers | WR | SO | 1 | 4 | 0 | 6% | -1.77 |
| 5 | QuaRon Adams | WR | SR | — | — | — | 2% | -0.54 |
| 16 | Kai Meza | WR | FR | — | — | — | — | — |
| 80 | EJ Morgan | WR | FR | — | — | — | — | — |
| 82 | Cole Boscia | WR | SR | — | — | — | 2% | -0.30 |
| 87 | Meyer Swinney | 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. California depth chart →