Skip to contents

The NCAA has a lot of sports stats available at https://stats.ncaa.org. This package focuses on volleyball, though some of the functions can be used for other sports (e.g., get_teams()). The sport code for selecting women’s volleyball is “WVB” and men’s is “MVB”. Once you pick one of those, you can access season, match, and play-by-play stats for players and teams.

Finding teams

The NCAA uses a unique team ID for each women's and men's volleyball team and each season. So first you will need to get that ID with the find_team_id(). I'll use Nebraska to illustrate the functions in {ncaavolleyballr}.

However, before we find the team ID, we first have to know the exact team name that the NCAA uses to reference each team. Is Nebraska’s team name Nebraska, Neb., University of Nebraska-Lincoln, UNL, or something else? We can use find_team_name() to get a vector of teams that match a pattern.

find_team_name("Neb")
#> [1] "Neb. Wesleyan" "Neb.-Kearney"  "Nebraska"

Looks like it’s “Nebraska”. So now we can pass that to find_team_id() along with the year that we’re interested in. This function queries two data sets that ship with this package: wvb_teams and mvb_teams. These two data sets are simply the output of the get_teams() function being applied to sports “WVB” and “MVB” respectively. The get_teams() function can be applied to other sports to get the list of all of their team IDs. But since we’ve already done that for men’s and women’s volleyball, you won’t need to use get_teams().

OK, let’s find Nebraska’s team ID for 2024.

find_team_id("Nebraska", 2024)
#> [1] "585290"

We’ll need this team ID to access all of the team’s statistics. You can either assign the output to an object or just add it to the top of your pipeline.

You can also pass vectors of team names and years to find team IDs for multiple teams and years.

find_team_id("Nebraska", 2020:2024)
#> [1] "504517" "523117" "538902" "558878" "585290"
find_team_id(c("Nebraska", "Wisconsin"), 2024)
#> [1] "585290" "585357"
find_team_id(c("Nebraska", "Wisconsin"), 2020:2024)
#>  [1] "504517" "504318" "523117" "522809" "538902" "538704" "558878" "559025" "585290" "585357"

Note these are processed per year, so the last example are the teams ID’s for Nebraska and Wisconsin in 2020 then 2021, etc.

Season stats

Now that we have the team ID, we can use it to access season summary statistics for a particular team and year (e.g., Nebraska 2024).

Team season information

Before we get to stats, we can extract information about a team’s season with team_season_info(), The NCAA’s main page for a team and year includes a tab called “Schedule/Results”. The team_season_stats() function extracts information about the team’s venue, coach, and records, as well as the table of the schedule and results.

(neb2024team <- find_team_id("Nebraska", 2024) |>
   team_season_info())
#> $team_info
#>      team_id team_name conference_id conference div   yr    season
#> 1479  585290  Nebraska           827    Big Ten   1 2024 2024-2025
#> 
#> $arena
#>                  Arena name                    Capacity                  Year built 
#> "Bob Devaney Sports Center"                     "7,907"                      "1975" 
#> 
#> $coach
#>               Name         Alma mater            Seasons             Record 
#>        "John Cook" "San Diego - 1979"               "32"          "883-176" 
#> 
#> $record
#>      Overall record      Overall streak   Conference record   Conference streak 
#>      "33-3 (0.917)"       "Streak: L1 "      "19-1 (0.950)"       "Streak: L1 " 
#>         Home record         Home streak         Road record         Road streak 
#>      "22-0 (1.000)"      "Streak: W45 "      "10-2 (0.833)"       "Streak: W1 " 
#>      Neutral record      Neutral streak Non-division record Non-division streak 
#>       "1-1 (0.500)"       "Streak: L1 "       "0-0 (0.000)"        "Streak: 0 " 
#> 
#> $schedule
#> # A tibble: 36 × 4
#>    Date       Opponent                 Result Attendance
#>    <chr>      <chr>                    <chr>  <chr>     
#>  1 08/27/2024 Kentucky @Louisville, KY W 3-1  9,280     
#>  2 08/30/2024 A&M-Corpus Christi       W 3-0  8,956     
#>  3 08/31/2024 TCU                      W 3-1  8,695     
#>  4 09/03/2024 @ SMU                    L 0-3  6,773     
#>  5 09/05/2024 The Citadel              W 3-0  8,607     
#>  6 09/07/2024 Montana St.              W 3-0  8,456     
#>  7 09/10/2024 Creighton                W 3-2  8,924     
#>  8 09/13/2024 Arizona St.              W 3-0  8,772     
#>  9 09/14/2024 Wichita St.              W 3-0  8,541     
#> 10 09/18/2024 Stanford                 W 3-0  8,952     
#> # ℹ 26 more rows

This returns a list, so you can subset specific components with $. For instance, if we wanted to calculate average attendance per game:

neb2024team$schedule |>
  dplyr::pull(Attendance) |>
  sub(",", "", x = _) |>
  as.numeric() |>
  mean()
#> [1] 8765.333

Wow, Nebraska volleyball attracted more attendees per game than the 2021 Oakland Athletics professional baseball team!

Team season stats

The NCAA makes team season summary stats available since. We have included the conference starting with 2020 (conference data for previous seasons is not currently available).

team_season_stats(team = "Nebraska")
#>    Season TeamID     Team Conference   S MS Kills Errors Total Attacks Hit Pct Assists Aces SErr
#> 1 2020-21 504517 Nebraska    Big Ten  66 NA   925    323          2229   0.270     847  104  131
#> 2 2021-22 523117 Nebraska    Big Ten 121 NA  1677    667          4551   0.222    1548  181  241
#> 3 2022-23 538902 Nebraska    Big Ten 109 NA  1461    519          3866   0.244    1331  128  261
#> 4 2023-24 558878 Nebraska    Big Ten 121 NA  1676    597          3959   0.273    1553  143  309
#> 5 2024-25 585290 Nebraska    Big Ten 122 NA  1721    551          4114   0.284    1596  155  193
#> 6 2025-26 604893 Nebraska    Big Ten 111 NA  1630    431          3417   0.351    1500  146  219
#>   Digs RErr Block Solos Block Assists BErr    TB    PTS BHE Trpl Dbl SrvAtt RetAtt Dbl Dbl
#> 1  957   71          21           269   40 155.5 1184.5  12       19     NA     NA      NA
#> 2 2054  105          38           530   54    NA 2161.0   8       34   2836     NA      NA
#> 3 1721   77          33           537   47 301.5 1890.5  25       32     NA   1824      NA
#> 4 1666  104          39           574   43    NA 2145.0  15       35     NA   2018      35
#> 5 1856   81          51           581   50    NA 2217.5   1       36     NA   1920      NA
#> 6 1507  111          51           494   49    NA 2074.0  NA       34     NA   1691      NA

By default, the teams’s stats are returned. To return the opposing teams stats, set opponents = TRUE.

team_season_stats(team = "Nebraska", opponent = TRUE)
#>    Season TeamID               Team   S MS Kills Errors Total Attacks Hit Pct Assists Aces SErr
#> 1 2020-21 504517 Nebraska Opponents  66 NA   739    365          2226   0.168     679   71  160
#> 2 2021-22 523117 Nebraska Opponents 121 NA  1349    693          4418   0.148    1269  105  267
#> 3 2022-23 538902 Nebraska Opponents 109 NA  1198    689          3988   0.128    1114   77  297
#> 4 2023-24 558878 Nebraska Opponents 121 NA  1264    713          4009   0.137    1188  104  325
#> 5 2024-25 585290 Nebraska Opponents 122 NA  1376    749          4377   0.143    1321   81  342
#> 6 2025-26 604893 Nebraska Opponents 111 NA  1130    663          3631   0.129    1070  111  270
#>   Digs RErr Block Solos Block Assists BErr  TB    PTS BHE Trpl Dbl SrvAtt RetAtt Dbl Dbl
#> 1  831  104          16           236   26 134  944.0   6       19     NA     NA      NA
#> 2 1886  181          49           503   52  NA 1754.5  16       34   2431     NA      NA
#> 3 1575  128          29           370   51 214 1489.0  24       32     NA   2337      NA
#> 4 1402  143          42           430   58  NA 1625.0  17       35     NA   2552      35
#> 5 1539  155          34           375   49  NA 1678.5   1       36     NA   2748      NA
#> 6 1118  146          32           281   48  NA 1413.5  NA       34     NA   2453      NA

Here’s a table describing the different team statistics returned.

data.frame(Stat = colnames(team_season_stats(team = "Nebraska"))[4:20],
           Description = c("Sets played", "Kills", "Attack errors", "Attacks",
                           "Hit percentage [(kills-errors)/attacks]", "Assists",
                           "Ace serves", "Service errors", "Digs",
                           "Reception attempts", "Reception errors",
                           "Solo blocks", "Block assists", "Block errors",
                           "Points", "Ball handling errors", "Triple doubles"))
#>             Stat                             Description
#> 1     Conference                             Sets played
#> 2              S                                   Kills
#> 3             MS                           Attack errors
#> 4          Kills                                 Attacks
#> 5         Errors Hit percentage [(kills-errors)/attacks]
#> 6  Total Attacks                                 Assists
#> 7        Hit Pct                              Ace serves
#> 8        Assists                          Service errors
#> 9           Aces                                    Digs
#> 10          SErr                      Reception attempts
#> 11          Digs                        Reception errors
#> 12          RErr                             Solo blocks
#> 13   Block Solos                           Block assists
#> 14 Block Assists                            Block errors
#> 15          BErr                                  Points
#> 16            TB                    Ball handling errors
#> 17           PTS                          Triple doubles

Player season stats

The NCAA’s main page for a team includes a tab called “Team Statistics” (e.g., Nebraska 2024). The player_season_stats() function extracts the table of player summary statistics for a particular season, as well as team and opponent statistics (though these can be omitted).

find_team_id("Nebraska", 2024) |>
  player_season_stats()
#> # A tibble: 16 × 30
#>    Season    TeamID Team    Conference Number Player Yr    Pos   Ht    Hometown `High School`    GP
#>    <chr>     <chr>  <chr>   <chr>       <dbl> <chr>  <chr> <chr> <chr> <chr>    <chr>         <dbl>
#>  1 2024-2025 585290 Nebras… Big Ten         2 Berge… So    S     6-1   Sioux F… O'Gorman         36
#>  2 2024-2025 585290 Nebras… Big Ten         5 Rebek… Jr    MB    6-4   Lincoln… Waverly          35
#>  3 2024-2025 585290 Nebras… Big Ten         6 Laney… So    L/DS  5-3   Raleigh… Leesville Ro…    36
#>  4 2024-2025 585290 Nebras… Big Ten         7 Maisi… Jr    L/DS  5-6   Firth, … Norris            9
#>  5 2024-2025 585290 Nebras… Big Ten         8 Lexi … Sr    L/DS  5-5   Sterlin… Sterling         36
#>  6 2024-2025 585290 Nebras… Big Ten         9 Kenne… Sr    S     6-0   Eagan, … Eagan            35
#>  7 2024-2025 585290 Nebras… Big Ten        10 Olivi… Fr    L/DS  5-6   Benning… Bennington       36
#>  8 2024-2025 585290 Nebras… Big Ten        11 Leyla… Sr    MB    6-4   San Die… La Jolla         13
#>  9 2024-2025 585290 Nebras… Big Ten        12 Taylo… Sr    OH    6-5   Plainfi… Plainfield C…    33
#> 10 2024-2025 585290 Nebras… Big Ten        13 Merri… Sr    OH    6-4   Gardend… Gardendale       36
#> 11 2024-2025 585290 Nebras… Big Ten        15 Andi … So    MB    6-3   Brighto… Brighton         34
#> 12 2024-2025 585290 Nebras… Big Ten        22 Linds… Sr    OH    6-4   Papilli… Skutt Cathol…    24
#> 13 2024-2025 585290 Nebras… Big Ten        27 Harpe… So    OH    6-2   Ann Arb… Skyline          36
#> 14 2024-2025 585290 Nebras… Big Ten        NA TEAM   -     -     -     <NA>     <NA>             NA
#> 15 2024-2025 585290 Nebras… Big Ten        NA Totals -     -     -     <NA>     <NA>             NA
#> 16 2024-2025 585290 Nebras… Big Ten        NA Oppon… -     -     -     <NA>     <NA>             NA
#> # ℹ 18 more variables: GS <dbl>, S <dbl>, Kills <dbl>, Errors <dbl>, `Total Attacks` <dbl>,
#> #   `Hit Pct` <dbl>, Assists <dbl>, Aces <dbl>, SErr <dbl>, Digs <dbl>, RetAtt <dbl>, RErr <dbl>,
#> #   `Block Solos` <dbl>, `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>

This returns all players, along with TEAM, opponent, and overall team summaries. To only include player stats, set team_stats = FALSE.

find_team_id("Nebraska", 2024) |>
  player_season_stats(team_stats = FALSE)
#> # A tibble: 13 × 30
#>    Season    TeamID Team    Conference Number Player Yr    Pos   Ht    Hometown `High School`    GP
#>    <chr>     <chr>  <chr>   <chr>       <dbl> <chr>  <chr> <chr> <chr> <chr>    <chr>         <dbl>
#>  1 2024-2025 585290 Nebras… Big Ten         2 Berge… So    S     6-1   Sioux F… O'Gorman         36
#>  2 2024-2025 585290 Nebras… Big Ten         5 Rebek… Jr    MB    6-4   Lincoln… Waverly          35
#>  3 2024-2025 585290 Nebras… Big Ten         6 Laney… So    L/DS  5-3   Raleigh… Leesville Ro…    36
#>  4 2024-2025 585290 Nebras… Big Ten         7 Maisi… Jr    L/DS  5-6   Firth, … Norris            9
#>  5 2024-2025 585290 Nebras… Big Ten         8 Lexi … Sr    L/DS  5-5   Sterlin… Sterling         36
#>  6 2024-2025 585290 Nebras… Big Ten         9 Kenne… Sr    S     6-0   Eagan, … Eagan            35
#>  7 2024-2025 585290 Nebras… Big Ten        10 Olivi… Fr    L/DS  5-6   Benning… Bennington       36
#>  8 2024-2025 585290 Nebras… Big Ten        11 Leyla… Sr    MB    6-4   San Die… La Jolla         13
#>  9 2024-2025 585290 Nebras… Big Ten        12 Taylo… Sr    OH    6-5   Plainfi… Plainfield C…    33
#> 10 2024-2025 585290 Nebras… Big Ten        13 Merri… Sr    OH    6-4   Gardend… Gardendale       36
#> 11 2024-2025 585290 Nebras… Big Ten        15 Andi … So    MB    6-3   Brighto… Brighton         34
#> 12 2024-2025 585290 Nebras… Big Ten        22 Linds… Sr    OH    6-4   Papilli… Skutt Cathol…    24
#> 13 2024-2025 585290 Nebras… Big Ten        27 Harpe… So    OH    6-2   Ann Arb… Skyline          36
#> # ℹ 18 more variables: GS <dbl>, S <dbl>, Kills <dbl>, Errors <dbl>, `Total Attacks` <dbl>,
#> #   `Hit Pct` <dbl>, Assists <dbl>, Aces <dbl>, SErr <dbl>, Digs <dbl>, RetAtt <dbl>, RErr <dbl>,
#> #   `Block Solos` <dbl>, `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>

This returns all of the stats included by team_season_stats(), plus GP and GS, which are Games Played and Games Started, respectively.

Match stats

In addition to overall season summary stats, the NCAA provides match-level data for both teams and individual players.

Team match stats

To get overall match stats for a team in a particular season, use team_match_stats().

find_team_id(team = "Nebraska", year = 2024) |>
  team_match_stats()
#> # A tibble: 36 × 23
#>    Season    Date       TeamID Team   Conference Opponent Result     S Kills Errors `Total Attacks`
#>    <chr>     <chr>      <chr>  <chr>  <chr>      <chr>    <chr>  <dbl> <dbl>  <dbl>           <dbl>
#>  1 2024-2025 08/27/2024 585290 Nebra… Big Ten    Kentuck… W 3-1      4    47     16             120
#>  2 2024-2025 08/30/2024 585290 Nebra… Big Ten    A&M-Cor… W 3-0      3    48      7              96
#>  3 2024-2025 08/31/2024 585290 Nebra… Big Ten    TCU      W 3-1      4    55     25             141
#>  4 2024-2025 09/03/2024 585290 Nebra… Big Ten    @ SMU    L 0-3      3    36     18             105
#>  5 2024-2025 09/05/2024 585290 Nebra… Big Ten    The Cit… W 3-0      3    43      7              98
#>  6 2024-2025 09/07/2024 585290 Nebra… Big Ten    Montana… W 3-0      3    47     11              90
#>  7 2024-2025 09/10/2024 585290 Nebra… Big Ten    Creight… W 3-2      5    73     27             193
#>  8 2024-2025 09/13/2024 585290 Nebra… Big Ten    Arizona… W 3-0      3    48     12             113
#>  9 2024-2025 09/14/2024 585290 Nebra… Big Ten    Wichita… W 3-0      3    50      8              88
#> 10 2024-2025 09/18/2024 585290 Nebra… Big Ten    Stanford W 3-0      3    38     13              95
#> # ℹ 26 more rows
#> # ℹ 12 more variables: `Hit Pct` <dbl>, Assists <dbl>, Aces <dbl>, SErr <dbl>, Digs <dbl>,
#> #   RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>, `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>,
#> #   BHE <dbl>

Player match stats

Similarly, you can get match stats for each player in a single match. But to do this, you must know the NCAA’s contest ID for the particular match or matches that you’re interested in. Use the find_team_contests() function to return a data frame of all of the matches for a particular team and season, along with the contest IDs.

(neb2024contests <- find_team_id(team = "Nebraska", year = 2024) |>
  find_team_contests())
#> # A tibble: 36 × 6
#>    date       team     opponent           result attendance contest
#>    <chr>      <chr>    <chr>              <chr>       <dbl> <chr>  
#>  1 08/27/2024 Nebraska Kentucky           W 3-1        9280 5362360
#>  2 08/30/2024 Nebraska A&M-Corpus Christi W 3-0        8956 5362361
#>  3 08/31/2024 Nebraska TCU                W 3-1        8695 5362362
#>  4 09/03/2024 Nebraska SMU                L 0-3        6773 5362363
#>  5 09/05/2024 Nebraska The Citadel        W 3-0        8607 5362364
#>  6 09/07/2024 Nebraska Montana St.        W 3-0        8456 5362365
#>  7 09/10/2024 Nebraska Creighton          W 3-2        8924 5362366
#>  8 09/13/2024 Nebraska Arizona St.        W 3-0        8772 5362367
#>  9 09/14/2024 Nebraska Wichita St.        W 3-0        8541 5362368
#> 10 09/18/2024 Nebraska Stanford           W 3-0        8952 5362369
#> # ℹ 26 more rows

Once we have the contest IDs, we can grab one and pass it to player_match_stats().

player_match_stats(contest = "6080708")
#> # A tibble: 25 × 27
#>    Season    Date       ContestID Team    Conference `Opponent Team` `Opponent Conference` Location
#>    <chr>     <date>     <chr>     <chr>   <chr>      <chr>           <chr>                 <chr>   
#>  1 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#>  2 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#>  3 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#>  4 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#>  5 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#>  6 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#>  7 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#>  8 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#>  9 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#> 10 2024-2025 2024-12-19 6080708   Penn S… Big Ten    Nebraska        Big Ten               Away    
#> # ℹ 15 more rows
#> # ℹ 19 more variables: Number <dbl>, Player <chr>, P <chr>, S <int>, Kills <int>, Errors <int>,
#> #   TotalAttacks <int>, HitPct <dbl>, Assists <int>, Aces <int>, SErr <int>, Digs <int>,
#> #   RetAtt <int>, RErr <int>, BlockSolos <int>, BlockAssists <int>, BErr <int>, PTS <dbl>,
#> #   BHE <int>

This returns a list with two elements—one for each team. If we just want to return a single team’s match stats, we can specify this with the team argument. Also, by default, the team stats are included in the output, but we can remove these with team_stats = FALSE.

player_match_stats(contest = "6080708", team = "Nebraska", team_stats = FALSE)
#> # A tibble: 10 × 27
#>    Season    Date       ContestID Team    Conference `Opponent Team` `Opponent Conference` Location
#>    <chr>     <date>     <chr>     <chr>   <chr>      <chr>           <chr>                 <chr>   
#>  1 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#>  2 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#>  3 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#>  4 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#>  5 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#>  6 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#>  7 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#>  8 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#>  9 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#> 10 2024-2025 2024-12-19 6080708   Nebras… Big Ten    Penn St.        Big Ten               Home    
#> # ℹ 19 more variables: Number <dbl>, Player <chr>, P <chr>, S <int>, Kills <int>, Errors <int>,
#> #   TotalAttacks <int>, HitPct <dbl>, Assists <int>, Aces <int>, SErr <int>, Digs <int>,
#> #   RetAtt <int>, RErr <int>, BlockSolos <int>, BlockAssists <int>, BErr <int>, PTS <dbl>,
#> #   BHE <int>

Play-by-play data

Play-by-play data for matches are also available on the NCAA’s website, if you know the contest ID. The match_pbp() function extracts relevant events within a match.

match_pbp(contest = "6080708") |>
  head(20) # cut this off, because it has 1525 rows!
#> # A tibble: 20 × 11
#>    contestid set   away_team home_team score rally rally_event event     team    player description
#>    <chr>     <chr> <chr>     <chr>     <chr> <int>       <int> <chr>     <chr>   <chr>  <chr>      
#>  1 6080708   1     Penn St.  Nebraska  0-0       1           1 Serve     Penn S… Jocel… Jocelyn Na…
#>  2 6080708   1     Penn St.  Nebraska  0-0       1           2 Reception Nebras… Berge… Reception …
#>  3 6080708   1     Penn St.  Nebraska  0-0       1           3 Set       Nebras… Lexi … Set by Lex…
#>  4 6080708   1     Penn St.  Nebraska  0-0       1           4 Attack    Nebras… Merri… Attack by …
#>  5 6080708   1     Penn St.  Nebraska  0-0       1           5 Set       Nebras… Berge… Set by Ber…
#>  6 6080708   1     Penn St.  Nebraska  0-0       1           6 Attack    Nebras… Harpe… Attack by …
#>  7 6080708   1     Penn St.  Nebraska  0-0       1           7 Dig       Penn S… Gilli… Dig by Gil…
#>  8 6080708   1     Penn St.  Nebraska  0-0       1           8 Set       Penn S… Izzy … Set by Izz…
#>  9 6080708   1     Penn St.  Nebraska  0-0       1           9 Attack    Penn S… Taylo… Attack by …
#> 10 6080708   1     Penn St.  Nebraska  0-0       1          10 Block     Nebras… Rebek… Block by R…
#> 11 6080708   1     Penn St.  Nebraska  0-1       1          11 Block     Nebras… Rebek… Block by R…
#> 12 6080708   1     Penn St.  Nebraska  0-1       2           1 Serve     Nebras… Lexi … Lexi Rodri…
#> 13 6080708   1     Penn St.  Nebraska  0-1       2           2 Reception Penn S… Jess … Reception …
#> 14 6080708   1     Penn St.  Nebraska  0-1       2           3 Set       Penn S… Izzy … Set by Izz…
#> 15 6080708   1     Penn St.  Nebraska  0-1       2           4 Attack    Penn S… Jess … Attack by …
#> 16 6080708   1     Penn St.  Nebraska  0-1       2           5 Dig       Nebras… Harpe… Dig by Har…
#> 17 6080708   1     Penn St.  Nebraska  0-1       2           6 Set       Penn S… Izzy … Set by Izz…
#> 18 6080708   1     Penn St.  Nebraska  0-1       2           7 Attack    Penn S… Carol… Attack by …
#> 19 6080708   1     Penn St.  Nebraska  1-1       2           8 Kill      Penn S… Carol… Kill by Ca…
#> 20 6080708   1     Penn St.  Nebraska  1-1       3           1 Serve     Penn S… Gilli… Gillian Gr…

Aggregating data

Though the season, match, and play-by-play data are useful at the individual level, they can be more useful when aggregated. The group_stats() function aggregates season, match, and play-by-play data over multiple teams and/or years by applying the player_season_stats(), player_match_stats(), or match_pbp() across teams and years.

group_stats(teams = c("Nebraska", "Wisconsin"), year = 2023:2024, level = "season")
#> $playerdata
#> # A tibble: 54 × 31
#>    Season    TeamID Team  Conference Number Player Yr    Pos   Ht       GP    GS     S Kills Errors
#>    <chr>     <chr>  <chr> <chr>       <dbl> <chr>  <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>  <dbl>
#>  1 2023-2024 558878 Nebr… Big Ten         2 Berge… Fr    S     6-1      35    35   121    70     19
#>  2 2023-2024 558878 Nebr… Big Ten         5 Rebek… So    MB    6-4      32    31   105   185     61
#>  3 2023-2024 558878 Nebr… Big Ten         6 Laney… Fr    L/DS  5-3      34    33   117     0      1
#>  4 2023-2024 558878 Nebr… Big Ten         7 Maisi… So    L/DS  5-6      18     0    36     0      0
#>  5 2023-2024 558878 Nebr… Big Ten         8 Lexi … Jr    L/DS  5-5      35     0   121     1      0
#>  6 2023-2024 558878 Nebr… Big Ten         9 Kenne… Jr    S     6-0      29     0    96     1      0
#>  7 2023-2024 558878 Nebr… Big Ten        11 Hayde… So    OH    6-2       9     0    10     3      7
#>  8 2023-2024 558878 Nebr… Big Ten        13 Merri… Jr    OH    6-4      35    35   121   455    153
#>  9 2023-2024 558878 Nebr… Big Ten        14 Ally … Jr    OH    6-5      30     2    87   196     91
#> 10 2023-2024 558878 Nebr… Big Ten        15 Andi … Fr    MB    6-3      34    34   118   237     67
#> # ℹ 44 more rows
#> # ℹ 17 more variables: `Total Attacks` <dbl>, `Hit Pct` <dbl>, Assists <dbl>, Aces <dbl>,
#> #   SErr <dbl>, Digs <dbl>, RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>, `Block Assists` <dbl>,
#> #   BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>, `Dbl Dbl` <dbl>, Hometown <chr>,
#> #   `High School` <chr>
#> 
#> $teamdata
#> # A tibble: 4 × 24
#>   Season   TeamID Team  Conference     S Kills Errors `Total Attacks` `Hit Pct` Assists  Aces  SErr
#>   <chr>    <chr>  <chr> <chr>      <dbl> <dbl>  <dbl>           <dbl>     <dbl>   <dbl> <dbl> <dbl>
#> 1 2023-20… 558878 Nebr… Big Ten      121  1676    597            3959     0.273    1553   143   309
#> 2 2024-20… 585290 Nebr… Big Ten      122  1721    551            4114     0.284    1596   155   193
#> 3 2023-20… 559025 Wisc… Big Ten      119  1654    428            3950     0.31     1552   184   270
#> 4 2024-20… 585357 Wisc… Big Ten      120  1657    486            4090     0.286    1562   183   280
#> # ℹ 12 more variables: Digs <dbl>, RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>,
#> #   `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>, `Dbl Dbl` <dbl>,
#> #   Hometown <chr>, `High School` <chr>

We don’t have other examples, because these take a while to run.

There are also convenience functions conference_stats() and division_stats() that automatically extract data for a particular conference or NCAA division.

conference_stats(year = 2024, conf = "Big Ten", level = "season")
#> $playerdata
#> # A tibble: 274 × 30
#>    Season    TeamID Team    Conference Number Player Yr    Pos   Ht    Hometown `High School`    GP
#>    <chr>     <chr>  <chr>   <chr>       <dbl> <chr>  <chr> <chr> <chr> <chr>    <chr>         <dbl>
#>  1 2024-2025 585233 Illino… Big Ten         2 Raege… Sr    S     5-10  Sioux F… O'Gorman         31
#>  2 2024-2025 585233 Illino… Big Ten         3 Lily … So    L/DS  5-6   Emden, … University       26
#>  3 2024-2025 585233 Illino… Big Ten         4 Bianc… So    S     5-8   Orland … Carl Sandburg     9
#>  4 2024-2025 585233 Illino… Big Ten         5 Taylo… Fr    OH    6-4   Kelowna… Okanagan Mis…    11
#>  5 2024-2025 585233 Illino… Big Ten         8 Averi… Jr    OH    6-2   Bloomin… Normal Commu…    31
#>  6 2024-2025 585233 Illino… Big Ten        10 Carol… Sr    L/DS  5-11  Napervi… Benet Academy     8
#>  7 2024-2025 585233 Illino… Big Ten        11 Cari … So    MB    6-4   Ann Arb… Skyline          31
#>  8 2024-2025 585233 Illino… Big Ten        12 Raina… Sr    OH    6-1   Marengo… Highland         31
#>  9 2024-2025 585233 Illino… Big Ten        13 Kenzi… Fr    L/DS  5-7   Cincinn… Mount Notre …     2
#> 10 2024-2025 585233 Illino… Big Ten        16 Ashly… Fr    MB    6-4   Greenvi… DH Conley        31
#> # ℹ 264 more rows
#> # ℹ 18 more variables: GS <dbl>, S <dbl>, Kills <dbl>, Errors <dbl>, `Total Attacks` <dbl>,
#> #   `Hit Pct` <dbl>, Assists <dbl>, Aces <dbl>, SErr <dbl>, Digs <dbl>, RetAtt <dbl>, RErr <dbl>,
#> #   `Block Solos` <dbl>, `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>
#> 
#> $teamdata
#> # A tibble: 18 × 21
#>    Season  TeamID Team  Conference     S Kills Errors `Total Attacks` `Hit Pct` Assists  Aces  SErr
#>    <chr>   <chr>  <chr> <chr>      <dbl> <dbl>  <dbl>           <dbl>     <dbl>   <dbl> <dbl> <dbl>
#>  1 2024-2… 585233 Illi… Big Ten      114  1432    559            3793     0.23     1311   183   275
#>  2 2024-2… 585236 Indi… Big Ten      108  1384    595            3774     0.209    1283   171   311
#>  3 2024-2… 585240 Iowa  Big Ten      119  1440    678            4024     0.189    1313   178   268
#>  4 2024-2… 585265 Mary… Big Ten      112  1322    566            3722     0.203    1197   223   276
#>  5 2024-2… 585273 Mich… Big Ten      117  1535    628            4081     0.222    1436   181   284
#>  6 2024-2… 585272 Mich… Big Ten      114  1399    604            3877     0.205    1275   157   265
#>  7 2024-2… 585275 Minn… Big Ten      122  1581    560            4226     0.242    1441   181   262
#>  8 2024-2… 585290 Nebr… Big Ten      122  1721    551            4114     0.284    1596   155   193
#>  9 2024-2… 585395 Nort… Big Ten      106  1202    601            3488     0.172    1103   146   232
#> 10 2024-2… 585398 Ohio… Big Ten      117  1476    641            4086     0.204    1383   177   249
#> 11 2024-2… 585403 Oreg… Big Ten      117  1554    531            3915     0.261    1442   202   270
#> 12 2024-2… 585406 Penn… Big Ten      135  1972    648            4673     0.283    1841   203   324
#> 13 2024-2… 585415 Purd… Big Ten      118  1683    509            4191     0.28     1568   146   262
#> 14 2024-2… 585422 Rutg… Big Ten      104  1145    540            3441     0.176    1080   142   294
#> 15 2024-2… 585446 Sout… Big Ten      122  1597    622            4091     0.238    1469   184   363
#> 16 2024-2… 585166 UCLA  Big Ten      109  1474    544            3766     0.247    1373   125   265
#> 17 2024-2… 585346 Wash… Big Ten      117  1494    601            3970     0.225    1400   190   283
#> 18 2024-2… 585357 Wisc… Big Ten      120  1657    486            4090     0.286    1562   183   280
#> # ℹ 9 more variables: Digs <dbl>, RetAtt <dbl>, RErr <dbl>, `Block Solos` <dbl>,
#> #   `Block Assists` <dbl>, BErr <dbl>, PTS <dbl>, BHE <dbl>, `Trpl Dbl` <dbl>

Well, that covers most of the functionality of {ncaavolleyballr}. If you find any bugs or have any questions, please reach out.