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 | 6 | — |
| Target share | 5.5% | — |
| Catch rate | 16.7% | — |
| Success rate per target | 16.7% | — |
| Yards per target | 7.3 | — |
| Explosive catches | 16.7% | — |
| Deep-target rate | 33.3% | — |
| 3rd-down targets | 1 | — |
| Red-zone targets | 1 | — |
Where Moa's plays went: throw and catch spots, air yards and yards after the catch, read from the play-by-play
Salesi Moa'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 | Returns | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wk | Opponent | Result | Game score | Rec | Yds | Y/R | TD | Long | KR | KR yds | PR | PR yds | TD |
| 1 | W 13–12 | — | no stats recorded | ||||||||||
| 2 | W 17–10 | — | no stats recorded | ||||||||||
| 3 | W 52–17 | 6.1 | 2 | 23 | 11.5 | 1 | 19 | · | · | · | · | · | |
| 4 | L 19–20 | — | no stats recorded | ||||||||||
| 5 | @ | L 14–20 | — | no stats recorded | |||||||||
| 7 | W 21–18 | — | · | · | · | · | · | · | · | 1 | 9 | · | |
| 8 | L 6–13 | — | · | · | · | · | · | · | · | 2 | 25 | · | |
| 9 | @ | W 28–21 | 6.2 | 1 | 44 | 44.0 | 0 | 44 | · | · | · | · | · |
| 2026 · 4 games | 6.2 | 3 | 67 | 22.3 | 1 | 44 | · | · | 3 | 34 | · | ||
FBS rank among qualifying players
| Rushing | 2026 | FBS rank |
|---|---|---|
| Carries | 1 | — |
| Yards | -1 | 1375th / 1519 |
| Yards / carry | -1 | — |
| Touchdowns | 0 | — |
| Long | 0 | — |
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 3 | 1350th / 2089 |
| Yards | 67 | 995th / 2074 |
| Yards / catch | 22.3 | — |
| Touchdowns | 1 | 412th / 914 |
| Long | 44 | — |
| Punt returns | 2026 | FBS rank |
|---|---|---|
| Returns | 3 | — |
| Yards | 34 | — |
| Average | 11.3 | — |
| Touchdowns | 0 | — |
| Long | 13 | — |
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 | Special teams | Snap share |
|---|---|---|---|---|---|---|
| Wk 1 · Western Michigan | — | 48 | ~11 (3–18) | 1 | · | 23% |
| Wk 3 · UTEP | ✓ WR | 70 | ~23 (7–31) | 3 | · | 33% |
| Wk 4 · Iowa | — | 68 | ~36 (11–49) | 2 | · | 53% |
| Wk 7 · Penn State | — | 53 | · | · | 1 | — |
| Wk 8 · Indiana | — | 74 | ~23 (7–31) | 2 | 2 | 31% |
| Wk 9 · Rutgers | — | 73 | ~17 (5–23) | 1 | · | 23% |
| Season | 1 GS | 493 | 110 (62–145) | 9 | 3 | 22% |
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 →