Season lines from CollegeFootballData, regular season and bowls. A dash: the source has no number for that season (often an FCS season), and career totals count only the numbers on file.
As each season’s roster listed the player (CollegeFootballData). Classes before the latest listing are counted back from it; “Yr 1” is the year on file where that count can’t place a season he played (a redshirt, transfer or 2020 year); height and weight as last listed.
Per play
Season
Team
Plays
EPA/play
Pctile
Median
Total
Usage
2017
Western Michigan
19
0.70
–
–
13.3
–
2018
Western Michigan
4
0.21
–
–
0.8
–
2019
Western Michigan
6
0.41
–
–
2.5
–
2020
Chattanooga (FCS)
3
0.43
–
–
1.3
–
2021
Chattanooga (FCS)
4
0.27
–
–
1.1
–
2022
Chattanooga (FCS)
24
0.93
–
–
22.3
6%
Expected points added: how much the player’s plays moved the team’s expected score, per play and in total. Plays: total EPA divided by EPA per play, the plays the source credits to him (for a receiver roughly his catches and runs, not every target; for a passer, not every attempt), so it can differ from attempts plus carries. Percentile: against the position’s regulars that season across all divisions on file (quarterbacks with 150+ plays, backs 60+, receivers and tight ends 30+), with how many there were (n) and their median; a dash means too few plays to rank. A season in progress uses the full-season bar scaled by games played, never below 75 plays for quarterbacks, 30 for backs and 20 for receivers. The cohort grows or shrinks with the source’s coverage each season (2025 lists far more players), so compare percentiles rather than raw EPA across years. FCS seasons are marked. Usage: the share of the team’s plays the player was part of (shown from 20 plays). From CollegeFootballData, 2013 on.