Skip to contents

Get KenPom Ratings

Get KenPom Efficiency and Tempo Summary

Get Four Factors Data

Get Team Points Distribution

Get Heights, Experience, Bench and Continuity Data

Get 2-Foul Participation Stats

Get Team Stats

Get Player Stats Leaders by Metric

Get KPoY Leaders Tables

Usage

kp_pomeroy_ratings(min_year, max_year = most_recent_mbb_season())

kp_efficiency(min_year, max_year = most_recent_mbb_season())

kp_fourfactors(min_year, max_year = most_recent_mbb_season())

kp_pointdist(min_year, max_year = most_recent_mbb_season())

kp_height(min_year, max_year = most_recent_mbb_season())

kp_foul_trouble(min_year, max_year = most_recent_mbb_season())

kp_teamstats(min_year, max_year = most_recent_mbb_season())

kp_playerstats(
  metric = "eFG",
  conf = NULL,
  conf_only = FALSE,
  year = most_recent_mbb_season()
)

kp_kpoy(year = most_recent_mbb_season())

Arguments

min_year

First year of data to pull

max_year

Last year of data to pull

metric

Used to get leaders for different metrics. Available values are:
'ORtg', 'Min', 'eFG', 'Poss', Shots', 'OR', 'DR', 'TO', 'ARate', 'Blk',
'FTRate', 'Stl', 'TS', 'FC40', 'FD40', '2P', '3P', 'FT'.
Default is 'eFG'. 'ORtg' returns a list of four dataframes, as there are four tables:
players that used more than 28 percent of possessions, more than 24 percent of possessions, more than 20 percent of possessions, and with no possession restriction.

conf

Used to limit to players in a specific conference. Allowed values are: 'A10', 'ACC', 'AE', 'AMER',
'ASUN', 'B10', 'B12', 'BE', 'BSKY', 'BSTH', 'BW', 'CAA', 'CUSA', 'HORZ', 'IND', IVY',
'MAAC', 'MAC', 'MEAC', 'MVC', 'MWC', 'NEC', 'OVC', 'P12', 'PAT', 'SB', 'SC', 'SEC', 'SLND',
'SUM', 'SWAC', 'WAC', 'WCC'.
If you try to use a conference that doesn't exist for a given season, like 'IND' and '2018',
you'll get an empty table, as kenpom.com doesn't serve 404 pages for invalid table queries like that.
No filter applied by default.

conf_only

Used to define whether stats should reflect conference games only.
Only available if specific conference is defined. Only available for season after 2013, FALSE by default.

year

Year of data to pull (earliest year of data available: 2004)

Value

Returns a tibble of ratings

col_nametypesdescription
yearinteger4-digit year.
rknumericRk.
teamcharacterTeam-side label or team identifier.
confcharactercharacter.
w_lcharacterW l.
adj_emnumericAdj em.
adj_onumericAdj o.
adj_o_rknumericAdj o rk.
adj_dnumericAdj d.
adj_d_rknumericAdj d rk.
adj_tnumericAdj t.
adj_t_rknumericAdj t rk.
lucknumericLuck.
luck_rknumericLuck rk.
sos_adj_emnumericSos adj em.
sos_adj_em_rknumericSos adj em rk.
sos_opp_onumericSos opp o.
sos_opp_o_rknumericSos opp o rk.
sos_opp_dnumericSos opp d.
sos_opp_d_rknumericSos opp d rk.
ncsos_adj_emnumericNcsos adj em.
ncsos_adj_em_rknumericNcsos adj em rk.
ncaa_seednumericNcaa seed.

Returns a tibble of efficiency and tempo ratings

col_nametypesdescription
teamcharacterTeam-side label or team identifier.
confcharactercharacter.
adj_tnumericAdj t.
adj_t_rknumericAdj t rk.
raw_tnumericRaw t.
raw_t_rknumericRaw t rk.
avg_poss_length_offnumericAvg poss length off.
avg_poss_length_off_rknumericAvg poss length off rk.
avg_poss_length_defnumericAvg poss length def.
avg_poss_length_def_rknumericAvg poss length def rk.
adj_onumericAdj o.
adj_o_rknumericAdj o rk.
raw_onumericRaw o.
raw_o_rknumericRaw o rk.
adj_dnumericAdj d.
adj_d_rknumericAdj d rk.
raw_dnumericRaw d.
raw_d_rknumericRaw d rk.
ncaa_seednumericNcaa seed.
yearnumeric4-digit year.

Returns a tibble of four factors ratings

col_nametypesdescription
teamcharacterTeam-side label or team identifier.
confcharactercharacter.
adj_tnumericAdj t.
adj_t_rknumericAdj t rk.
adj_onumericAdj o.
adj_o_rknumericAdj o rk.
off_e_fg_pctnumericOff e field goals percentage (0-1 decimal).
off_e_fg_pct_rknumericOff e fg pct rk.
off_to_pctnumericOff to percentage (0-1 decimal).
off_to_pct_rknumericOff to pct rk.
off_or_pctnumericOff or percentage (0-1 decimal).
off_or_pct_rknumericOff or pct rk.
off_ft_ratenumericOff ft rate.
off_ft_rate_rknumericOff ft rate rk.
adj_dnumericAdj d.
adj_d_rknumericAdj d rk.
def_e_fg_pctnumericDef e field goals percentage (0-1 decimal).
def_e_fg_pct_rknumericDef e fg pct rk.
def_to_pctnumericDef to percentage (0-1 decimal).
def_to_pct_rknumericDef to pct rk.
def_or_pctnumericDef or percentage (0-1 decimal).
def_or_pct_rknumericDef or pct rk.
def_ft_ratenumericDef ft rate.
def_ft_rate_rknumericDef ft rate rk.
ncaa_seednumericNcaa seed.
yearnumeric4-digit year.

Returns a tibble of team points distributions

col_nametypesdescription
teamcharacterTeam-side label or team identifier.
confcharactercharacter.
off_ft_pctnumericOff free throws percentage (0-1 decimal).
off_ft_pct_rknumericOff ft pct rk.
off_fg_2_pctnumericOff field goals 2 percentage (0-1 decimal).
off_fg_2_pct_rknumericOff fg 2 pct rk.
off_fg_3_pctnumericOff field goals 3 percentage (0-1 decimal).
off_fg_3_pct_rknumericOff fg 3 pct rk.
def_ft_pctnumericDef free throws percentage (0-1 decimal).
def_ft_pct_rknumericDef ft pct rk.
def_fg_2_pctnumericDef field goals 2 percentage (0-1 decimal).
def_fg_2_pct_rknumericDef fg 2 pct rk.
def_fg_3_pctnumericDef field goals 3 percentage (0-1 decimal).
def_fg_3_pct_rknumericDef fg 3 pct rk.
ncaa_seednumericNcaa seed.
yearnumeric4-digit year.

Returns a tibble of heights

col_nametypesdescription
teamcharacterTeam-side label or team identifier.
confcharactercharacter.
avg_hgtnumericAvg hgt.
avg_hgt_rknumericAvg hgt rk.
eff_hgtnumericEff hgt.
eff_hgt_rknumericEff hgt rk.
c_hgtnumericC hgt.
c_hgt_rknumericC hgt rk.
pf_hgtnumericPf hgt.
pf_hgt_rknumericPf hgt rk.
sf_hgtnumericSf hgt.
sf_hgt_rknumericSf hgt rk.
sg_hgtnumericSg hgt.
sg_hgt_rknumericSg hgt rk.
pg_hgtnumericPg hgt.
pg_hgt_rknumericPg hgt rk.
experiencenumericYears of professional experience.
experience_rknumericExperience rk.
benchnumericBench.
bench_rknumericBench rk.
continuitynumericContinuity.
continuity_rknumericContinuity rk.
ncaa_seednumericNcaa seed.
yearinteger4-digit year.

Returns a tibble of foul participation stats

col_nametypesdescription
teamcharacterTeam-side label or team identifier.
confcharactercharacter.
two_foul_particpation_pctnumericTwo foul particpation percentage (0-1 decimal).
two_foul_particpation_pct_rknumericTwo foul particpation pct rk.
adj2fpnumericAdj2fp.
adj2fp_rknumericAdj2fp rk.
two_foul_total_timecharacterTime / clock value.
two_foul_total_time_rkcharacterTwo foul total time rk.
two_foul_time_oncharacterTwo foul time on.
two_foul_time_on_rkcharacterTwo foul time on rk.
bench_pctnumericBench percentage (0-1 decimal).
bench_pct_rknumericBench pct rk.
ncaa_seednumericNcaa seed.
yearinteger4-digit year.

Returns a tibble of team stats

col_nametypesdescription
teamcharacterTeam-side label or team identifier.
confcharactercharacter.
off_fg_3_pctnumericOff field goals 3 percentage (0-1 decimal).
off_fg_3_pct_rknumericOff fg 3 pct rk.
off_fg_2_pctnumericOff field goals 2 percentage (0-1 decimal).
off_fg_2_pct_rknumericOff fg 2 pct rk.
off_ft_pctnumericOff free throws percentage (0-1 decimal).
off_ft_pct_rknumericOff ft pct rk.
off_blk_pctnumericOff blocks percentage (0-1 decimal).
off_blk_pct_rknumericOff blk pct rk.
off_stl_pctnumericOff steals percentage (0-1 decimal).
off_stl_pct_rknumericOff stl pct rk.
off_non_stl_pctnumericOff non steals percentage (0-1 decimal).
off_non_stl_pct_rknumericOff non stl pct rk.
off_a_pctnumericOff a percentage (0-1 decimal).
off_a_pct_rknumericOff a pct rk.
off_fg_3a_pctnumericOff field goals 3a percentage (0-1 decimal).
off_fg_3a_pct_rknumericOff fg 3a pct rk.
adj_onumericAdj o.
adj_o_rknumericAdj o rk.
ncaa_seednumericNcaa seed.
yearnumeric4-digit year.
def_fg_3_pctnumericDef field goals 3 percentage (0-1 decimal).
def_fg_3_pct_rknumericDef fg 3 pct rk.
def_fg_2_pctnumericDef field goals 2 percentage (0-1 decimal).
def_fg_2_pct_rknumericDef fg 2 pct rk.
def_ft_pctnumericDef free throws percentage (0-1 decimal).
def_ft_pct_rknumericDef ft pct rk.
def_blk_pctnumericDef blocks percentage (0-1 decimal).
def_blk_pct_rknumericDef blk pct rk.
def_stl_pctnumericDef steals percentage (0-1 decimal).
def_stl_pct_rknumericDef stl pct rk.
def_non_stl_pctnumericDef non steals percentage (0-1 decimal).
def_non_stl_pct_rknumericDef non stl pct rk.
def_a_pctnumericDef a percentage (0-1 decimal).
def_a_pct_rknumericDef a pct rk.
def_fg_3a_pctnumericDef field goals 3a percentage (0-1 decimal).
def_fg_3a_pct_rknumericDef fg 3a pct rk.
adj_dnumericAdj d.
adj_d_rknumericAdj d rk.

Returns a tibble of player stats

col_nametypesdescription
rkcharacterRk.
playercharacterPlayer.
teamcharacterTeam-side label or team identifier.
e_fgcharacterE fg.
hgtcharacterHgt.
wgtcharacterWgt.
yrcharacterYr.
yearnumeric4-digit year.

Returns a list of tibbles: "kPoYRatings", "GameMVPs"

KPoYRatings

col_nametypesdescription
rkintegerRk.
playercharacterPlayer.
kpoy_ratingnumericKpoy rating.
teamcharacterTeam-side label or team identifier.
hgtcharacterHgt.
wgtnumericWgt.
expcharacterExp.
home_towncharacterHome team's town.
yearnumeric4-digit year.
groupcharacterGroup identifier (e.g. conference 'group_id').

GameMVPs

col_nametypesdescription
rknumericRk.
playercharacterPlayer.
game_mv_psnumericGame mv ps.
teamcharacterTeam-side label or team identifier.
hgtcharacterHgt.
wgtnumericWgt.
expcharacterExp.
home_towncharacterHome team's town.
yearnumeric4-digit year.
groupcharacterGroup identifier (e.g. conference 'group_id').

Examples

# \donttest{
try(kp_pomeroy_ratings(min_year = 2020, max_year = 2021))
#>  2026-08-27 17:48:19.25497: Invalid arguments or no pomeroy ratings data for 2020 - 2021 available!
#>  Args: min_year = 2020, max_year = 2021
#>  Error: HTTP 403 Forbidden.
#> NULL
# }
# \donttest{
try(kp_efficiency(min_year = 2020, max_year = 2021))
#>  2026-08-27 17:48:19.297892: Invalid arguments or no efficiency data for 2020 - 2021 available!
#>  Args: min_year = 2020, max_year = 2021
#>  Error: HTTP 429 Too Many Requests.
#> NULL
# }
# \donttest{
try(kp_fourfactors(min_year = 2020, max_year = 2021))
#>  2026-08-27 17:48:19.34283: Invalid arguments or no four factors data for 2020 - 2021 available!
#>  Args: min_year = 2020, max_year = 2021
#>  Error: HTTP 429 Too Many Requests.
#> NULL
# }
# \donttest{
try(kp_pointdist(min_year = 2020, max_year = 2021))
#>  2026-08-27 17:48:19.391565: Invalid arguments or no point distribution data for 2020 - 2021 available!
#>  Args: min_year = 2020, max_year = 2021
#>  Error: HTTP 429 Too Many Requests.
#> NULL
# }
# \donttest{
try(kp_height(min_year = 2020, max_year = 2021))
#>  2026-08-27 17:48:19.434562: Invalid arguments or no height data for 2020 - 2021 available!
#>  Args: min_year = 2020, max_year = 2021
#>  Error: HTTP 429 Too Many Requests.
#> NULL
# }
# \donttest{
try(kp_foul_trouble(min_year = 2020, max_year = most_recent_mbb_season()))
#>  2026-08-27 17:48:19.477028: Invalid arguments or no foul trouble data for 2020 - 2026 available!
#>  Args: min_year = 2020, max_year = 2026
#>  Error: HTTP 429 Too Many Requests.
#> NULL
# }
# \donttest{
try(kp_teamstats(min_year = 2019, max_year = 2021))
#>  2026-08-27 17:48:19.518368: Invalid arguments or no team stats data for 2019 - 2021 available!
#>  Args: min_year = 2019, max_year = 2021
#>  Error: HTTP 429 Too Many Requests.
#> NULL
# }
# \donttest{
try(kp_playerstats(metric = "eFG", conf_only = FALSE, year = 2021))
#>  2026-08-27 17:48:19.559386: Invalid arguments or no player stats data for 2021 eFG available!
#>  Args: metric = "eFG", conf = NULL, conf_only = FALSE, year = 2021
#>  Error: HTTP 429 Too Many Requests.
#> NULL
# }
# \donttest{
try(kp_kpoy(year = 2026))
#>  2026-08-27 17:48:19.609315: Invalid arguments or no KenPom player of the year data for 2026 available!
#>  Args: year = 2026
#>  Error: HTTP 429 Too Many Requests.
#> NULL
# }