This is our old blog. It hasn't been active since 2011. Please see the link above for our current blog or click the logo above to see all of the great data and content on this site.

NBA Elo Player Rater

Posted by Justin Kubatko on February 8, 2011

Today I would like to introduce a new feature that I think will be a lot of fun: the NBA Elo Player Rater.

The Elo rating system is a method for calculating the relative skill levels of players in two-player games. The creator of the system, Arpad Elo, was a professor of physics at Marquette University who wanted an improved chess rating system. Although the system has its roots in chess, today it is used in many other games.

We decided to take Elo's work and apply it to the ranking of basketball players. Our player pool consists of all NBA players who meet at least one of the following career criteria:

  • 10,000 points
  • 5,000 rebounds
  • 2,500 assists
  • 1,000 steals plus blocks

All players have an initial rating of 1500 points. These ratings are then updated by randomly selecting pairs of players and having them "play" each other.

We start by computing the win probabilities for each player (let's call them A and B):

P(A wins) = 1 / (1 + 10^((RB - RA) / 400))
P(B wins) = 1 / (1 + 10^((RA - RB) / 400))

where RA = rating for A
      RB = rating for B

After the winner has been determined, the ratings of the two players are adjusted. If A wins the match then the new ratings are:

RA_new = RA + K * P(B wins)
RB_new = RB - K * P(B wins)

The "K" above stands for the "K-factor" and has a value of 24. (The K-factor was later changed to 10 --Ed.)

While if B wins the match then the new ratings are:

RA_new = RA - K * P(A wins)
RB_new = RB + K * P(A wins)

For example, suppose Michael Jordan ("MJ") has a rating of 2500 and Wilt Chamberlain ("WC") has a rating of 2450. The win probabilities for each player are:

P(MJ wins) = 1 / (1 + 10^((2450 - 2500) / 400)) = 0.571
P(WC wins) = 1 / (1 + 10^((2500 - 2450) / 400)) = 0.429

If MJ wins then the new ratings are:

MJ_new = 2500 + 24 * 0.429 = 2510
WC_new = 2450 - 24 * 0.429 = 2440

While if WC wins then the new ratings are:

MJ_new = 2500 - 24 * 0.571 = 2486
WC_new = 2450 + 24 * 0.571 = 2464

Here are a few more notes about the way we have chosen to implement the Elo rating system:

  • This is a community-based project with the goal of rating the best players in NBA history. In each matchup, the user should choose the player who they believe was the better player. It is up to the user to determine how much weight to give to offense versus defense, peak value versus career value, regular season versus playoffs, etc.
  • Before opening this up to the public we simulated 100,000 matchups in order to give the players more realistic starting ratings. These starting ratings do not necessarily represent the opinions of the owners of this site.
  • Pairs are not chosen completely at random. The first player is randomly selected to begin the process. Following that, a second player with a rating within 250 points of the first player is randomly selected to complete the pair. We did this in order to prevent bizarre choices (e.g., Manute Bol over Bill Russell) from distorting the ratings.

As always, please send us some feedback if you have any comments or questions.

228 Responses to “NBA Elo Player Rater”

  1. huevonkiller Says:

    Indeed, I thought this would become a mindless poll of personal favorites and I'm quite right.

  2. AHL Says:

    You gave too much power to the stupid. Increasing it from 250 differential to 500 or whatever counterend the lower K, and people still feel the temptation of knocking a guy's score just for the hell of it.

    Who cares if Michael Jordan gets locked out on top? Shouldn't that mean something? Make it 250 or less again.

  3. huevonkiller Says:

    Certainly the format could be better, but I assume people will continue their dubious voting no matter what.

  4. Matt Says:

    Well, it was fun while it lasted.

  5. Robert August de Meijer Says:

    Maybe the ranking looks better if there was an average of one's ranked place?

  6. Jason J Says:

    If anyone's wondering we've hit 718,226 games played.

  7. Justin Kubatko Says:

    Jason J wrote:

    If anyone's wondering we've hit 718,226 games played.

    You're double counting. The total number of matchups is actually one half of that figure.

  8. Jason J Says:

    You're correct. But I'm still impressed.

  9. Math2 Says:

    @201 Yep, it has now.

    @202 I agree. Why was it changed in the 1st place? And there should be a system for keeping the people who just vote for favorites out. I have personal bias, but it doesn't go against who I am voting for. Though stats don't say it all, there is no way that some people should be saying Duncan is better than Jordan or whatever.

    @205 Meh. Wouldn't ther be no #1 then because nobody has been 1 the whole time?

  10. Robert August de Meijer Says:

    I meant, a ranking (1 to 500 or so) of average place on the list. So, Jordan would be number one because he's on average something like #4.56 on the list and Kareem is second because he's on average something like #5.12.
    Maybe this would make the list smoother?

  11. Math2 Says:

    oh. Maybe. It's kinda screwed up already though

  12. daveh Says:

    I've said it once, I'll say it again (even though the guys that run this site temporarily fibbed or just lost their collective minds if they changed their minds again). It was a terrible idea to put this stuff at the tops of the player pages. It brings the intelligence quotient of an otherwise great site down to nearly retard level. It's the difference between a franchise with a GM named Jerry West and a franchise with a GM named Danny Ferry.

    Put it back AT THE BOTTOM OF THE PAGES, for Pete's sakes!

  13. Justin Kubatko Says:

    Daveh, I'm sorry you feel that way, but I won't be making any more changes for the time being. This feature has been incredibly popular, with over a half million matchups rated so far. From a business perspective it would be foolish to bury this at the bottom of the player pages.

    I understand that you have given money to the site in the past, but that does not give you carte blanche to toss around demands and insults. If you would like a refund for any pages that you currently sponsor I will gladly do so.

  14. Greyberger Says:

    Guys I just want to chime in and say what probably doesn't need to be said,

    It's just for fun, specifically the fun you get the first several times you get brain-wracking match-ups. For instance on my way here my first random match-up is Adrian Dantley versus Dennis Rodman. Impossible, right?

    If you can't enjoy that game anymore because of the social element, I suggest it's not for you. Think of it as a relatively inoffensive ad for a flash game you would never play.

    And Danny Ferry has to be doing something right or the Spurs wouldn't have wanted him back in their front office.

  15. daveh Says:

    Danny Ferry is back to running the Spurs' Austin Toros D-League team and scouting college bums because that NBA franchise had to perform its United Way and NBA Cares charity act for 2010. Check.

    And I stand by my opinion, business needs or not, putting this silly stuff at the top of the player pages as opposed to at or near the bottom simply tosses an anchor onto the site's perceived credibility and brings it down a notch closer to a childish fandom level. There's got to be a better way.

  16. JP Says:

    It was a noble idea that went down the crapper because let's face it, most fans are a) stupid, b) agenda driven, or c) both. Tim Duncan 92nd? Behind his own teammates? Kobe 57th? Time to retire this thing, IMO.

  17. daveh Says:

    #216, if some previous comments are any indication, the creator of that nonsense takes your criticism personally. Besides, they've already made it clear that in their opinion, which is not going to change, the increased number of web hits is far more important than maintaining credibility. Sellouts. Makes me want to hear Bob Seger and John Mellencamp croon a commercial.

  18. Larry Says:

    Glad they just changed this so that you can't go to the players page anymore to vote. This morning around 7:45 AM Central time, Jerry Stackhouse was #1 on this.

  19. daveh Says:

    Not quite, Larry. The stupidity is still festering right there on the player pages, nothing has changed. In fact, I just peeked at LeBron James' page, apparently a lot of geniuses feel he's the 129th best player of all-time, just eeking out the 130th best guy, that all-time great, Sam Cassell. This site has devolved in a major way.

  20. P.B.inLos Angeles Says:

    Hey Daveh,
    If we're to subscribe to - as pro Celtic/Bill Russell proponents opine - the theory that Bill Russell is the greatest center of all time based upon the number of championships he won, then Sam Cassell, with three championship rings to LeBron's zero, should certainly be rated above James, don't you think?

  21. Dave Says:

    Ha some of these are laughable number one Shaq has retired now why is he still in the current players top 5, 2nd Dirk and Jason Kidd in the top 5 current players over D wade and Lebron is obviously based on only one series and not their careers people are letting their emotions get in the way too much instead of comparing the stats and individual accomplishments do the talking for them. Slater Martin is a great example he's in the Hall of Fame but only has 7,000+ career points against a bunch of guys in the 50s and 60s mostly white, shorter, less athletically gifted in speed, agility, quickness, height, strength, size, etc. He doesn't deserve to be in the Hall and shouldn't ever beat any NBA player from 1980 on who has better career stats than him. Just because He got a ring or 2 while not even the best player on his team back then shouldn't mean he deserves to beat anybody who doesn't have a ring so flawed HOF and rating system since comparing eras even with comparable stats is already flawed.

  22. Dave Says:

    There are so many flaws because of people who aren't real basketball fans or are only fans of one team or specific players. Example: how the heck are players like Manu Ginobili, Bruce Bowen, Carlos Boozer, Marcus Camby, Chris Paul, Deron Williams who are not only still playing but haven't reached 10,000 points in their careers yet(while being mostly offensive players at that) ranked higher at times or voted on by idiots than Alex English (25,000 career points) and others like him sometimes a player who is so obviously better than one of these pretenders is a couple hundred points behind the wannabes it's embarrassing that this happens as often as it does even if some of the players are really good and will eventually be one of the greats(Chris Paul). I think some new standards for players under 10,000 points should be put in place like 6,000 assists, 1,000 steals, 1,000 blocks, 6,000 rebounds, etc. to even out who gets in.

  23. infinitesadness Says:

    what i learned from elo player rater;
    there are really dedicated haters out there for kobe&lebron and every other player.
    one minute kobe is in the top 10-rightfully so-mostly around 8-10 spots and the next minute he is hardly at the 80s.
    same thing for lebron one minute he is in top 20-30s range next he is out of top 100.
    what s the point of this?
    it was clear from day one that this wasnt going to work,so why is the voting still goes on?
    it was a good precaution closing the voting the players from their mainpage links but it still doesnt stop dedicated-and may i add obsessive-haters.

  24. Ken Says:

    I'm wondering if the odds are weighted somehow, odds of popping up I mean. Over the past week since I started doing it, I've had every player come up 50 times or more. Every player except the top 5 guys that is. Michael Jordan has appeared 4 times, he's the least, Magic, Kareem , Bird, Wilt about 10 more or less. And the really frustrating thing is when I've voted Jordan down, once with Wilt and once with Magic it didn't register. The other two appearances he's made I voted for him and it went through no problem. Anyone else have that problem?

  25. David Says:


    I'm curious as to why you would vote MJ down against Magic. I can understand Kareem from an accomplishments/legacy standpoint (and even that requires a bit of imagination), but given the statistics MJ was clearly better than Magic.

  26. acompanhantes salvador Says:

    certainly like your web-site however you have to check the spelling on several of your posts. Many of them are rife with spelling problems and I find it very troublesome to tell the truth on the other hand I?ll definitely come back again.

  27. nina Says:

    i love you LA LAKERS. U R THE BEST. XOXO

  28. office 2010 product key card Says:

    Thanks a lot for sharing this with all people you actually know what you're speaking about! Bookmarked. Please also discuss with my website =). We will have a link alternate agreement among us