• How To
    • Win Your DFS League
    • Win Your Auction Draft
    • Win Your Snake Draft
    • Download Projections
    • Scrape Projections
    • Calculate Projections for Your League
    • Examine Accuracy of Projections
    • Identify Sleepers
    • Save Custom Settings
    • Use the API
  • Strategy
    • Fantasy Football is Like Stock Picking
    • Use Projections, Not Rankings
  • Projections
    • Our Projections
    • Who has the Best Projections?
    • Draft the Best Starting Lineup
    • Projections are More Accurate than Rankings
    • Points by Position Rank
    • Players’ Risk Levels
    • Value Over Replacement
    • Bid-Up-To Value
    • Player Value Gap
    • Gold Mining
    • Weekly Variability
    • Are Subscription Sources More Accurate?
  • Statistics
    • How To Learn R
    • R is Better than Excel
    • Do Stats Help in Fantasy Football?
    • Download/Run Our Scripts
    • ffanalytics R Package
  • Apps
    • Auction Draft Optimizer
    • Snake Draft Optimizer
    • Weekly Lineup Optimizer
    • Rankings/Projections for Your League
    • API
    • Other Tools
      • Stock Analysis
    • Error Logging
  • Testimonials
  • About the Site
    • About
    • Authors
      • Isaac Petersen
    • FAQ
    • FFA Insider
    • Privacy Policy
    • Terms of Service
  • Donate

Fantasy Football Analytics

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

20
  • by Isaac Petersen
  • in Auction Drafts · R
  • — 11 Aug, 2015

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/FantasyFootballAnalytics/FantasyFootballAnalyticsR/blob/master/R%20Scripts/Posts/AAV%20by%20Teams%20and%20Position/Data/aav.csv

You can download the R script here:

https://github.com/FantasyFootballAnalytics/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 influenced by league size.  Using a multilevel model, we were able to accurately predict a player’s auction value for leagues of different sizes.  We use these predictions to adjust auction values in our Auction Draft Optimizer tool.

Share this:

  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to email a link to a friend (Opens in new window) Email

Like this:

Like Loading...

Related

Share

Tags: multilevel modelingR

— Isaac Petersen

My name is Isaac and I'm an assistant professor with a Ph.D. in Clinical Psychology. Why am I writing about fantasy football and data analysis? Because fantasy football involves the intersection of two things I love: sports and statistics. With this site, I hope to demonstrate the relevance of statistics for choosing the best team in fantasy football.

20 Comments

  1. Andy Miller says:
    August 11, 2015 at 6:56 pm

    I don’t pretend to understand all the semantics behind this, but it’s very enlightening. Hope to get to this level of understanding someday. Thanks for sharing!

    Reply
  2. Tim Dini says:
    August 12, 2015 at 12:30 am

    Isaac, I absolutely love your site. It’s the most enjoyable use of statistical analysis I’ve ever encountered. Our league evolved from snake to auction drafting a couple of years ago, and your findings in this article on AAV well match my experience. I had thought that the value differentials were caused by the additional time required to draft larger leagues, and the inevitable increase in ABV (alcohol by volume) consumption. So, thank you for correcting my assumption.

    Reply
  3. Adam says:
    August 12, 2015 at 2:16 pm

    I don’t mean to rush you — I know you all work your butts off on this stuff! — but with my draft on Saturday morning (8/15), do you have an idea as to whether or not your auction draft tool will be ready in time? I’m just trying to get an idea if I need to do research elsewhere for my picks.

    Thanks for all your hard work!

    Reply
    • Isaac Petersen says:
      August 12, 2015 at 7:58 pm

      Hi Adam,

      We have plans to release a preliminary version within the next couple days, should be before your draft.

      Stay tuned!
      -Isaac

      Reply
      • Adam says:
        August 12, 2015 at 8:06 pm

        Awesome. You guys rock!

        Reply
  4. Jeff Koenig says:
    August 14, 2015 at 9:48 am

    First of all, the auction draft tool is top notch! Seriously! Words cannot describe how grateful I am. I love seeing the highest floor and highest ceiling teams calculated for me. The only issue I have ran into thus far has to do with changing the lineup numbers. Whenever I add a second flex RB/WR/TE instead of one, the projected optimal teams still only show one flex RB/WR/TE. This isn’t a huge issue since the optimal teams only spend a total of $184 of my $200 cap and I have 8 players on my bench. I would still have $4-8 to spend on an additional flex. I am on Mozilla Firefox using Windows 7. ESPN scoring with PPR=1 point. Starting 1 QB, 2 RB, 2 WR, 1 TE, 1 K, 1 DST, 2 Flex RB/WR/TE and 8 on the bench.

    Reply
    • Dennis Andersen says:
      August 14, 2015 at 11:31 am

      With your settings the optimizer will find 2-4 RBs, 2-4 WRs, 1-3 TEs. When I use your setting then I see that the optimal lineup for points returns 4WRs, 2RBs and 1 TE and a total of 10 players. What were you expecting to see in terms of your flex position?

      Reply
  5. Jeff Koenig says:
    August 14, 2015 at 10:17 am

    Now receiving an error stating the AAV are not found if that helps.

    Reply
    • Isaac Petersen says:
      August 14, 2015 at 10:20 am

      What do you do to get the error? Where are you getting an error and what is the exact error?

      Reply
  6. Jeff Koenig says:
    August 14, 2015 at 11:00 am

    If I do not mention it, I do not touch it.

    (From top to bottom)
    Change Data Settings > Number of Teams-12 > Cap Reserved for Bench-8 > Total Players on Roster-18 > Number of Starters by Position WR/RB/TE-2 > League Scoring-ESPN > RB/WR/TE-added 1 for reception for each position > Load

    Error-An error has occurred:

    object ‘adjustAAV’ not found

    In call:
    predict(adjustAAV, newdata = aavData, level = 0)

    Reply
    • Isaac Petersen says:
      August 14, 2015 at 11:23 am

      Hey Jeff,

      Just fixed this error. Let us know if you continue to run into problems.

      Thanks!
      -Isaac

      Reply
  7. Jeff Koenig says:
    August 14, 2015 at 11:45 am

    Isaac,

    I am amazed at how quickly you responded and fixed the error. If we lived in the same city, I would be bringing you a 6 pack of your favorite brew or a bottle of your favorite wine. It is hard to find people in America today who have a high quality work ethic along with accountability and integrity. You, my friend, have all three. I have no doubt you will excel in anything you pursue. Thanks again for this excellent app.

    Reply
    • Isaac Petersen says:
      August 14, 2015 at 12:02 pm

      Thanks Jeff, you can give those props to Dennis—he identified and fixed the issue 🙂 I work with a great team!

      Reply
  8. Jeff Koenig says:
    August 14, 2015 at 1:53 pm

    I am glad you guys are out there. You have saved me a ton of work, sweat, and tears. The only other issue I am experiencing is when I change the risk factor or add a drafted player using the auction tool, the settings automatically default back to 1 WR/RB/TE flex option when I have selected 2. I have found if I go back into the “change data setting” section, scroll down to the bottom, and hit load, it does take everything back to my 2 flex player option. Is there a way to save the settings for the time the tool is in use in an active browser or will I need to go back and hit load every a player is drafted or I decide to change the risk factor?

    Reply
    • Isaac Petersen says:
      August 14, 2015 at 2:59 pm

      Hey Jeff,

      Good catch! We’re looking into it.

      Thanks!
      -Isaac

      Reply
    • Isaac Petersen says:
      August 14, 2015 at 11:37 pm

      Hi Jeff,

      I think we figured it out and fixed it. Let us know if you still run into problems!

      Thanks!
      -Isaac

      Reply
      • Jeff Koenig says:
        August 15, 2015 at 10:23 am

        Gentlemen,

        Top of the morning to you. The auction tool is working flawlessly for me. I am extremely grateful here. If you ever wanted to develop this into a phone/iPad/Tablet app, I would easily pay $10-20 a season for the use of the app. My phone is a lot easier to hide what I am doing as oppose to my laptop. Just a thought. Now to see if you guys can block all additional IP addresses from my part of the state? I can narrow it down to two counties! I would hate for one of my league mates to catch wind of this site! Seriously though, I believe what you guys are doing here is the cutting edge in fantasy football. You are well ahead of the bell curve. Any thoughts on a podcast? I would be more than willing to participate.

        Reply
        • Isaac Petersen says:
          August 15, 2015 at 10:39 pm

          Glad to hear, Jeff! Thanks for the kind words and good suggestions. Will keep them in mind! Let us know if you are interested in contributing!

          -Isaac

          Reply
  9. Brian Albers says:
    August 16, 2015 at 7:36 pm

    How would you adjust auction values in a keeper league? I am in a league where we keep up to 3 players. They cost their previous year’s auction price + $5, or $5 for a $0-1 FA or $10 for a $2+ FA. E.G. I’m keeping Odell Beckham for $10. So excited to have found this site (love the yardage bonus calculations). Great work!

    Reply
    • Isaac Petersen says:
      August 16, 2015 at 9:09 pm

      Hi Brian,

      You can adjust AAV by setting the source of AAV and the Low/Mid/High rank and multiplier. I’d suggest looking at MyFantasyLeague for keeper AAV values. We have plans to allow users to input a .csv file with custom costs.

      Thanks!
      -Isaac

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Previous story Lessons Learned From Previous 1st Round Picks
  • Next story 2015 Fantasy Football Auction Draft Optimizer
  • Tabs

    • Most Popular
    • Recent Posts
    • The ffanalytics R Package for Fantasy Football Data AnalysisJune 18, 2016
    • 2015 Fantasy Football Projections using OpenCPUMay 28, 2015
    • Win Your Fantasy Football Auction Draft: Determine the Optimal Players to Draft with this AppJune 14, 2013
    • Win Your Fantasy Football Snake Draft with this AppSeptember 1, 2013
    • Post-Combine Mock: Team Needs and TargetsMarch 10, 2025
    • Fantasy Football Weekly Cheat Sheet: Week 18 (2024)January 3, 2025
    • Fantasy Football Weekly Cheat Sheet: Week 17 (2024)December 26, 2024
    • Fantasy Football Weekly Cheat Sheet: Week 16 (2024)December 18, 2024
  • FFA Insider

    Logo
  • Categories

    • About the Authors
    • Articles
    • Auction Drafts
    • Draft Optimizer
    • FFA Insider
    • Gold Mining
    • How To
    • In the Media
    • Luck
    • Package
    • Projections
    • R
    • Risk
    • Theory
    • Tools
    • Trade Strategy
    • Uncategorized
    • Weekly
  • Facebook

  • Twitter

  • Our Partners

    R-bloggers

  • Support us building things... Even a cup of coffee ($1.99) helps us stay awake!

  • Subscribe to the Fantasy Football Analytics mailing list (no spam).
    Loading

        © Fantasy Football Analytics

        %d