I like to play chess, although I’m not very good.*
A nice aspect of chess is that scores are closely tracked. Each player has a rating that indicates their strength, and after each game this rating is updated. Specifically, these ratings are adjusted according to the Elo system. Named after Arpad Elo, this forms the foundation of the modern chess ranking. You might even have seen Elo in famous movies like The Social Network!
Elo has soared to heights beyond chess: pumping rankings for all types of tournaments and competitions, including all major sports. Prominent analytics website 538 uses an Elo approach to many of their predictions, and in this article we’ll look at how that approach can affect fantasy. If you want to read more about Elo in Fantasy, PFF also includes the metric; I’ll be referencing Elo a lot this year, so it’s good to get the basics down. All data is from nflfastR unless otherwise noted.
How does Elo work?
As indicated above, Elo is a dynamic rating system designed to determine the strength of players/teams at any given point in time. At a high level, every team goes into every game with an Elo rating. This rating is just a number (usually between 1000 and 2000), with a higher number representing a stronger team. After the game, depending on what happened, the ratings of the two teams will be updated.
This “update” is at the core of what makes Elo work. Of course, the team that wins gets an Elo bonus, and the team that loses sees their rank drop. As much This ranking adjustment mainly depends on (1) team strength and (2) point difference.
First, let’s talk about team strength. Simply put, you earn a lot of Elo by beating teams that are much better than you, but you don’t earn a lot of Elo by beating teams that are much worse (and vice versa). Let’s think of a concrete example. Imagine the 2000-rated Super Bowl champion Los Angeles Rams playing the hapless 1000-rated Jacksonville Jaguars. If the Rams win, we would raise their rating, but not by much (similar to the Jags : their rating would go down a bit). We are not to learn much of this game: The Rams should beat the Jags, and we shouldn’t change our minds too much. In this case we could see the new Rams Elo 2010 and the new Jags Elo 990.
However, if the Pink defeat Aries, we would see a big Elo shock. That makes sense: something very surprising happened, so we need to update our leaderboard accordingly. The Jags are either way better than we thought, or the Rams way worse (or a little bit of both). The new ratings could be 1800 for the Rams and 1200 for the Jags, much larger moves than the other.
Second, the point difference is important. Put simply, knocking out (or dropping out) a team earns you more Elo points than winning by a single point. Again, this is intuitive: if a team wins convincingly with a lot of points, that’s a strong signal of their team quality and their rating should be updated accordingly.
These two factors, along with a few other parameters, define the Elo update process. There are many variations on this calculation and as mentioned above we use the 538 approach as the bounce template. Here’s everything you need to know about the actual Elo formula. We will use this formula with a few adjustments, which you can read below.**
How can Elo work for Fantasy?
Traditionally, Elo is used for standard sports. Two teams play, they each score some points, and one team wins. Within this framework we want to focus on individual players and that’s what fantasy football is all about!
To do this, we define the “matchups” as a single player (RB in this article) against a team defense in a single game. The player “wins” if they score more than the average RB semi-PPR fancy points (8.0), and the team defense “wins” if the RB scores less than that 8.0 mark. The “score difference” is just the score above/below this 8.0 mark; So if an RB scores 15 points, let’s say they beat the defense by 7.0 points.
Using this matchup paradigm and formula from above, we can obtain Elo rankings for running backs and rushing defenses over time. We expect every player and team to start with an initial rating of 1200 and upgrade from there.
Why is Elo useful for fantasy?
Before we get to the gravy (some actual Elo rankings), let’s take a minute to reflect on why this could be an important metric for fantasy football. Fantasy managers in particular are constantly trying to gauge the value, strength and form of players/defenders. Knowing which RBs to trust or not to trust and which defenses to avoid or target is crucial mid-season. Elo helps us with these exercises in several ways:
- Automatic Strength of Schedule Adjustments: You wouldn’t want to bet all of your chips on a player who just dominated some weak run defenses, nor would you want to fade a great player who just had some really tough matchups. This goes for defense as well: maybe a run defense looks vulnerable on paper, but only because they just faced a grueling array of top RBs. Elo considers these performances versus expectations and works to isolate a true signal of player or defense quality.
- Steady as she goes: As we shall see, Elo rankings are slow to update. They’re not going to immediately crown an RB who’s ripped off a great couple of weeks; it takes a long track record of quality performance to earn a top rating. Similarly, they won’t hurt an elite player just for a few busts (although if the busts persist, that rating will certainly drop). A great example is Rashaad Penny, an unlikely league winner at the end of the 2021 season. While he increased his Elo rating significantly (230 points as of week 13), the model still ranks him just above average (1271). While it was an impressive stretch, and Penny’s stock should reflect that, Elo isn’t letting things get out of control.
- predictive power: More on that in a future article, but it stands to reason that a good indicator of future Elo is past Elo.
Without further ado, let’s look at some of the results…
Here are the Elo rankings for all “Elite” RBs – players who have reached 1500+ Elo – over the last three years. Again, think of this as a signal of that player’s fantasy quality at any given point in time.
There are some interesting food stalls here. First, the elite (top 2-3) position is not consistent each year. Christian McCaffrey and Ezekiel Elliott top the list in 2019, then Dalvin Cook and Alvin Kamara in 2020, and finally Austin Ekeler and Jonathan Taylor in 2021. Second, note that these Elo rankings are not one-to-one with fantasy rankings: For For example, Dalvin Cook wasn’t the highest-scoring fantasy player of 2020, but he did have the highest Elo. This is also due to the burned-in “opponent strength”. In the final games of the 2020 season, Dalvin faced the New Orleans Saints, Tampa Bay Buccaneers and Chicago Bears, all tough sleights in terms of run defense.
Finally – most disappointingly – we see how quick the impact can be. In 2021, David Johnson and Le’Veon Bell, previously alpha dogs at the position, fell below 1100 Elo, or well below the average RB strength. This is not really a surprise (you can read your colleague Marvin Elequins Dig deep into RBs “lifecycles,” but it’s sobering for forward-looking projections on top RBs.
You can scratch this off the charts, but here are the best Elo RBs over the period, both in terms of peak rating and number of days above the elite 1500 mark:
Not surprisingly, CMC has the best one-week Elo rating in the last decade: he was absolutely unstoppable during his record-breaking 2019 campaign. This season was so strong that two years later his rating is still hovering around 1450 and he’s the 1.01 or 1.02 in the redraft leagues.
LeSean ‘Shady’ McCoy is over 1500 most weeks at 47, with Le’Veon Bell and Ezekiel Elliott on the podium. That makes sense: All three players were dominant for long stretches, and their slow Elo ratings stayed above 1500. Keep in mind that 47 games (LeSean McCoy’s mark) is still less than three full seasons.
A big surprise on this list is Derrick Henry, who only has 14 games in the “elite-elo zone”. A few factors come into play here. Again, Elo moves slowly, so it takes a while for the leaderboard to surpass 1500. When it finally did for King Henry, he did not stay healthy long enough to achieve real accumulation. He will go into this season high in Elo (probably over 1500) and should significantly increase his total in the 1500+ range.
We can take a final look at the Elo rankings for Rush Defense, for both the good guys and the bad guys. Top defense unsurprisingly features Pittsburgh and Baltimore; In addition, the best defense is almost a thing of the past (no top defensive performance since 2016). This suits the modern, aggressive, high-scoring NFL.
On the flip side, “worst” run defenses are hilarious: The 2021 New York Jets, whose 2013 unit was among the best, absolutely dominate the chart. In case you haven’t heard, starting with running backs against the Jets was a good idea last year!
Hopefully this walkthrough from Elo made some sense. I plan to use the rating system frequently throughout the season to get a measure of player/defense strength, which should be useful for start/sit and trade decisions. Stay tuned for Elo articles on positions other than RB and what it means for Fantasy. As always, let me know what you think of this Twitter.
*In fact, I’ve got some standing games going with some awesome members of #FootClan; Hit me up if you ever want a game.
**The formula from 538 is:
elo_new = elo_i + k * m * (s – mu)
m = (log(abs(pd) + 1) * 2.2) / (.001 * (elo_win – elo_lose) + 2.2)
mu = 1 / (1 + 10 ^ ((elo_j – elo_i) / 400))
s = 1 for victory, 0 for defeat
elo_i = Elo of the player/team
elo_j = opponent’s Elo
elo_win = Elo of the winning team/player
elo_lose = Elo of the losing team/player
I use a higher value of K (30) so that the ratings move around a bit more and we see more variability in the data. While I use the same year-to-year adjustment for players (back to initial elo around 1/3), I make this adjustment for team defense much more extreme (almost back to initial elo). I think this is intuitive: while RB quality changes a bit between seasons, team rushing defense quality can change muchas it consists of multiple players, multiple coaching schemes, etc.