Skip to main content
Menu
How We Calculate NBA Elo Ratings

Hopefully if you’re reading this, you’ve had a chance to explore our new interactive graphic, “The Complete History Of The NBA,” which tracks each NBA and ABA franchise’s performance through every game of its history.

So now for the exciting part: 2,000 words about autocorrelation and the Akron Firestone Non-Skids.

More Sports

Actually, this won’t be too bad because Elo is a pretty simple formula. The guts of the system are the same as we used for the NFL and which other researchers have applied to competitions ranging from chess to soccer. For those new to Elo, here are its essential features:

  • The ratings depend only on the final score of each game and where it was played (home-court advantage). They include both regular-season and playoff games. The principal source for game-by-game scores is Basketball-Reference.com.
  • Teams always gain Elo points after winning games and lose ground after losing them. They gain more points for upset wins and for winning by wider margins.
  • The system is zero-sum. When the Denver Nuggets gained 30 Elo points by upsetting the No. 1 seed Seattle SuperSonics in the first round of the 1994 NBA playoffs, the Sonics lost 30 points.
  • Ratings are established on a game-by-game rather than a season-by-season basis. So you can see changes in a team’s “form” over the course of the year: The Toronto Raptors had a much higher rating early in the 2014-15 season than at the end of it, while the reverse has been true for the Cleveland Cavaliers.

The long-term average Elo rating is 1500, although it can vary slightly in any particular year based on how recently the league has expanded (more about that below). More than 90 percent of team ratings are between 1300 (pretty awful) and 1700 (really good), but historically great or truly execrable teams can fall outside that range:

ELO EQUIVALENT RECORD TEAM DESCRIPTION
1800 67-15 All-time great
1700 60-22 Title contender
1600 51-31 Playoff bound
1500 41-41 Average
1400 31-51 In the lottery
1300 22-60 LOL
1200 15-67 Historically awful

There are just a few NBA-specific parameters to set, which we’ll describe below.

The K-factor

Elo’s K-factor determines how quickly the rating reacts to new game results. It should be set so as to efficiently account for new data but not overreact to it. (In a more technical sense, the goal is to minimize autocorrelation.) If K is set too high, the ratings will jump around too much; if it’s set too low, Elo will take too long to recognize important changes in team quality.

We found the optimal K for the NBA to be 20. This is higher than we expected; it’s in the same range as the K used for NFL and international soccer Elo ratings even though the NBA plays far more games than those sports. It’s much higher than the optimal K for baseball. It implies that you ought to give relatively high weight to an NBA team’s recent performance.

One way to interpret this is that NBA data is subject to relatively little randomness. This makes it different from sports like baseball and hockey, whose game-by-game results are pretty noisy; in those sports, your default assumption should be that a winning or losing streak is mostly luck. That isn’t so true for basketball. Streaks may reflect true, if perhaps temporary, changes in team quality. When the Atlanta Hawks went on a 19-game winning streak this season, for instance, they were undoubtedly getting a little lucky, but they were probably tougher to beat than at other points in the season.

There are still some cases in which Elo seems too slow to catch up to reality, like when Michael Jordan left the Bulls or LeBron James left the Cavs. But remember: Elo is only looking at game scores and not the composition of the roster. If that’s all the information you have, setting Elo to react more quickly to these cases would make it overreact to others. The Oklahoma City Thunder’s Elo rating never dipped below 1508 this year despite its 3-12 start, for instance, and that proved to be prudent since the team went 42-25 the rest of the way and ended the year with an Elo rating of 1583.

Home-Court Advantage

Home-court advantage is set as equivalent to 100 Elo rating points. One hundred Elo points is equivalent to about 3.5 NBA points,1 so that’s like saying the home team would be favored by 3 or 4 points if the teams were otherwise evenly matched.

In practice, the magnitude of home-court advantage has waxed and waned over the NBA’s history. Home teams won by an average of 5.8 points in the 1987-88 regular season, for instance, but by just 2.4 points in the past season. And some teams (especially those like Denver and Utah that play at high altitudes) have historically had slightly larger home-court advantages.

Still, the spirit of the Elo system is to keep things simple. We experimented with a dynamic home-court advantage rating that changes over time, but we found that it made almost no difference to the overall ratings, partly because each NBA team plays about half its games at home and half on the road. So we’re using the constant 100-point home-court advantage instead.

Margin of Victory

Elo strikes a nice balance between ratings systems that account for margin of victory and those that don’t. While teams always gain Elo points after wins and lose Elo points after losses, they gain or lose more with larger margins of victory.

This works by assigning a multiplier to each game based on the final score and dividing it by a team’s projected margin of victory conditional upon having won the game. For instance, the Warriors’ 4-point margin over the Rockets in Game 1 of this year’s Western Conference finals was lower than Elo would expect for a Warriors win. So the Warriors gain Elo points, but not as many as if they’d won by a larger margin. The formula accounts for diminishing returns; going from a 5-point win to a 10-point win matters more than going from a 25-point win to a 30-point win. For the exact formula, see the footnotes.2

Year-to-Year Carry-Over

Instead of resetting each team’s rating when a new season begins, Elo carries over a portion of a team’s rating from one season to the next. In our NFL Elo ratings, teams retain two-thirds of their rating from the end of the previous season. In our NBA ratings, by contrast, they keep three-quarters of it. The higher fraction reflects the fact that NBA teams are more consistent from year to year than NFL squads.

For example, the Miami Heat ended the 2012-13 NBA season with an Elo rating of 1754. The team’s Elo rating for the start of the 2013-14 season is calculated as follows:

(.75 * 1754) + (.25 * 1505) = 1692

Detail-oriented readers may see something that seems amiss here. Each team’s Elo rating is reverted to the mean, and — as we’ve said — the long-term mean Elo rating is 1500. So why does a slightly different number, 1505, appear in the formula?

Expansion, Contraction and Mergers

The reason has to do with the way we handle expansion teams. In principle, the implementation of this is pretty simple. Each franchise begins with an Elo rating of 1300 in its inaugural professional season. The reason we revert to a mean of 1505 rather than 1500 is that there are liable to be a couple of relatively recent expansion teams in the league at any given time. Giving established teams a rating very slightly higher than 1500 counteracts the expansion teams and keeps the league average Elo close to 1500 over the long run.

But the league average Elo rating will be slightly different from 1500 in any given season, depending on how recently the league has expanded. It was 1504.5 during the 2014-15 NBA season, for instance, slightly higher than the long-term average because the NBA hasn’t expanded much recently.

The league average tended to fluctuate more in the early years of the NBA because of constant expansion, contraction and mergers with other leagues. (We’ve learned way more than we wanted to know about the early history of American professional basketball, like that you could have once watched a game between teams named the Indianapolis Kautskys and the Akron Firestone Non-Skids.) The league average reached a peak of 1534.5 in 1954-55 after a number of losing teams had disbanded. By contrast, it was just 1440.5 in the 1970-71 season after the NBA expanded rapidly.

silver-feature-nba-elo-methodology-1

There’s one other tricky part. We said a team begins with a rating of 1300 in its first professional season. That doesn’t mean its first NBA season. Instead, teams get credit for their performance in predecessor leagues that merged with the NBA:

  • The Basketball Association of America (BAA), which began play in 1946-47, is usually considered the official predecessor of the NBA. So we track all BAA teams’ Elo ratings explicitly, starting them at 1300 in 1946-47.
  • We also track American Basketball Association (ABA) Elo ratings explicitly — yes, that includes The Floridians! — starting them at a rating of 1300 in the ABA’s inaugural season of 1967-68. The year-end adjustment takes care of the rest, allowing the ABA’s performance to gradually improve over time. The four ABA teams that joined the NBA in 1976-77 simply carry over their ratings from ABA. Because these teams — the Indiana Pacers, San Antonio Spurs, Denver Nuggets and New York Nets — had been among the more successful ABA franchises, Elo ratings imply that the merger with the ABA did not weaken the NBA much. The four ABA imports averaged a respectable 40-42 record in their first three NBA seasons, in fact.
  • The National Basketball League (NBL) was a competing professional basketball league that began play in 1937-38 and included colorfully named franchises like the Non-Skids. It merged into the BAA in advance of the 1949-50 season, at which point the combined league was renamed the NBA. In fact, most of the better franchises in the early days of the NBA originated in the NBL rather than the BAA, including the Minneapolis Lakers, Rochester Royals and Fort Wayne Pistons. While we could not track down game-by-game results for the NBL, we inferred Elo ratings for NBL teams based on the season standings and playoff results, and these ratings carry over when teams enter the NBA. For instance, the Syracuse Nationals (now the Philadelphia 76ers) begin with a rating of 1458 in their first NBA season in 1949-50.
  • Finally, one early NBA team, the Baltimore Bullets, originated in a third early league, the American Basketball League (ABL). Confusingly, that original version of the Baltimore Bullets bears no relationship with the team that would later play as the Baltimore Bullets from 1963 to 1973 (and which is now known as the Washington Wizards). However, Elo gives the original Baltimore Bullets credit for the seasons they played in the ABL.3 You can find the starting Elo ratings for the Bullets and NBL teams below:

NBL/ABL TEAM CURRENT FRANCHISE FIRST YEAR IN NBA/BAA STARTING ELO
Anderson Packers 1949 1562
Baltimore Bullets 1947 1419
Denver Nuggets 1949 1295
Fort Wayne Pistons Detroit Pistons 1948 1495
Indianapolis Jets 1948 1366
Minneapolis Lakers Los Angeles Lakers 1948 1527
Rochester Royals Sacramento Kings 1948 1535
Sheboygan Red Skins 1949 1405
Syracuse Nationals Philadelphia 76ers 1949 1458
Tri-Cities Blackhawks Atlanta Hawks 1949 1430
Waterloo Hawks 1949 1382

Teams retain their prior Elo ratings when they change cities or nicknames. This includes the teams now known as the New Orleans Pelicans and Charlotte Hornets. The NBA, in a bit of revisionist history, considers the current Charlotte Hornets (who were known as the Charlotte Bobcats until this season) to “own” the statistics of the team that played as the Charlotte Hornets from 1988-89 through 2001-02, before they moved to New Orleans. We instead link those Hornets seasons with the New Orleans Hornets, who are now the New Orleans Pelicans.

Footnotes

  1. As for our NFL Elo ratings, it’s possible to translate NBA Elo ratings into point spreads. Here’s the formula: Take the difference of the two teams’ Elo ratings, add 100 points for the home team and then divide by 28. That gives you a projected margin of victory for the game. For instance, in Game 1 of the 2013-14 NBA Finals, the San Antonio Spurs had a 92-point Elo advantage over the Miami Heat, as well as home court, for an overall advantage of 192 Elo points. Dividing that by 28 would make San Antonio roughly 7-point favorites in the game.
  2. The margin of victory multiplier is calculated as follows.

    • Take a team’s margin of victory, add 3 points and then take the result to the power of 0.8.
    • Divide the result by the following formula: 7.5+.006*(elo_diff), where elo_diff represents the Elo rating difference between the teams, accounting for home-court advantage. Elo_diff should be negative in games won by the underdog.

    For instance, in Game 1 of the Warriors-Rockets series, the Warriors entered the game with a an Elo rating 118 points higher than the Rockets’ and had home-court advantage, for an elo_diff of +218. They wound up winning the game by 4 points. Thus, their margin of victory multiplier is calculated as follows:

    Nate_equation1

    What if the Rockets had won by 4 points instead? Since they were underdogs, they’d get a larger multiplier:

    Nate_equation2

    While this formula may seem clunky, it accounts for the fact that favorites tend to win games by larger margins than they lose them. Failing to correct for this will introduce autocorrelation into the system and make the ratings less stable. See here for further discussion.

  3. Since data on the ABL is very hard to come by, the Bullets’ initial rating is simply calculated by starting them with a rating of 1300 and then reverting them toward the mean of 1505 for each season they played in that league.

Nate Silver is the founder and editor in chief of FiveThirtyEight.

Reuben Fischer-Baum is a visual journalist for FiveThirtyEight.

Filed under , , , ,

Comments Add Comment