I am looking to apply a flavor of the Elo Rating System to a game that is played all over the world (not chess) and am toying with the idea of adding what I might consider an "enhancement" to it.

So with Elo your performance rating is relative and is directly influenced by the people you've previously beaten or lost to, and what their respective performance ratings were at the time you played them.

The problem is, the game I am interested in applying Elo to is largely played in isolated "pockets" all over the world, with very little (if ever, any) crossover between these pockets. Meaning there might be a "pocket" of, say, 5,000 players in Australia that only ever play each other. And there might also be an isolated group of players in, say, Greenland that also only ever play one another. Only extremely rarely would an Australian play a Greenlander.

So what I'm wondering here is that since Elo is relative to the players you've won/lost to, that you might end up with, say, a leading Australian with an Elo rating of, say, 1845. And the leading Greenlander might have an Elo of, say, 1820. So on paper they look like they are pretty much equals.

Except let's pretend that they're not -- not even close! Let's say the quality of play in Australia is far superior to the average quality of play in Greenland. And if the leading Australian + Greenlander ever played each other, the Australian would mop the floor with the Greenlander (BTW I'm American; nothing for/against Australia or Greenland here! Just using these as arbitrary examples!). In this case, it might be the case that if this Greenland champion were to move to Australia and start consistently playing against Australians, his Elo rating might eventually settle to, say, 1330.

Here's the fundamental problem I'm seeing with Elo:

  • The Greenland champion has an Elo rating of 1815, and the 2nd ranked Greenlander has a rating of 1785
  • The Greenland champion will almost always beat the 2nd place player every time (8 out of 10 times, etc.)
  • But now, the Greenland champion spends a summer in Australia and consistently loses, driving his Elo rating down to 1330
  • The 2nd ranked Greenlander still has a rating of 1785 even though he is inferior to a player who is now rated at 1330, all because he stayed home in the safety of Greenland

I'm wondering if the Elo system accounts for the existence of these "isolated pockets" of players and allows for the auto-correction of them on the rare occassions when "cross-pollination" does occur (that is: when a member of one pocket plays a member of another pocket). If so, how (because I don't see it!)? And if not, is there any mathematical/logical basis for doing so, and what might that improved model look like?

Essentially I'm wondering if there's a way for ratings to "ripple throughout a pocket/isolated group" anytime this cross-pollination does occur.

  • 3
    $\begingroup$ There is no statistical way to solve this. If there is no communication, there can be no flow of information. I have a very modest chess (FIDE) rating of about 1650, mainly based on games played in Chile, and have a hard time defending that rating in Norway where, for some reason, elo points are harder to get. Dont know why! At the elite level, of course, there is sufficient flow of information so this sthings should nmot occur, but not on amatour levels. ratings.fide.com/card.phtml?event=1512919 $\endgroup$ Commented Nov 27, 2017 at 16:29
  • 1
    $\begingroup$ Thanks @kjetilbhalvorsen (+1) - I guess in my mind I was thinking about a graph algorithm that represents the play history of the entire game. Each node in the graph represents a unique player. Every edge on the graph represents a distinct game (hence the same two nodes can have multiple edges between them if the same 2 players have played each other multiple times)... $\endgroup$
    – smeeb
    Commented Nov 27, 2017 at 17:52
  • 1
    $\begingroup$ Then, every time a new game is played, some type of adjustment ripples out over the entire graph. So in my example above, after the Greenland champion loses his first match to the first Australian, his rating goes down...but so does the rating for every other player in the isolated "Greenland pocket", etc. So as the Greenland champion's rating converges at 1330 (the more Australians he plays) all the other Greenlander's ratings go down at the same/appropriate rate as well. $\endgroup$
    – smeeb
    Commented Nov 27, 2017 at 17:54
  • $\begingroup$ Could one create something initial using internet play or some other international competition (is there e.g. something like a World Championship?)? One could keep the relative strengths of players secret until they get calibrated by, let's say, 6 games versus people that have a rating already. No idea whether that's feasible. $\endgroup$
    – Björn
    Commented Nov 29, 2017 at 15:52

1 Answer 1


Maybe something can be done. As I said in the comment, if there is no communication, there can be no flow of information, so nothing can be done. But, then, at some point in time some communication starts, that is, some players from region A starts to play some from region B. Then, maybe an hierarchical Bayesian formulation can be made.

Represent all the players as a large graph (graph theory sense), with nodes (players) connected once per game. So this is a multigraph, where each arch represents a game played. Then you can run some community detection algorithm to detect regions or comunities. So, assign each player to a community. Extend the elo model with one additive parameter per region. At start this regional parameters are zero. When games are played with players from the same region, there will be no information on regional parameters, so this wil simply be kept fixed at present values, or, if you want, with delta functions as priors. But, when a game is played with players from regions A and B, say, there will be information on $\theta_A - \theta_B$, so in this case you will have a real prior on this difference. First time this occurs, this prior woukd be non-informative, or at least with a very large variance.

Such a model would give the effect you describe in your post: "Essentially I'm wondering if there's a way for ratings to "ripple throughout a pocket/isolated group" anytime this cross-pollination does occur." I wil not try now to formulate such a model, but it should be doable, and maybe not to difficult. If something is already done, I do not know, but I am sure that such a kind of hierarchical bayes is the way to go. Oh, the model I described assumes region diferences is a constant. In practice, I guess it would be rating-level dependent, with small differences at the top of the scale (where there in practice will be more communication). So maybe extend with a straight line model for each region.

  • 1
    $\begingroup$ That makes sense, I think, but you get the "problem" - or perhaps it's a feature, but likely something people would dislike - that your rating could be massively adjusted, just because someone from your country finally played someone from another country and did badly (relative to the Elo rating differences). The ideal starting point would be to start with some global set that trickles done. This is essentially what was done for Elo, where it started with people geting ratings that were doing international tournaments and then everyone else derived theirs from those ratings. $\endgroup$
    – Björn
    Commented Nov 29, 2017 at 15:50
  • $\begingroup$ @Björn: Yes, but what he is asking for cannot be done without such effect! So its a feature ... If that is a good idea to use in practice, I do not know. $\endgroup$ Commented Nov 29, 2017 at 16:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.