• 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

Weekly Variability Simulation of Fantasy Football Projections

4
  • by Isaac Petersen
  • in R · Risk
  • — 20 Jul, 2014

In this post, I show how to estimate players’ week-to-week variability in fantasy football points.  In a prior post, I demonstrated how to calculate a player’s risk level, as defined by the variability of their projected points across sources.  As a reader pointed out, another form of meaningful variability is week-to-week variability (in addition to variability across sources).  Some fantasy statistics are more variable (TDs) than others (yards) from week to week.  For players with a higher percentage of their projected points scored by TDs, their weekly points are likely to be more variable. Another example might be possession receivers vs deep threats.  Possession receivers are likely more reliable from week-to-week than deep threats who are more boom-or-bust.  Here, I use a simulation to estimate each player’s week-to-week variability in fantasy points.

The R Scripts

The R Script for the “Historical Weekly Variability” section is below:

https://github.com/FantasyFootballAnalytics/FantasyFootballAnalyticsR/blob/master/R%20Scripts/Historical/Historical%20Weekly.R

The R Script for the “Weekly Variability Simulation” section is below:

https://github.com/FantasyFootballAnalytics/FantasyFootballAnalyticsR/blob/master/R%20Scripts/Posts/Weekly%20Simulation.R

Historical Weekly Variability

In order to simulate players’ weekly fantasy points, we first must determine the distribution from which to sample for each player and statistical category (passing yards, rushing TDs, etc.).  I chose to sample from a normal distribution, with each player’s weekly mean of the statistical category as the mean of his distribution.  In other words, if Peyton Manning is projected to have 4800 passing yards this season, that equals an average of 300 yards per game (4800/16).  Thus, for sampling Peyton Manning’s weekly passing yards, we can sample from a distribution with a mean of 300.

For a normal distribution, we have to specify a mean and standard deviation.  What standard deviation should we use for Peyton Manning’s weekly passing yards?  We could theoretically use Peyton Manning’s weekly variability from last season, but some players do not have statistics from last year.  As a result, I chose to calculate the historical weekly variability for passing yards (and all other statistical categories) averaged across all players from the past three seasons.  Then, we use the historical week-to-week standard deviation of players’ passing yards as the standard deviation of players’ sampling distributions for passing yards.

To do this, I scrape data from every week of the season (weeks 1-17) from Pro-Football-Reference for the past three seasons:

After cleaning and merging the data, I then put the data in the necessary form for calculating players’ weekly variability.  This involves transforming the data from long form to wide form so that each week has a separate column:

Then I calculate the week-to-week standard deviation of each statistical category for every player in each season.  Finally, I calculate a robust average across all players and seasons to get a general week-to-week standard deviation for each statistical category:

Here are the average week-to-week standard deviations for each statistical category:

  • Passing yards : 82.1 yards
  • Passing TDs: 0.8 TDs
  • Passing INTs: 0.7 INTs
  • Rushing yards: 11.3 yards
  • Rushing TDs: 0.4 TDs
  • Receptions: 11.1 receptions
  • Receiving yards: 15.9 yards
  • Receiving TDs: 0.4 TDs

Here are the density plots of the week-to-week standard deviations of each statistical category for the different players and seasons:

SD Pass Yards SD Pass TDs SD Pass INTs SD Rush Yards SD Rush TDs SD Rec SD Rec Yards SD Rec TDs

Weekly Variability Simulation

Now that we’ve calculated the historical week-to-week standard deviation for each statistical category, we can simulate players’ weekly performances for each statistical category using the sampling distribution of a) that player’s weekly mean and b) the historical week-to-week standard deviation for the relevant statistical category.  In other words, for simulating Peyton Manning’s passing yards in the example earlier, we will sample from the distribution with a mean of 300 passing yards and a standard deviation of 82.1 yards.  But the sampling has some constraints.  First, the samples (weekly performances in each game) must sum to equal Manning’s projected passing yards for the season.  Second, for some statistical categories (e.g., TDs), values can only be positive integers (e.g., you can’t score half a touchdown or negative touchdowns in a game).  Here’s the function for taking ‘n’ samples from a distribution whose mean is ‘sum’/’n’ and whose standard deviation is ‘sd’, and that only include positive integers that sum to equal ‘sum’:

Using this function, and plugging in the player’s season projection and the historical week-to-week standard deviation for each statistical category, we simulate all 16 games for 100 different seasons for each player and statistical category:

Then we calculate the weekly fantasy points for every player in all 100 seasons based on their simulated performances in each statistical category:

Finally, we calculate the week-to-week standard deviation of fantasy points for each player in all 100 seasons, and the average week-to-week standard deviation across seasons:

Here are some players with high weekly variability in fantasy points according to our simulation:

  • Cam Newton
  • Robert Griffin III
  • Colin Kaepernick
  • Jamaal Charles
  • Matt Forte
  • Montee Ball
  • Cordarrelle Patterson
  • Percy Harvin
  • Alshon Jeffery
  • Tavon Austin

Conclusion

Simulating weekly variability can help you identify players who are more or less reliable from week to week.  For example, possession receivers (who rely less on long gains and touchdowns) are more reliable than deep threats, who tend to boom or bust.

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: Rrisk/rewardsimulation

— 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.

4 Comments

  1. Shrinidhi says:
    August 1, 2014 at 10:18 am

    New to the site, this is really awesome work! I’m skeptical though, about applying an average of the standard deviations of all players to the top (fantasy relevant) players. The variance in passing TDs, passing yards, etc. is almost certainly higher (or at least significantly different) for players like Peyton Manning than players like Chad Henne. Wouldn’t introducing some cutoffs (e.g. only include player-games where the player got 5+ rushing attempts or 10+ passing attempts) give us an average that’s more applicable to the fantasy players we’re interested in?

    Also, if I’m not mistaken, the variance in rushing yards and TDs includes both QBs and RBs, correct? I think this also could be an interesting distinction to draw, as the current method may be overestimating the variance in fantasy points of rushing quarterbacks, which may be why there are so many of them in your “high variability” group.

    Reply
    • Isaac Petersen says:
      August 1, 2014 at 4:24 pm

      Hey Shrindhi,

      Great points. I think there are definitely ways of improving this analysis (e.g., taking into account players’ past variability and separating QB/RB rushing yards). This was just my first pass on the topic. We have another contributor to the site doing a more thorough analysis to address some of the very concerns you mention. Let me know if you want me to put you in touch with him to see if you can collaborate on it together. Thanks for reaching out and for the interesting thoughts!

      -Isaac

      Reply
  2. isaac says:
    August 15, 2014 at 10:51 pm

    hey this is really cool.
    i’m new to R so may have missed some points. So you ran a simulation using players averages in each category and the average SD of each of these categories. If my reasoning is correct, this implies that players with a high average in a category that has high variance (e.g. pass TDs, pass YDs) will have the most variance.

    Also, how do you calculate mean for rookies?

    I agree with Shrinidhi’s advice of separating the calculations by players (or further, ‘running’ qb’s or not). I wonder what’s the best way to average across, say if a player’s experienced we use his personal SD vs a rookie we would use previous rookie SDs.

    Reply
    • Isaac Petersen says:
      August 16, 2014 at 11:04 pm

      Hey man, nice name. Good points, it’s likely that players with higher averages will have higher week-to-week SDs. It’s also likely that players who rely on some stats categories more than others (e.g., TDs) will also have higher SDs. This was just a first pass at the analysis, so I calculated an average week-to-week SD for all of the different stats categories and applied this to all players. We have another writer who is creating a more refined model to address many of these good suggestions (separating by position, considering a player’s historical SD, etc.). He’s hoping to post in within the next week or so.

      Thanks for the good ideas!
      -Isaac

      Reply

Leave a Reply Cancel reply

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

  • Previous story Win Your Fantasy Football Draft with These OpenCPU Apps: 2014 Update
  • Next story Fantasy Football Rankings are a Joke. Use Projections Instead!
  • 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