Get team four-factor and shooting splits from barttorvik.com.
Pulls the season four-factors table (the {year}_fffinal.csv file): effective
field goal %, turnover %, offensive/defensive rebound %, free-throw rate, plus
2P/3P/FT shooting splits and assist rates – each paired with its national
rank. No API key is required. Data is available from 2008 to present.
Usage
torvik_team_factors(year = most_recent_mbb_season())Arguments
- year
(integer required): Season, in 4-digit ending-year format (e.g.
2024). Defaults tomost_recent_mbb_season().
Value
A hoopR_data tibble with one row per team. Each statistic is paired
with an interspersed national-rank column (rk, rk_2, ...):
| col_name | types | description |
| team_name | character | Team name. |
| e_fg_percent | numeric | Effective field goal percentage (offense). |
| e_fg_percent_def | numeric | Effective field goal percentage allowed (defense). |
| ftr | numeric | Free-throw rate (offense). |
| ftr_def | numeric | Free-throw rate allowed (defense). |
| or_percent | numeric | Offensive rebound percentage. |
| dr_percent | numeric | Defensive rebound percentage. |
| to_percent | numeric | Turnover percentage (offense). |
| to_percent_def | numeric | Turnover percentage forced (defense). |
| x3p_percent | numeric | Three-point percentage (offense). |
| x3p_d_percent | numeric | Three-point percentage allowed (defense). |
| x2p_percent | numeric | Two-point percentage (offense). |
| x2p_percent_d | numeric | Two-point percentage allowed (defense). |
| ft_percent | numeric | Free-throw percentage (offense). |
| ft_percent_d | numeric | Free-throw percentage allowed (defense). |
| x3p_rate | numeric | Three-point attempt rate (offense). |
| x3p_rate_d | numeric | Three-point attempt rate allowed (defense). |
| arate | numeric | Assist rate (offense). |
| arate_d | numeric | Assist rate allowed (defense). |
| year | integer | Season (echoes the year argument). |
See also
Other Torvik Functions:
torvik_game_schedule(),
torvik_game_stats(),
torvik_ncaa_results(),
torvik_player_stats(),
torvik_ratings()
Examples
# \donttest{
try(torvik_team_factors(year = 2024))
#> ── Bart Torvik team four factors from barttorvik.com ──────────── hoopR 3.1.0 ──
#> ℹ Data updated: 2026-06-13 07:39:16 UTC
#> # A tibble: 19 × 2
#> doctype_html_public_w3c_dtd_html_4_01_transitional_en_http_www_w3_org…¹ year
#> <chr> <int>
#> 1 "<HTML><HEAD><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; ch… 2024
#> 2 "<TITLE>ERROR: The request could not be satisfied</TITLE>" 2024
#> 3 "</HEAD><BODY>" 2024
#> 4 "<H1>403 ERROR</H1>" 2024
#> 5 "<H2>The request could not be satisfied.</H2>" 2024
#> 6 "<HR noshade size=\"1px\">" 2024
#> 7 "Request blocked." 2024
#> 8 "We can't connect to the server for this app or website at this time. … 2024
#> 9 "<BR clear=\"all\">" 2024
#> 10 "If you provide content to customers through CloudFront, you can find … 2024
#> 11 "<BR clear=\"all\">" 2024
#> 12 "<HR noshade size=\"1px\">" 2024
#> 13 "<PRE>" 2024
#> 14 "Generated by cloudfront (CloudFront)" 2024
#> 15 "Request ID: 9n3X3InmS2FiPCNVDsvaypPLoacTb8a57OxuJtETkLswCtlTHX7rEw==" 2024
#> 16 "</PRE>" 2024
#> 17 "<ADDRESS>" 2024
#> 18 "</ADDRESS>" 2024
#> 19 "</BODY></HTML>" 2024
#> # ℹ abbreviated name:
#> # ¹doctype_html_public_w3c_dtd_html_4_01_transitional_en_http_www_w3_org_tr_html4_loose_dtd
# }
