I. Getting a Chance in the Postseason

As the Fantasy Football season wound down and I watched on as others competed in the playoffs, I wondered, as many others do, whether I could have been in the running for first place had I caught a couple more breaks. There were numerous painful weeks where my team performed at the top of its game, yet I lost against the only opposing team that scored enough to beat me. The frustration of missing the playoffs in one league ate me up as I ended the regular season with the third most points and proceeded to score the most points in the league each week of the playoffs.

So much time is spent analyzing the potential outcomes from offensive skill position players every week, but not much time is spent analyzing one’s own Fantasy team. I was left wondering if there were better ways to look at one’s season as it comes to an end. Some sites show Fantasy Footballers their all-play record, but that is still surface level. In the most extreme example, someone could score the most points possible any week they win and the least every week they lose. Their schedule at this point would be rendered useless as no matter whom they played the outcome would be the same. On the other end of the spectrum, someone could score the fifth-most points every week and have a rather normal distribution of potential outcomes; in this case, variations in the schedule could mean the difference between making it to the playoffs and championship, or what appears to be a lackluster season.

A) Basic Information and Data

All of the data used for this post, is either from ESPN public league data or my personal league. The league previously mentioned, will not be used as it is associated with Yahoo!, not ESPN.

Seeing as ESPN is not an advanced Fantasy Football site - I begrudgingly use it because of my friends - this overview of all-play records can easily be compiled using the ESPN Fantasy Football API.

The teams column was left off as to remove potentially identifying information for any of my league mates.

Discussion often revolves around “points for” and “points against” when analyzing who the luckiest player in Fantasy Football leagues is, but these metrics can be misleading. Having an all-time week scoring 240 points and playing someone with 60 points in a league could significantly distort one’s “points for” and “points against” with these outliers. “Points for” may be a strong indicator of overall team strength because most players’ performances are uncorrelated to each other on one’s Fantasy team. However, this article does not seek to create a power ranking metric for team strength.

Looking into the distribution and range of outcomes for a team would involve breaking out every possible scenario for teams in a given league. Personally, I am involved in 12-man leagues, so the schedule has 11! (39,916,800) possibilities because everyone repeats the same two weeks at the end of the season in each iteration. After creating these schedules for the chosen team, I wrote a script to go week-by-week through each schedule and assign a win total. The win total result is then put into a larger data set of win totals from which a distribution can be created.

B) Who Makes the Playoffs?

In order to create a bit more intrigue, I also wanted to find out how many wins the typical team needs to make the playoffs, as well as the number of wins a typical team needs to get a bye. In the leagues I participate in, the six top teams make the playoffs, with the top two getting a bye. This will be the playoff format used throughout the paper. Once again, I focused on 12-man leagues, ensuring the results were relevant to Fantasy teams I’m involved in. In order to find these answers, I used a random number generator to figure out possible league IDs and try them. The league ID was only kept if the ID returned a public useable 12-man league.

Then these leagues were used to calculate the percentage of teams with a given number of wins that make the playoffs or get byes. This can then be used in conjunction with the previous win distribution to find the percent of seasons in which one might expect to get a bye or make the playoffs.

This graph shows that getting to seven wins is pivotal when it comes to making the playoffs. When it comes to getting a bye getting nine wins is pivotal and necessary have a good shot at a bye. Using these percentages multiplied by the corresponding likelihood of a season with that number of wins, reveals the approximate odds of making the playoffs and getting a bye in the playoffs given your team’s point totals with a random schedule.

C) Distribution of Outcomes

Below is an example of the information that one can tell about a team at this point. The actual number of wins one got is denoted in red. I definitely began this analysis thinking that I should have gotten a bye in the playoffs, but given this distribution my preconceived notions were sorely mistaken. Maybe a worse team did get the bye over me, but my team still had a favorable schedule. I was very likely to make the playoffs, as I did, this calculation was understated because I would have the tiebreaker in almost all cases. The possibility of missing the playoffs is still quite real and should not be understated. Luck was on my side during the regular season this year. While I would have complained about how I should have made the finals before, this shows the luck that was involved in even having the chance to play in the playoffs and in the semi final.

II. Right Players at the Right Time: Points Left on the Table

Not a week goes by where I don’t leave points on the table. While I believe I tend to make the “right” decisions, I still wanted to look at how many points I tended to forego, mistakenly, each week. In order to do this I scraped the point totals of every player on my roster each week to determine the maximum possible points available to my team, or that I would have scored in a best ball format. Looking at how much you could have improved your weekly point output with the players available provides a way to see how one could have improved on a weekly basis. This information is not available in the ESPN API, and cannot be scraped with BeauitfulSoup as the DOM must execute Javascript to display the information to be scraped, so selenium webdriver was used.

A) Lineup Comparison to Optimal Lineup

There were three weeks where I realized less than 80% of my possible total. Looking at the graphs below shows that while there is some room for improvement, I generally made the correct decisions and lived up to most of my potential.

The graph below shows the percent of the possible points achieved with my actual fantasy lineup in a given week. There were three weeks where I realized less than 80% of my possible total. Looking at these graphs, reveals that while there is some room for improvement, I generally made the correct decisions and lived up to most of my potential.

B) Lineup Comparison to Pro Consensus Lineup

Often, nobody sees a player’s best performances coming. For example, who could have seen Darrius Guice’s 129 rushing yards, two touchdowns, two catches and eight receiving yards coming in week 13? I’m willing to bet that no one did. Leaving him on your bench was likely the best call before the game, but in this iteration he happened to hit near the top of his distribution of outcomes. In order to take a look at what a team manager supposedly should have done according to experts, I took the composite FantasyPro rankings for a given week and compared the point output for the rankings would recommend to the team total I ended up with. They were downloaded from Yahoo! where there is a download link on the Weekly Fantasy Football Rankings. The results of this analysis are shown below, and there should be little variation from my line-ups because most of the decisions in a season long Fantasy league are no-brainers. There is a real possibility that, say, Robby Anderson scores more points than Davante Adams in a given week, but who would seriously make that decision?

As the data show, the point totals on a weekly basis were nearly identical with the exception of a few weeks. On the whole, there were as many weeks the Pro Consensus Recommended Lineup outperformed the Player Chosen Lineup, and vice versa. The average performance of the Player Chosen Lineup being better than the Pro Consensus Recommended Lineup is almost certainly a function of chance.

III. Potential Issues

Simply calculating different outcomes based on point totals for the regular season based off of points scored in the regular season this year is by no means perfect. Many teams would likely have made different lineup choices to create more or less variance if they were playing different teams a given week. Additionally, people tend to pay much less attention when they are out of contention so bye weeks may not have been filled, waiver claims not placed and trades not made. As for looking at weekly points left on one’s bench, frequently people debate using players on the waiver wire and they are not accounted for in this analysis. This leads to a periodic understatement of points left on the table.

More potential Issues include, public leagues are known to have a lower level of commitment from league members. This could throw off the playoff and bye percentage graph and calculations. There is also no way to look at who was available on the waiver wire or if mid season trades were a good move by players. These methods of evaluation are certainly not perfect for a number of reasons, but nonetheless I believe they should be added to any serious Fantasy Football player’s repertoire as a means of self-evaluation.





IV. Conclusion

Looking at what could have been can be used to give yourself more of how your fantasy season shaped up, and potentially give you more ammunition to bring up to your league mates till the next season is underway. I encourage people to take a look at their own league and find the results, if the league is private one should pass in SWID and espn_2 cookies. Most of the code used to develop this article will be available on my github shortly (I have to clean up some of the code at least a little and anonymize it), expand upon, make more efficient, and/or provide criticism. I hope these ideas and this analysis add to your understanding and appreciation for the game we all love. Hopefully this helps you appreciate the sometimes great but often aggravating randomness inherently tied to the game we all know and love, Fantasy Football.

__________________________________________________________________________

I would like to thank stackoverflow users, Steven Morse’s blog on using the ESPN Fantasy Football API and this simple selenium webdriver tutorial, for helping me understand how to use these platforms and achieve these results. If anyone has questions feel free to reach out to me personally.

An earlier version of this article had an error with the graph showing the distribution of possible outcomes depending on schedule.