EPA = expected points added per play. Compared with every FBS RB who qualifies
Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Rushing | Value | FBS rank |
|---|---|---|
| Carries | 86 | — |
| Success rate | 32.6% | 300th / 321 |
| Explosive run rate | 10.5% | 229th / 321 |
| Stuffed at the line | 31.4% | 317th / 321 |
| First downs | 13 | — |
| Red-zone carries | 10 | — |
| Goal-line carries | 3 | — |
| Receiving | Value | FBS rank |
|---|---|---|
| Targets | 8 | — |
| Target share | 8.1% | — |
| Catch rate | 75.0% | — |
| Success rate per target | 37.5% | — |
| Yards per target | 7.4 | — |
| Explosive catches | 12.5% | — |
| Deep-target rate | 0.0% | — |
| 3rd-down targets | 0 | — |
| Red-zone targets | 0 | — |
Where Roche'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 (4 of Roche’s games here), so treat the maps as a sample.
4 seasons since 2014 · box-score totals, snap share estimated from play-by-play
| Season | Team | G | Snaps | Car | Rush yds | Y/C | Rush TD | Rush SR | Rec | Rec yds | Rec TD | Tgt share |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 so far | Old Dominion#107 · 2-5 | 7 | 55% | 95 | 379 | 4.0 | 0 | 32.6% | 6 | 59 | 0 | 8.1% |
| 2025 | Old Dominion#32 · 10-3 | 11 | 33% | 111 | 630 | 5.7 | 4 | 51.0% | 5 | 31 | 0 | 6.1% |
| 2024 | Old Dominion#74 · 5-7 | 10 | 26% | 43 | 274 | 6.4 | 2 | 50.0% | 7 | 52 | 1 | 5.8% |
| 2023 | Old Dominion#94 · 6-7 | 5 | 11% | 31 | 191 | 6.2 | 0 | 30.0% | 4 | 19 | 0 | 7.5% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Devin Roche's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
Devin Roche'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
| Rushing | Returns | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wk | Opponent | Result | Game score | Car | Yds | Y/C | TD | Long | KR | KR yds | PR | PR yds | TD |
| 1 | W 31–10 | 4.7 | 13 | 45 | 3.5 | 0 | 18 | · | · | 4 | 33 | · | |
| 2 | @ | L 21–44 | 5.4 | 9 | 45 | 5.0 | 0 | 21 | · | · | · | · | · |
| 3 | L 17–20 | 6.5 | 18 | 102 | 5.7 | 0 | 41 | · | · | 3 | 38 | · | |
| 4 | L 20–46 | 2.1 | 8 | 18 | 2.3 | 0 | 7 | · | · | 2 | 5 | · | |
| 5 | @ | L 10–42 | 8.6 | 9 | 37 | 4.1 | 0 | 20 | · | · | 1 | 78 | 1 |
| 6 | @ | W 10–3 | 6.2 | 23 | 101 | 4.4 | 0 | 32 | · | · | · | · | · |
| 7 | L 15–23 | 1.5 | 15 | 25 | 1.7 | 0 | 7 | · | · | · | · | · | |
| 2026 · 7 games | 5.0 | 95 | 373 | 3.9 | 0 | 41 | · | · | 10 | 154 | 1 | ||
FBS rank among qualifying players
| Rushing | 2026 | FBS rank |
|---|---|---|
| Carries | 95 | — |
| Yards | 379 | 99th / 1456 |
| Yards / carry | 4 | 244th / 325 |
| Touchdowns | 0 | — |
| Long | 41 | — |
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 6 | 876th / 1995 |
| Yards | 59 | 957th / 1981 |
| Yards / catch | 9.8 | — |
| Touchdowns | 0 | — |
| Long | 25 | — |
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 0 | — |
| Solo | 0 | — |
| Tackles for loss | 0 | — |
| Sacks | 0 | — |
| QB hurries | 0 | — |
| Passes defended | 0 | — |
| Defensive TD | 1 | — |
| Fumbles | 2026 | FBS rank |
|---|---|---|
| Fumbles | 4 | — |
| Lost | 3 | — |
| Recovered | 0 | — |
| Punt returns | 2026 | FBS rank |
|---|---|---|
| Returns | 10 | — |
| Yards | 154 | — |
| Average | 15.4 | — |
| Touchdowns | 1 | — |
| 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 | Special teams | Snap share |
|---|---|---|---|---|---|---|
| Wk 1 · Norfolk State | ✓ RB | 55 | ~26 (18–34) | 13 | 4 | 47% |
| Wk 2 · Virginia Tech | ✓ RB | 49 | ~27 (18–35) | 9 | · | 55% |
| Wk 3 · East Carolina | ✓ RB | 64 | ~43 (36–48) | 20 | 3 | 67% |
| Wk 4 · James Madison | ✓ RB | 68 | ~29 (20–38) | 10 | 2 | 43% |
| Wk 5 · Georgia State | ✓ RB | 63 | ~23 (16–30) | 9 | 1 | 37% |
| Wk 6 · App State | ✓ RB | 81 | ~55 (46–61) | 24 | · | 68% |
| Wk 7 · Georgia Southern | ✓ RB | 56 | ~38 (26–49) | 18 | · | 68% |
| Season | 7 GS | 436 | 241 (191–298) | 103 | 10 | 55% |
6 RBs on the Old Dominion roster, ordered by car
| # | Player | Pos | Class | Car | Yds | YPC | TD | Rec | EPA/play |
|---|---|---|---|---|---|---|---|---|---|
| 3 | Devin Roche | RB | JR | 95 | 379 | 4 | 0 | 6 | -0.18 |
| 6 | Trey Hall | RB | SR | 25 | 66 | 2.6 | 0 | 3 | -0.41 |
| 5 | Maurki James | RB | SO | 23 | 75 | 3.3 | 2 | 2 | -0.02 |
| 26 | Ja'Varien Salter | RB | JR | 9 | 38 | 4.2 | 0 | — | +0.07 |
| 20 | CJ Jackson III | RB | FR | — | — | — | — | — | — |
| 28 | Troy Marquez | RB | 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 6+ plays per team game. Old Dominion depth chart →