Converting Elo Ratings to Odds
I don’t have the PLL Elo ratings on the site anywhere, but I’ve been sharing them on Twitter and elsewhere.
If you are new to Elo, here is an explainer I wrote up a few years ago. It outlines the basics of an Elo rating system and how I implemented it for college lacrosse. The settings are virtually the same in the PLL implementation, except I make the model react more quickly to new games because a) I don’t have as much history to rely on and b) there are more new teams (relative to the total) than there will ever be in the college game.
In addition to being a very useful (and Bayesian even) rating system, Elo algorithms have an extra advantage; they can be converted into a win probabilities for any match-up. And in fact, this is a cornerstone part of how I do the in-game win probabilities. You’ll notice that the teams don’t start at 50% win probability. The starting point is the win probability suggested by the pre-game Elo ratings.
Anyway, since there isn’t much data work going on right now with the college season having finished, I decided to incorporate my Elo ratings into a new data concept.
Elo to Win Probability
As I’ve started to see odds published for lacrosse games, I’ve always been curious how they line up with what Elo thinks the win probabilities are. Now, of course, oddsmakers aren’t trying to predict outcomes; they just want equal amounts of money bet on both teams. That means that there “should” be discrepancies between win probability and the posted odds if the public has an inflated opinion of one of the teams (or if the oddsmakers believe that to be the case).
The process is pretty straightforward. Elo becomes a win probability. Then the odds are converted into a win probability. Then the 2 win probabilities are compared to find instances where the Elo-implied WP is much higher than the odds-implied WP.
This is the formula for converting the Elo ratings for 2 teams into a win probability (in this case, for the home team). It’s in Python notation, but I’m sure you can get the drift.
For example, if you had Team A with an Elo rating of 1500 (generally league-average in Elo models) and Team B with an Elo rating of 1422, then you’d expect Team A to beat Team B 61% of the time and you’d expect Team B to beat Team A 39% of the time.
This is a crucial point about Elo models. You should not, under any circumstances, read that as: “Elo is 61% confident that Team A will beat Team B”. Always think in series of 100 games. If Team A played Team B 100 times, you’d expect Team A to end that series 61-39.
Odds to Win Probability
Now for a true apples to apples comparison, we need to convert the posted odds into a win probability as well. The internet has told me how this is done. I will relate it to you now.
Odds come in positive flavors (oddly, meaning the team is the underdog) and negative flavors (of course, meaning they are the favorite). If you are looking at a positively flavored odds line (i.e. +150), the formula to convert it to a win probability is (100)/(100 + odds). So a team with +150 odds has a:
If you are dealing with a favorite (i.e. -175), the formula to convert it to a win probability is (-1 * odds)/(100 + -1 * odds). So a team with -175 odds has a:
Filter for those Value Nuggets
That doesn’t mean that you can only find value in underdog bets; quite the opposite. In fact, the earliest runs I made of this model on the PLL lines showed that all the value would have been in betting on a favorite.
Ok, now, with my Elo ratings and this recipe, you are all ready to start finding your own value plays. Right?
Or, if you don’t feel like setting up the systems to manage all these calculations, you could also just subscribe to the LacrosseReference GameGuide email newsletter. Every day, get a digest of the upcoming games sorted by the “value” opportunity presented by the current odds.
Eventually, this might be something that is a paid part of the LacrosseReference PRO product suite, but for now, it’s in beta and it’s free. I may cut off sign-ups at a certain point, so sign-up now.
The Never-ending To Do List
Eventually, I think it would be cool to incorporate Over-Under and Spreads into this model as well. After all, anything expressed as odds can be converted to a probability. Elo is just one model that is geared towards understanding the relative strength of two teams. There is no reason you couldn’t have a model that looks at the likelihood of a specific margin of victory or the likely number of total points. From there, it would be the same process to identify those value nuggets.
But for now, I’ll stick with the win probability version. I have a lot of other things on the old to-do list for LacrosseReference this off-season. Better get to it.