# How does the FiveThirtyEight Elo formula work?

Can someone help me to understand the Elo update formula used by FiveThirtyEight? Here is the best article I’m aware of describing how it works. Specifically, I don’t understand how they derived their “margin of victory multiplier”

Margin of Victory Multiplier = LN(ABS(PD)+1) * (2.2/((ELOW-ELOL)*.001+2.2))

I don’t know where any of the constants in this formula come from, the use of a base e logarithm, the 2.2, and the 0.001. Are these values empirically determined? Or are they related intrinsically to the rest of the model? It also seems like a good tuning parameter that they don’t include would be to divide the point differential by some constant A (like maybe the standard deviation of NFL PDs), since there’s nothing fundamental about NFL point differentials. Unless something like this is hidden in the other parameters.

I’ve tried to use this formula before for FRC without success, and I want to take another crack at it, but I think I need a better understanding of how it works first.

This guy explains it pretty well

Based on my understanding they were empirically determined by looking at historical distributions of point differentials. The logarithm was chosen to ensure diminishing returns on large point differentials. (As to why base e was specifically chosen, again it comes to down to historical point distributions) The link that John shared explains this better than I have.

He explains how to get to that equation, but in my opinion doesn’t really explain any of the whys about the intricacies of the equation. Still an interesting read though. I also don’t have the answer, but I won’t let that stop me from speculating based entirely on irrelevant details.

MOVM = LN(ABS(PD)+1) * (2.2/((ELOW-ELOL)*.001+2.2))

I suspect that log_e was chosen over log_n because it doesn’t make too much of a difference. The curve can be scaled by the second portion of the equation to get the appropriate response.

The form of the second portion allows for essentially two different responses, one for underdog victory and one for favorite victory. It’s not a linear function, so underdog victories result in a larger MOVM than favorite victories of the same point differential. This is most significant for abs(ELOW-ELOL) > 500. For -500>ELOW-ELOL>500, it’s mostly linear.

The 0.001 and 2.2 aren’t really two different constants, they’re interdependent (let’s call them a and b, a=0.001 and b=2.2). If you take a=0.01 and b=22 you get the same result. The ratio of the two, a/b, determines the non-linearity of the second portion of the MOVM equation, as discussed previously. If you increase a and keep b constant, the function becomes more non-linear, increasing the difference between the reward for underdog victories and favorite victories.

The two also limit the scope of the function. In this case, for (ELOW-ELOL) <= -2200, it breaks. The more non-linear you’d like the function, the smaller of an elo difference it can allow (only for underdog victories of course, Rocky can lose all he wants but as soon as he beats Apollo you have issues).

So my post doesn’t answer any of your questions directly, but hopefully it helps with deciding what values would be acceptable for FRC

. I suspect log_e is appropriate for pretty much any competition, and the a/b constant is what would actually be tuned. When tuning a/b it’s probably necessary to pay attention to the highest conceivable elo difference for an underdog win. Since you sum individual ELOs to achieve an alliance ELO, I suspect it’s not unreasonable that you could break this equation given a large upset, but you can probably look at historical data to make sure.

If a and b aren’t guess+check, I would think that they depend on the largest conceivable underdog win ELO difference and the prevalence of underdog victories. If underdog victories are common I would expect a more linear fit, but if they are uncommon I would expect a more non-linear fit. As to how to translate that into a number, , good luck!

Yup, exactly. This is explained by Silver at the link in the OP.

Probably not a coincidence that the natural logarithm was chosen, given that e^2~=7, e^3 ~= 20, and that a “close” game is usually defined as MoV <=7, with diminishing returns are usually seen after MoV > 21 in the NFL. (e.g. The difference between 7 and 14 point win in the NFL is massive, while a 21 and 28 point win is fairly minor)

Natural logs have mathematical and statistical properties that fit with statistical theory (that I’ve now forgotten after 2 decades…)

I hadn’t read the posted article all the way through, only skimmed it. I read the second post article, but I definitely should have read the first one all the way through instead of just looking for numbers and equations.

That’s good reasoning that I hadn’t considered, however:

since ln(x) = 2.303*log(x), I can rewrite Mr. Silver’s equation as:

MOVM = LOG(ABS(PD)+1) * (5.0666/((ELOW-ELOL)*0.002303+5.0666))

and I should get the same values. I think the selection of the base of the logarithm can be accounted for by selecting appropriate constants for the second portion of the equation.

Which led me to think that maybe the equation would be easier to interpret with constants of 1 and some number, rather than 2.2 and some number:

MOVM = Log_1.575(ABS(PD)+1) * (1/((ELOW-ELOL)*.0004545+1))

I like the form of 1/x+1, but it makes the logarithm pretty messy. And it leaves us wondering why Log_1.575 and 0.0004545 are significant… They’re pretty ugly numbers.

Log_1.575(7) = 4.3
Log_1.575(21) = 6.7

For Caleb: Nate Silver is relatively accessible via twitter, so you could probably ask him there and have a shot at a reply. Although I’d probably wait until after today’s primaries/special election are over, I bet he’s pretty busy right now. There’s also an email for him on fivethirtyeight.com, so you could try that as well… If you do ever get an answer from him, please post it here, I’m pretty interested.

Yup, the choice of the natural logarithm is quite possibly a result because the numbers fall into approximately the right space and because it’s so readily used in traditional statistics/science.

Here is an article about how they use it for the NBA.

Here’s the margin of victory multiplier from footnote 2 from that link, the general structure looks pretty similar to the NFL multiplier except using a power funtion instead of a logarithm.
https://i.imgur.com/bGiBWKA.png

Here’s a graph of the MOV versus the multiplier for each of the two formulas for elo_diff = 200:
https://i.imgur.com/14vxUDl.png

Note that it’s kind of silly to directly compare NFL margins of victory against NBA MOVs since they have different units, but since the average MOV for each sport is ~10 points we can do at least a rough comparison. My guess is that the NFL has higher multipliers near 0 because NFL teams who are winning early can control the pacing of the game much better than NBA teams up by similar margins early can. So if NFL teams were actually playing to maximize margin of victory instead of win probability, teams with leads would probably play more aggressively than they presently do. That still doesn’t tell us how either of these multipliers were constructed or tuned though.

I’ll be sending Nate Silver an email soon, I’ll share the whole email chain here after we’re done.