Measuring manager performance in fantasy football
Introduction
If you’ve played (American) fantasy football, you’ve probably felt that you have been unlucky and unjustly lost matches at some point. “I had the second most points of any team in my league this week, and I only lost because I happened to play the team that scored the most points!” If you’re like me, the first thing that we do is go to our league standings and look to see how we stack up against the rest of the teams in points for and against. If you’ve scored the third most points but your current placing is eighth because you’ve happened to have the most points scored against you, then of course you have a right to feel slighted.
But are there other ways you can go about justifying your dissatisfaction? I can think of at least three:
- All-play record: What would your position in the league table be if every team played all other teams in head-to-head matchups every week? How much did your schedule impact your record?
- Actual points scored compared to projection: Are you scoring less than your projected total? Is your team under-performing more than other teams compared to their projected scores?
- Points “left on the bench”: How many points could you have had if you had started the best possible lineup (with the benefit of hindsight)?
In this post I’ll look at each of these concepts for my own fantasy football league. Evaluating how actual scores and placings may have been impacted by schedule, projections, and lineup choices should help us reason more tangibly about really contributes to “luck”.
Analysis and Results
The data comes from the 2018 - 2023 seasons of my primary fantasy football league, hosted on ESPN.1 We’ve had different rule sets and schedule formats (i.e. playoffs started in week 14 prior to the 2021 season in this league), but for the most part, measures of performance should be mostly agnostic to this.
Data was scraped with the {ffscrapr}
package maintained by Tan Ho.
All-play records
I felt like I was particularly unlucky with my schedule this past year, and indeed this bears out in the numbers.2 Juan and Drake were also very unfortunate.
2023 All-Play Records | |||||||
---|---|---|---|---|---|---|---|
Tony was the most unlucky in the league this past season. | |||||||
Team | Actual | All Play | Win % | Δ | |||
W | L | W | L | Actual | All Play | ||
Tony | 4 | 10 | 56 | 70 | 29% | 44% | −16% |
Juan | 6 | 8 | 73 | 53 | 43% | 58% | −15% |
Drake | 4 | 10 | 55 | 71 | 29% | 44% | −15% |
Brandon | 6 | 8 | 60 | 66 | 43% | 48% | −5% |
Andrew L. | 7 | 7 | 63 | 63 | 50% | 50% | 0% |
Enrique | 9 | 5 | 76 | 50 | 64% | 60% | 4% |
Alan | 7 | 7 | 55 | 71 | 50% | 44% | 6% |
Andrew E. | 9 | 5 | 72 | 54 | 64% | 57% | 7% |
Luis | 8 | 6 | 57 | 69 | 57% | 45% | 12% |
Manny | 10 | 4 | 63 | 63 | 71% | 50% | 21% |
A 16% difference between my actual record and my all-play record feels non-trivial. In fact, in comparing that level of under-performance to the prior seasons (some of which we played with a “superflex”, contributing to more variance), I find that there were only 6 less fortunate outcomes, including a -29% difference for myself in 2020!
Actual Win % - All Play Win % | |||||||
---|---|---|---|---|---|---|---|
Juan and Tony have had the most unfair schedules since 2018. | |||||||
Team | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | Total |
Juan | −12% | 15% | −4% | −25% | 7% | −15% | −6% |
Tony | 2% | 6% | −29% | −5% | 5% | −16% | −6% |
Enrique | 6% | −19% | −17% | −2% | 6% | 4% | −3% |
Brandon | −2% | −9% | 6% | −11% | 3% | −5% | −3% |
Drake | 2% | 6% | 8% | 12% | −4% | −15% | 1% |
Alan | −14% | 20% | 6% | 6% | −15% | 6% | 1% |
Luis | 17% | −14% | 13% | 3% | −20% | 12% | 2% |
Manny | 4% | 3% | 1% | −2% | −13% | 21% | 2% |
Andrew E. | 10% | −21% | 12% | 13% | 10% | 7% | 6% |
Andrew L. | −13% | 12% | 3% | 11% | 21% | 0% | 6% |
Andrew E. and Andrew L. have been fairly fortunate, only facing 1 season in the past 6 where they ended up with a record that was worse than their all-play records.
The top and bottom 2.5th percentiles of season-long actual win % minus all play win % are about ±22%. This translates to about ±3 wins in leagues with a 14-game regular season. So the “back-of-the-napkin” takeaway here is that you could be winning or losing 3 more games due to your schedule, in the most extreme cases.
Overall, it’s interesting to see that the under- and over-performance doesn’t quite level out even over the course of 6 seasons. Surely we’d see this even out over more and more seasons, but it’s noteworthy that even 6 seasons may not be sufficient to achieve long-run schedule schedule equality.
Actual vs. projected points
Another way to look at whether a team was “lucky” or not is to compare the points that they scored versus what they were projected to score. 3 Further, we should look to see whether one’s opponents are scoring more than they’re projected to score, as this represents another source of variance in scoring. In total, the sum of the differences between one’s own actual and projected scores and the difference with the opponents’ actual and projected scores presents another way of measuring misfortune.4