How Do Auction Values Differ by the Number of Teams in Your League? A Multilevel Model

[This article was first published on Fantasy Football Analytics » R | Fantasy Football Analytics, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Many sites publish fantasy football players’ average auction values (AAV) for use in auction drafts.  But these auction values often assume you play in a 10-team league.  If you have a different number of teams in your league, the auction values will be different.  This post examines how auction values differ based on the number of teams in your league.

Data and R Script

To examine how auction values differ by the number of teams, we examined FantasyPros auction values.  They provide auction values for leagues with 4, 6, 8, 10, 12, 14, 16, 18, and 20 teams.  You can download the data here:

https://github.com/dadrivr/FantasyFootballAnalyticsR/blob/master/R%20Scripts/Posts/AAV%20by%20Teams%20and%20Position/Data/aav.csv

You can download the R script here:

https://github.com/dadrivr/FantasyFootballAnalyticsR/blob/master/R%20Scripts/Posts/AAV%20by%20Teams%20and%20Position/R%20Scripts/AAV%20by%20Teams%20and%20Position.R

The Model

To examine the association between number of teams in a league and players’ auction values, one could fit a regression model.  However, these auction values data have “dependency” because the same player provides multiple auction values (one for each league size).  Thus, the auction values are not independent of each other (Peyton Manning’s auction values are more similar to his than to Tom Brady’s auction values).  This dependency would violate the assumption of multiple regression that the residuals are independent (uncorrelated).  As a result, I fit a multilevel model (aka mixed-effects model or hierarchical linear model) to account for the dependency of multiple auction values for the same player.

In a typical regression model, the goal is to generalize the results to a broader population.  If you add too many parameters to the model, you may over-fit the data by modeling error.  This over-fitting model would not predict well in a new data set (i.e., cross-validation).  In the current context, on the other hand, we have the auction values for the this season’s players and don’t want to generalize to a different set of players.  As a result, we want to model the auction values as accurately as possible, and are willing to add parameters to do so.

To fit an accurate multilevel model examining how auction values differ by league size, I included four predictors and their interactions:

  1. Number of teams in the league
  2. The player’s auction value in a 10-team league
  3. The player’s position
  4. The player’s position rank

Here’s the model statement using the lme() function from the nlme package in R:

lme(aav ~ 1 + numTeams * I(numTeams^2) * auctionValue * positionRank * position, random = ~ 1 + numTeams|player, method="REML", data=aavData)

The random = 1|player statement tells the model that multiple auction values are nested within the same player (to account for dependency).  This allows different players to have different intercepts (i.e., means or levels) for auction values, also known as “random intercepts”.  The random = teams|player statement allows the effect of number of teams on auction values to differ by player, also known as “random slopes”.  The I(numTeams^2) statement allows the number of teams in the league to have a nonlinear, quadratic association with auction values.

Results

The model fit the data well, with an R-squared of .996 and a mean absolute scaled error (MASE) of .061.  As shown below, auction values differed by the number of teams in the league, but the pattern differed considerably by position and position rank.  QBs showed higher auction values in leagues with more teams, but the pattern was more nonlinear among the highest rated QBs.  RBs showed a nonlinear, inverted-U pattern that differed by position rank.  RBs with high position ranks showed peak auction values in leagues with 14–16 teams.  RBs with low position ranks showed increases in auction values up to 20 teams.  WRs and TEs generally showed increases in auction values with increasing number of teams.  The slopes of WR/TEs’ curves were not as steep (compared to QB/RBs’ curves), suggesting that WRs’ and TEs’ auction values are less affected by number of teams in the league.  WRs with high position ranks showed increases up to 18 teams and decreases for 20-team leagues.  WRs with low position ranks showed increases up to 20 teams.  Most TEs showed increases up to 20 teams, except for the top ranked TE (Rob Gronkowski), who showed slight decreases in auction value in leagues with more teams.  DSTs and Kickers showed little variation in auction values by league size, probably because their auction values are so low ($1–$2).

In summary, among lower-ranked players, players’ auction values increased in leagues with more teams, regardless of position (except DSTs and Kickers, who showed little variation by league size).  Among higher-ranked players’ auction values:

  • QBs: large increases in leagues with more teams
  • RBs: large increases in leagues up to 14–16 teams and then decreases in leagues with 18–20 teams
  • WRs: small increases in leagues up to 18 teams and then small decreases in leagues with 20 teams
  • TEs: small increases in leagues with more teams except the top ranked TE (Rob Gronkowski), who showed decreases in leagues with more teams
  • DSTs: little variation by league size (all were $1–$2)
  • Kickers: little variation by league size (all were $1)

Plots, separated by position, of the actual auction values and the model-based predicted auction values are below (actual auction values on left, predicted auction values on right).

QB AAVRB AAV WR AAVTE AAVDST AAVK AAVConclusion

Player’s auction values differ based on the number of teams in your league and on the player’s position and position rank.  Lower ranked players showed higher auction values in leagues with more teams, regardless of position (except DSTs and Kickers, who showed little variation by league size).  Higher ranked players showed nonlinear patters that differed by position.  Compared to WRs’ and TEs’ auction values, QBs’ and RBs’ auction values were more strongly influence by league size.  Using a multilevel model, we were able to accurately predict a player’s auction value for leagues of different sizes.  We will be using these predictions to adjust auction values in our upcoming Auction Draft Optimizer tool.

The post How Do Auction Values Differ by the Number of Teams in Your League? A Multilevel Model appeared first on Fantasy Football Analytics.

To leave a comment for the author, please follow the link and comment on their blog: Fantasy Football Analytics » R | Fantasy Football Analytics.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)