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
#> 1466  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         Home record 
#>      "33-3 (0.917)"        "Streak: L1"      "19-1 (0.950)"        "Streak: L1"      "22-0 (1.000)" 
#>         Home streak         Road record         Road streak      Neutral record      Neutral streak 
#>       "Streak: W45"      "10-2 (0.833)"        "Streak: W1"       "1-1 (0.500)"        "Streak: L1" 
#> Non-division record Non-division streak 
#>       "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")
#>       Year     Team Conference   S Kills Errors Total Attacks Hit Pct Assists Aces SErr Digs RetAtt
#> 1  2001-02 Nebraska       <NA> 108  1790    532          4130   0.305    1575  162   NA 1833     NA
#> 2  2002-03 Nebraska       <NA> 103  1747    481          3927   0.322    1532  169   NA 1642     NA
#> 3  2003-04 Nebraska       <NA> 117  1915    720          4806   0.249    1748  225   NA 1941     NA
#> 4  2004-05 Nebraska       <NA> 106  1823    610          4322   0.281    1657  166   NA 1846     NA
#> 5  2005-06 Nebraska       <NA> 116  1986    581          4367   0.322    1823  162   NA 1731     NA
#> 6  2006-07 Nebraska       <NA> 115  2001    637          4605   0.296    1863  175   NA 1942     NA
#> 7  2007-08 Nebraska       <NA> 103  1829    506          4051   0.327    1691  187   NA 1687     NA
#> 8  2008-09 Nebraska       <NA> 118  1714    590          4166   0.270    1578  154   NA 1734     NA
#> 9  2009-10 Nebraska       <NA> 115  1685    618          4160   0.256    1568  130   NA 1837     NA
#> 10 2010-11 Nebraska       <NA> 108  1609    528          3812   0.284    1501  127  148 1698     NA
#> 11 2011-12 Nebraska       <NA> 113  1532    504          3866   0.266    1426   91  161 1696     NA
#> 12 2012-13 Nebraska       <NA> 123  1728    509          4171   0.292    1617  139  217 1767     NA
#> 13 2013-14 Nebraska       <NA> 119  1710    593          4132   0.270    1597  115  241 1714     NA
#> 14 2014-15 Nebraska       <NA> 118  1564    599          4089   0.236    1476  118  220 1699     NA
#> 15 2015-16 Nebraska       <NA> 129  1873    589          4690   0.274    1730  140  232 2049     NA
#> 16 2016-17 Nebraska       <NA> 117  1688    533          4026   0.287    1558  142  215 1785     NA
#> 17 2017-18 Nebraska       <NA> 125  1777    575          4267   0.282    1632  184  236 1904     NA
#> 18 2018-19 Nebraska       <NA> 133  1772    582          4491   0.265    1651  215  285 2100     NA
#> 19 2019-20 Nebraska       <NA> 119  1641    567          4029   0.267    1526  125  238 1802   2087
#> 20 2020-21 Nebraska       <NA>  66   925    323          2229   0.270     847  104  131  957   1155
#> 21 2021-22 Nebraska       <NA> 121  1677    667          4551   0.222    1548  181  241 2054   2164
#> 22 2022-23 Nebraska       <NA> 109  1461    519          3866   0.244    1331  128  261 1721   1824
#> 23 2023-24 Nebraska       <NA> 121  1676    597          3959   0.273    1553  143  309 1666   2018
#> 24 2024-25 Nebraska       <NA> 122  1721    551          4114   0.284    1596  155  193 1856   1920
#>    RErr Block Solos Block Assists BErr    PTS BHE Trpl Dbl
#> 1    NA         116           670   NA     NA  NA        1
#> 2    NA          81           626   NA     NA  NA        1
#> 3    NA          80           582   NA     NA  NA        1
#> 4    NA          89           675   NA     NA  NA        1
#> 5    NA          66           823   NA     NA  NA        1
#> 6    NA          94           531   NA     NA  NA        1
#> 7    NA          90           397   NA     NA  NA        1
#> 8    NA          78           451   NA     NA  NA        1
#> 9    NA          75           398   NA     NA  NA        1
#> 10   77          73           510   79 2064.0  11       NA
#> 11   95          52           484   77 1917.0  18       NA
#> 12   94          79           477   68 2184.5  15       NA
#> 13   82          69           538   96 2163.0  20       NA
#> 14   93          72           543   64 2025.5  23       NA
#> 15   79          55           605   67 2370.5  24       NA
#> 16   69          57           546   59 2160.0  19       NA
#> 17   80          61           479   68 2261.5  22       NA
#> 18  124          56           601   99 2343.5  14       NA
#> 19  126          50           470   66 1940.0  11       10
#> 20   71          21           269   40 1184.5  12       19
#> 21  105          38           530   54 2161.0   8       34
#> 22   77          33           537   47 1890.5  25       32
#> 23  104          39           574   43 2145.0  15       35
#> 24   81          51           581   50 2217.5   1       36

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

team_season_stats(team = "Nebraska", opponent = TRUE)
#>       Year     Team Conference   S Kills Errors Total Attacks Hit Pct Assists Aces SErr Digs RetAtt
#> 1  2010-11 Opponent       <NA> 108  1235    679          3833   0.145    1174   77  174 1480     NA
#> 2  2011-12 Opponent       <NA> 113  1305    724          3998   0.145    1234   95  195 1599     NA
#> 3  2012-13 Opponent       <NA> 123  1543    697          4316   0.196    1452   94  209 1688     NA
#> 4  2013-14 Opponent       <NA> 119  1438    684          4119   0.183    1371   82  226 1592     NA
#> 5  2014-15 Opponent       <NA> 118  1507    746          4246   0.179    1405   93  226 1645     NA
#> 6  2015-16 Opponent       <NA> 129  1577    760          4756   0.172    1494   79  237 1916     NA
#> 7  2016-17 Opponent       <NA> 117  1309    708          4102   4.587    1243   69  236 1573     NA
#> 8  2017-18 Opponent       <NA> 125  1368    701          4335   0.154    1276   80  278 1634     NA
#> 9  2018-19 Opponent       <NA> 133  1460    780          4719   0.144    1376  124  296 1905     NA
#> 10 2019-20 Opponent       <NA> 119  1344    703          4205   0.152    1243  126  252 1581   2532
#> 11 2020-21 Opponent       <NA>  66   739    365          2226   0.168     679   71  160  831   1424
#> 12 2021-22 Opponent       <NA> 121  1349    693          4418   0.148    1269  105  267 1886   2595
#> 13 2022-23 Opponent       <NA> 109  1198    689          3988   0.128    1114   77  297 1575   2337
#> 14 2023-24 Opponent       <NA> 121  1264    713          4009   0.137    1188  104  325 1402   2552
#> 15 2024-25 Opponent       <NA> 122  1376    749          4377   0.143    1321   81  342 1539   2748
#>    RErr Block Solos Block Assists BErr    PTS BHE Trpl Dbl
#> 1   127          33           322   59 1506.0  23       NA
#> 2    91          28           294   59 1575.0  29       NA
#> 3   139          50           362   69 1868.0  35       NA
#> 4   115          46           398   70 1765.0  22       NA
#> 5   118          40           417   74 1848.5  39       NA
#> 6   140          53           387   89 1902.5  40       NA
#> 7   142          40           355   59 1595.5  22       NA
#> 8   184          60           357   66 1686.5  25       NA
#> 9   215          39           388   59 1817.0  41       NA
#> 10  125          45           341   66 1595.5  34       10
#> 11  104          16           236   26  944.0   6       19
#> 12  181          49           503   52 1754.5  16       34
#> 13  128          29           370   51 1489.0  24       32
#> 14  143          42           430   58 1625.0  17       35
#> 15  155          34           375   49 1678.5   1       36

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              S                             Sets played
#> 2          Kills                                   Kills
#> 3         Errors                           Attack errors
#> 4  Total Attacks                                 Attacks
#> 5        Hit Pct Hit percentage [(kills-errors)/attacks]
#> 6        Assists                                 Assists
#> 7           Aces                              Ace serves
#> 8           SErr                          Service errors
#> 9           Digs                                    Digs
#> 10        RetAtt                      Reception attempts
#> 11          RErr                        Reception errors
#> 12   Block Solos                             Solo blocks
#> 13 Block Assists                           Block assists
#> 14          BErr                            Block errors
#> 15           PTS                                  Points
#> 16           BHE                    Ball handling errors
#> 17      Trpl Dbl                          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 × 29
#>    Season    Team  Conference Number Player Yr    Pos   Ht    Hometown `High School`    GP    GS     S
#>    <chr>     <chr> <chr>       <dbl> <chr>  <chr> <chr> <chr> <chr>    <chr>         <dbl> <dbl> <dbl>
#>  1 2024-2025 Nebr… Big Ten         2 Berge… So    S     6-1   Sioux F… O'Gorman         36    36   122
#>  2 2024-2025 Nebr… Big Ten         5 Rebek… Jr    MB    6-4   Lincoln… Waverly          35    34   109
#>  3 2024-2025 Nebr… Big Ten         6 Laney… So    L/DS  5-3   Raleigh… Leesville Ro…    36     0   121
#>  4 2024-2025 Nebr… Big Ten         7 Maisi… Jr    L/DS  5-6   Firth, … Norris            9     0    13
#>  5 2024-2025 Nebr… Big Ten         8 Lexi … Sr    L/DS  5-5   Sterlin… Sterling         36     0   122
#>  6 2024-2025 Nebr… Big Ten         9 Kenne… Sr    S     6-0   Eagan, … Eagan            35     0   112
#>  7 2024-2025 Nebr… Big Ten        10 Olivi… Fr    L/DS  5-6   Benning… Bennington       36     4   122
#>  8 2024-2025 Nebr… Big Ten        11 Leyla… Sr    MB    6-4   San Die… La Jolla         13     4    23
#>  9 2024-2025 Nebr… Big Ten        12 Taylo… Sr    OH    6-5   Plainfi… Plainfield C…    33    20    88
#> 10 2024-2025 Nebr… Big Ten        13 Merri… Sr    OH    6-4   Gardend… Gardendale       36    36   122
#> 11 2024-2025 Nebr… Big Ten        15 Andi … So    MB    6-3   Brighto… Brighton         34    34   114
#> 12 2024-2025 Nebr… Big Ten        22 Linds… Sr    OH    6-4   Papilli… Skutt Cathol…    24    12    50
#> 13 2024-2025 Nebr… Big Ten        27 Harpe… So    OH    6-2   Ann Arb… Skyline          36    36   121
#> 14 2024-2025 Nebr… Big Ten        NA TEAM   -     -     -     <NA>     <NA>             NA    NA    NA
#> 15 2024-2025 Nebr… Big Ten        NA Totals -     -     -     <NA>     <NA>             NA    NA   122
#> 16 2024-2025 Nebr… Big Ten        NA Oppon… -     -     -     <NA>     <NA>             NA    NA   122
#> # ℹ 16 more variables: 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 × 29
#>    Season    Team  Conference Number Player Yr    Pos   Ht    Hometown `High School`    GP    GS     S
#>    <chr>     <chr> <chr>       <dbl> <chr>  <chr> <chr> <chr> <chr>    <chr>         <dbl> <dbl> <dbl>
#>  1 2024-2025 Nebr… Big Ten         2 Berge… So    S     6-1   Sioux F… O'Gorman         36    36   122
#>  2 2024-2025 Nebr… Big Ten         5 Rebek… Jr    MB    6-4   Lincoln… Waverly          35    34   109
#>  3 2024-2025 Nebr… Big Ten         6 Laney… So    L/DS  5-3   Raleigh… Leesville Ro…    36     0   121
#>  4 2024-2025 Nebr… Big Ten         7 Maisi… Jr    L/DS  5-6   Firth, … Norris            9     0    13
#>  5 2024-2025 Nebr… Big Ten         8 Lexi … Sr    L/DS  5-5   Sterlin… Sterling         36     0   122
#>  6 2024-2025 Nebr… Big Ten         9 Kenne… Sr    S     6-0   Eagan, … Eagan            35     0   112
#>  7 2024-2025 Nebr… Big Ten        10 Olivi… Fr    L/DS  5-6   Benning… Bennington       36     4   122
#>  8 2024-2025 Nebr… Big Ten        11 Leyla… Sr    MB    6-4   San Die… La Jolla         13     4    23
#>  9 2024-2025 Nebr… Big Ten        12 Taylo… Sr    OH    6-5   Plainfi… Plainfield C…    33    20    88
#> 10 2024-2025 Nebr… Big Ten        13 Merri… Sr    OH    6-4   Gardend… Gardendale       36    36   122
#> 11 2024-2025 Nebr… Big Ten        15 Andi … So    MB    6-3   Brighto… Brighton         34    34   114
#> 12 2024-2025 Nebr… Big Ten        22 Linds… Sr    OH    6-4   Papilli… Skutt Cathol…    24    12    50
#> 13 2024-2025 Nebr… Big Ten        27 Harpe… So    OH    6-2   Ann Arb… Skyline          36    36   121
#> # ℹ 16 more variables: 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: 37 × 21
#>    Date    Team  Conference Opponent Result     S Kills Errors `Total Attacks` `Hit Pct` Assists  Aces
#>    <chr>   <chr> <chr>      <chr>    <chr>  <dbl> <dbl>  <dbl>           <dbl>     <dbl>   <dbl> <dbl>
#>  1 08/27/… Nebr… Big Ten    Kentuck… W 3-1      4    47     16             120     0.258      44     4
#>  2 08/30/… Nebr… Big Ten    A&M-Cor… W 3-0      3    48      7              96     0.427      43     7
#>  3 08/31/… Nebr… Big Ten    TCU      W 3-1      4    55     25             141     0.213      52     9
#>  4 09/03/… Nebr… Big Ten    @ SMU    L 0-3      3    36     18             105     0.171      35     1
#>  5 09/05/… Nebr… Big Ten    The Cit… W 3-0      3    43      7              98     0.367      39     6
#>  6 09/07/… Nebr… Big Ten    Montana… W 3-0      3    47     11              90     0.4        44     7
#>  7 09/10/… Nebr… Big Ten    Creight… W 3-2      5    73     27             193     0.238      67     2
#>  8 09/13/… Nebr… Big Ten    Arizona… W 3-0      3    48     12             113     0.319      47     2
#>  9 09/14/… Nebr… Big Ten    Wichita… W 3-0      3    50      8              88     0.477      44     3
#> 10 09/18/… Nebr… Big Ten    Stanford W 3-0      3    38     13              95     0.263      36     5
#> # ℹ 27 more rows
#> # ℹ 9 more variables: 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 × 26
#>    Season    Date       Team   Conference `Opponent Team` `Opponent Conference` Location Number Player
#>    <chr>     <date>     <chr>  <chr>      <chr>           <chr>                 <chr>     <dbl> <chr> 
#>  1 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away          2 Ava F…
#>  2 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away          3 Gilli…
#>  3 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away          8 Camry…
#>  4 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away          5 Jorda…
#>  5 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away         14 Carol…
#>  6 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away         44 Maggi…
#>  7 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away         24 Quinn…
#>  8 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away          9 Jess …
#>  9 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away         11 Jocel…
#> 10 2024-2025 2024-12-19 Penn … Big Ten    Nebraska        Big Ten               Away         21 Izzy …
#> # ℹ 15 more rows
#> # ℹ 17 more variables: 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 × 26
#>    Season    Date       Team   Conference `Opponent Team` `Opponent Conference` Location Number Player
#>    <chr>     <date>     <chr>  <chr>      <chr>           <chr>                 <chr>     <dbl> <chr> 
#>  1 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home          5 Rebek…
#>  2 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home         13 Merri…
#>  3 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home          6 Laney…
#>  4 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home         15 Andi …
#>  5 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home         12 Taylo…
#>  6 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home         10 Olivi…
#>  7 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home         27 Harpe…
#>  8 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home          9 Kenne…
#>  9 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home          2 Berge…
#> 10 2024-2025 2024-12-19 Nebra… Big Ten    Penn St.        Big Ten               Home          8 Lexi …
#> # ℹ 17 more variables: 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 × 8
#>    set   away_team home_team score team     event     player              description                 
#>    <chr> <chr>     <chr>     <chr> <chr>    <chr>     <chr>               <chr>                       
#>  1 1     Penn St.  Nebraska  0-0   Penn St. Serve     Jocelyn Nathan      Jocelyn Nathan serves       
#>  2 1     Penn St.  Nebraska  0-0   Nebraska Reception Bergen Reilly       Reception by Bergen Reilly  
#>  3 1     Penn St.  Nebraska  0-0   Nebraska Set       Lexi Rodriguez      Set by Lexi Rodriguez       
#>  4 1     Penn St.  Nebraska  0-0   Nebraska Attack    Merritt Beason      Attack by Merritt Beason    
#>  5 1     Penn St.  Nebraska  0-0   Nebraska Set       Bergen Reilly       Set by Bergen Reilly        
#>  6 1     Penn St.  Nebraska  0-0   Nebraska Attack    Harper Murray       Attack by Harper Murray     
#>  7 1     Penn St.  Nebraska  0-0   Penn St. Dig       Gillian Grimes      Dig by Gillian Grimes       
#>  8 1     Penn St.  Nebraska  0-0   Penn St. Set       Izzy Starck         Set by Izzy Starck          
#>  9 1     Penn St.  Nebraska  0-0   Penn St. Attack    Taylor Trammell     Attack by Taylor Trammell   
#> 10 1     Penn St.  Nebraska  0-0   Nebraska Block     Rebekah Allick      Block by Rebekah Allick     
#> 11 1     Penn St.  Nebraska  0-1   Nebraska Block     Rebekah Allick      Block by Rebekah Allick     
#> 12 1     Penn St.  Nebraska  0-1   Nebraska Serve     Lexi Rodriguez      Lexi Rodriguez serves       
#> 13 1     Penn St.  Nebraska  0-1   Penn St. Reception Jess Mruzik         Reception by Jess Mruzik    
#> 14 1     Penn St.  Nebraska  0-1   Penn St. Set       Izzy Starck         Set by Izzy Starck          
#> 15 1     Penn St.  Nebraska  0-1   Penn St. Attack    Jess Mruzik         Attack by Jess Mruzik       
#> 16 1     Penn St.  Nebraska  0-1   Nebraska Dig       Harper Murray       Dig by Harper Murray        
#> 17 1     Penn St.  Nebraska  0-1   Penn St. Set       Izzy Starck         Set by Izzy Starck          
#> 18 1     Penn St.  Nebraska  0-1   Penn St. Attack    Caroline Jurevicius Attack by Caroline Jurevici…
#> 19 1     Penn St.  Nebraska  1-1   Penn St. Kill      Caroline Jurevicius Kill by Caroline Jurevicius 
#> 20 1     Penn St.  Nebraska  1-1   Penn St. Serve     Gillian Grimes      Gillian Grimes serves

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 × 30
#>    Season    Team     Conference Number Player        Yr    Pos   Ht       GP    GS     S Kills Errors
#>    <chr>     <chr>    <chr>       <dbl> <chr>         <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>  <dbl>
#>  1 2023-2024 Nebraska Big Ten         2 Bergen Reilly Fr    S     6-1      35    35   121    70     19
#>  2 2023-2024 Nebraska Big Ten         5 Rebekah Alli… So    MB    6-4      32    31   105   185     61
#>  3 2023-2024 Nebraska Big Ten         6 Laney Choboy  Fr    L/DS  5-3      34    33   117     0      1
#>  4 2023-2024 Nebraska Big Ten         7 Maisie Boesi… So    L/DS  5-6      18     0    36     0      0
#>  5 2023-2024 Nebraska Big Ten         8 Lexi Rodrigu… Jr    L/DS  5-5      35     0   121     1      0
#>  6 2023-2024 Nebraska Big Ten         9 Kennedi Orr   Jr    S     6-0      29     0    96     1      0
#>  7 2023-2024 Nebraska Big Ten        11 Hayden Kubik  So    OH    6-2       9     0    10     3      7
#>  8 2023-2024 Nebraska Big Ten        13 Merritt Beas… Jr    OH    6-4      35    35   121   455    153
#>  9 2023-2024 Nebraska Big Ten        14 Ally Batenho… Jr    OH    6-5      30     2    87   196     91
#> 10 2023-2024 Nebraska Big Ten        15 Andi Jackson  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 × 23
#>   Season    Team     Conference     S Kills Errors `Total Attacks` `Hit Pct` Assists  Aces  SErr  Digs
#>   <chr>     <chr>    <chr>      <dbl> <dbl>  <dbl>           <dbl>     <dbl>   <dbl> <dbl> <dbl> <dbl>
#> 1 2023-2024 Nebraska Big Ten      121  1676    597            3959     0.273    1553   143   309  1666
#> 2 2024-2025 Nebraska Big Ten      122  1721    551            4114     0.284    1596   155   193  1856
#> 3 2023-2024 Wiscons… Big Ten      119  1654    428            3950     0.31     1552   184   270  1741
#> 4 2024-2025 Wiscons… Big Ten      120  1657    486            4090     0.286    1562   183   280  1785
#> # ℹ 11 more variables: 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 × 29
#>    Season    Team  Conference Number Player Yr    Pos   Ht    Hometown `High School`    GP    GS     S
#>    <chr>     <chr> <chr>       <dbl> <chr>  <chr> <chr> <chr> <chr>    <chr>         <dbl> <dbl> <dbl>
#>  1 2024-2025 Illi… Big Ten         2 Raege… Sr    S     5-10  Sioux F… O'Gorman         31     0   108
#>  2 2024-2025 Illi… Big Ten         3 Lily … So    L/DS  5-6   Emden, … University       26     1    85
#>  3 2024-2025 Illi… Big Ten         4 Bianc… So    S     5-8   Orland … Carl Sandburg     9     0    21
#>  4 2024-2025 Illi… Big Ten         5 Taylo… Fr    OH    6-4   Kelowna… Okanagan Mis…    11     0    16
#>  5 2024-2025 Illi… Big Ten         8 Averi… Jr    OH    6-2   Bloomin… Normal Commu…    31    31   114
#>  6 2024-2025 Illi… Big Ten        10 Carol… Sr    L/DS  5-11  Napervi… Benet Academy     8     0    31
#>  7 2024-2025 Illi… Big Ten        11 Cari … So    MB    6-4   Ann Arb… Skyline          31    31   114
#>  8 2024-2025 Illi… Big Ten        12 Raina… Sr    OH    6-1   Marengo… Highland         31    31   114
#>  9 2024-2025 Illi… Big Ten        13 Kenzi… Fr    L/DS  5-7   Cincinn… Mount Notre …     2     0     2
#> 10 2024-2025 Illi… Big Ten        16 Ashly… Fr    MB    6-4   Greenvi… DH Conley        31    31   114
#> # ℹ 264 more rows
#> # ℹ 16 more variables: 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 × 20
#>    Season    Team    Conference     S Kills Errors `Total Attacks` `Hit Pct` Assists  Aces  SErr  Digs
#>    <chr>     <chr>   <chr>      <dbl> <dbl>  <dbl>           <dbl>     <dbl>   <dbl> <dbl> <dbl> <dbl>
#>  1 2024-2025 Illino… Big Ten      114  1432    559            3793     0.23     1311   183   275  1411
#>  2 2024-2025 Indiana Big Ten      108  1384    595            3774     0.209    1283   171   311  1393
#>  3 2024-2025 Iowa    Big Ten      119  1440    678            4024     0.189    1313   178   268  1573
#>  4 2024-2025 Maryla… Big Ten      112  1322    566            3722     0.203    1197   223   276  1465
#>  5 2024-2025 Michig… Big Ten      117  1535    628            4081     0.222    1436   181   284  1633
#>  6 2024-2025 Michig… Big Ten      114  1399    604            3877     0.205    1275   157   265  1595
#>  7 2024-2025 Minnes… Big Ten      122  1581    560            4226     0.242    1441   181   262  1869
#>  8 2024-2025 Nebras… Big Ten      122  1721    551            4114     0.284    1596   155   193  1856
#>  9 2024-2025 Northw… Big Ten      106  1202    601            3488     0.172    1103   146   232  1343
#> 10 2024-2025 Ohio S… Big Ten      117  1476    641            4086     0.204    1383   177   249  1665
#> 11 2024-2025 Oregon  Big Ten      117  1554    531            3915     0.261    1442   202   270  1637
#> 12 2024-2025 Penn S… Big Ten      135  1972    648            4673     0.283    1841   203   324  1994
#> 13 2024-2025 Purdue  Big Ten      118  1683    509            4191     0.28     1568   146   262  1841
#> 14 2024-2025 Rutgers Big Ten      104  1145    540            3441     0.176    1080   142   294  1243
#> 15 2024-2025 Southe… Big Ten      122  1597    622            4091     0.238    1469   184   363  1586
#> 16 2024-2025 UCLA    Big Ten      109  1474    544            3766     0.247    1373   125   265  1513
#> 17 2024-2025 Washin… Big Ten      117  1494    601            3970     0.225    1400   190   283  1612
#> 18 2024-2025 Wiscon… Big Ten      120  1657    486            4090     0.286    1562   183   280  1785
#> # ℹ 8 more variables: 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.