Skip to contents

Loads season-level receiving EPA splits – one row per team with target, catch, and yards-after-catch aggregates. Published to the espn_cfb_receiving release tag on the sportsdataverse-data repo.

Usage

load_espn_cfb_receiving(
  seasons = most_recent_cfb_season(),
  ...,
  dbConnection = NULL,
  tablename = NULL
)

Arguments

seasons

A vector of 4-digit years associated with given college football seasons. Published coverage runs 2004 through the most recent season. Pass seasons = TRUE for every published season. (Min: 2004)

...

Additional arguments passed to an underlying function that writes the season data into a database.

dbConnection

A DBIConnection object, as returned by DBI::dbConnect()

tablename

The name of the data table within the database

Value

Returns a cfbfastR_data tibble.

col_nametypesdescription
team_idinteger
pos_teamcharacter
divisioncharacter
conferencecharacter
seasoninteger
player_idinteger
receiver_player_namecharacterDisplay name of the targeted receiver – the FIRST participant in that role on the play.
playsintegerAttributed targets: pass plays naming the receiver as the target or the catcher.
gamesinteger
team_gamesintegerGames the team played, used as the per-game denominator.
TEPAdoubleTotal EPA summed over every play.
EPAplaydoubleEPA per target. Null, with any _rank, _pct and _pos_pct, in seasons where more than 30% of incompletions name no receiver (2021-2024): those throws drop out of every receiver's targets, so per-target rates would read high.
yardsinteger
successdoubleSuccess rate over the receiver's targets. Null, with any _rank, _pct and _pos_pct, in seasons where more than 30% of incompletions name no receiver (2021-2024): those throws drop out of every receiver's targets, so per-target rates would read high.
compintegerCompleted passes.
targetsintegerAttributed targets: passes ESPN charts to this receiver. An incompletion that names no receiver counts for nobody, so this undercounts real targets: 22-24% of incompletions name no receiver in 2014-2020, 42-77% in 2021-2024 and under 10% from 2025.
passing_tddouble
fumblesdoubleCount of the receiver's targeted pass plays across the season whose play text mentions a fumble by either team.
playsgamedoublePlays per game.
EPAgamedoubleEPA generated per game.
yardsplaydoubleYards per target. Null, with any _rank, _pct and _pos_pct, in seasons where more than 30% of incompletions name no receiver (2021-2024): those throws drop out of every receiver's targets, so per-target rates would read high.
yardsgamedoubleYards per game.
catchpctdoubleCatch rate on a 0-to-1 scale, receptions divided by targets for the season. Null, with any _rank, _pct and _pos_pct, in seasons where more than 30% of incompletions name no receiver (2021-2024): those throws drop out of every receiver's targets, so per-target rates would read high.
TEPA_rankdoubleNational rank of the team's total EPA summed over every play, where 1 is best.
EPAgame_rankdoubleNational rank of the team's EPA generated per game, where 1 is best.
EPAplay_rankdoubleNational rank of the team's EPA generated per play, where 1 is best.
success_rankdoubleNational rank of the team's success rate across the team plays, where 1 is best.
catchpct_rankdoubleSeason rank of catchpct with the best catch rate first, computed only for receivers clearing the leaderboard minimum of 1.875 targets per team game and using averaged ranks for ties.
yards_rankdoubleNational rank of the team's total yards, where 1 is best.
yardsplay_rankdoubleNational rank of the team's yards per play, where 1 is best.
yardsgame_rankdoubleNational rank of the team's yards per game, where 1 is best.
fbs_classcharacterPower/Group classification for the season: P4 or G6 from 2024 on, P5 or G5 through 2023, derived from conference membership. Null for teams outside FBS.

Author

Saiem Gilani

Examples

# \donttest{
  try(load_espn_cfb_receiving(2004))
#> ── college football receiving EPA splits from the SportsDataverse data repo ────
#> ℹ Data updated: 2026-10-12 13:09:35 UTC
#> # A tibble: 1,418 × 77
#>    team_id pos_team    division conference season player_id receiver_player_name
#>    <chr>   <chr>       <chr>    <chr>       <int>     <int> <chr>               
#>  1 197     Oklahoma S… fbs      Big 12       2004    135622 Julius Crosslin     
#>  2 356     Illinois    fbs      Big Ten      2004    133661 Zach Gray           
#>  3 2572    Southern M… fbs      Conferenc…   2004    116114 Patrick Corbett     
#>  4 2641    Texas Tech  fbs      Big 12       2004    135873 Jarrett Hicks       
#>  5 221     Pittsburgh  fbs      Big East     2004    134927 Steve Buches        
#>  6 252     BYU         fbs      Mountain …   2004     36262 Chris Hale          
#>  7 235     Memphis     fbs      Conferenc…   2004    133397 John Doucette       
#>  8 2393    Middle Ten… fbs      Sun Belt     2004    133319 Eugene Gross        
#>  9 264     Washington  fbs      Pac-10       2004    120846 Shelton Sampson     
#> 10 23      San Jose S… fbs      Western A…   2004    148346 Casey Miranda       
#> # ℹ 1,408 more rows
#> # ℹ 70 more variables: plays <int>, games <int>, team_games <int>, TEPA <dbl>,
#> #   EPAplay <dbl>, yards <int>, success <dbl>, comp <int>, targets <int>,
#> #   passing_td <dbl>, fumbles <dbl>, playsgame <dbl>, EPAgame <dbl>,
#> #   yardsplay <dbl>, yardsgame <dbl>, catchpct <dbl>, dispersion_games <int>,
#> #   EPAplay_sd <dbl>, EPAplay_p10 <dbl>, EPAplay_p90 <dbl>, boom_rate <dbl>,
#> #   bust_rate <dbl>, TEPA_rank <dbl>, EPAgame_rank <dbl>, EPAplay_rank <dbl>, …
# }