Leaderboard by elo?

Is there somewhere we can see top ranked players? I have been discovering all the fab AI engines on OGS and suddenly realised no way of seeing overall rankings. Is that deliberate?


Not as far as I know.

No… (not yet)

…it’s something that’s been (quietly, in case it gets sniped) on my shortlist of projects I’m interested in… but I haven’t gotten to it yet. I’d also like to see a rating based leaderboard :slight_smile:

Now that it has been externally requested, I’ll go on record saying that if any of the other volunteer devs want to work on this I’m totally fine with it (I had my chance) :wink: and I’d rather this exist than anyone hold back thinking I’m likely to start it soon (which I probably won’t). :slight_smile:


How hard do you think it would be to put a live (or semi-live - maybe updating every 24hrs or so) version of this up on the main site?

1 Like

At the moment there is no API call we can use to create a player list sorted by rating (afaik).
There are several ways to go:

  1. https://online-go.com/api/v1/players/ has fields for rating, but they are neither filterable nor sortable. Making it both would make a leaderboard possible. I’m not sure how easy it is, since completely unranked players have a null entry (not a 1500±350).

    As a side not. This API request was sortable for some entries in the past, but isn’t sortable at all for a while now. So the load on the backend would probably be to high on this approach.

  2. You can either hard code the list and get anoek to merge and push your update every day, or to hard code the top 100 and then let the frontend pull their ratings and create a top 10 out of it. Both need regularly manual work and will therefor not happen :wink:

  3. The backend could maintain the list itself. This requires some days of backend development.

The frontend stuff should be relatively easy. Just do it like the ladder view and you should have an endless leaderboard.

1 Like

There are multiple challenges when creating a rating leaderboard:

  1. Glicko ratings are relatively unstable. Even for stable players we have deviations of ~100. To try to order ratings which are within 1 deviation is far stretched. At a separation of one std the probability of ordering 2 players wrong due to incorrect ratings is about 24%. For ratings within 20 points it’s like a coin flip to be the better ranked player. The ratings of multiple players are close enough to each other that one or two games are enough to change the relative positions of two players and is therefor unstable. The linked list contains multiple players with really close ratings.

    At least for casual users, game servers usually do some tricks to make rankings look more stable than they are, while maintaining a sense of fluidity at the same time. See the link in Improved OGS rank histogram (25k as the lowest rank discussion) for example.

  2. We probably want to restrict the list to recently active players, what ever this means. Probably drop players from the list if they don’t play ranked games for a while.

  3. Such a list will increase the incentive to some people to create accounts with artificially increased ratings. This will probably be some inconvenience the moderation team would have to deal with.


I agree the list has risks, eg making it matter more than it should to some players. In turn that means the statistical weirdnesses become significant. I don’t know how it is worked out but seems possible to have a top level summary elo way higher than any individual one in grid.

I was curious about this in context of bots. May be more niche, but avoids the politics of players trying to storm the ratings, play using AI support on the side etc.

I guess in terms of leaderboards for people tournaments are a better solution.

I like the idea of having 3 leaderboards:

  1. complete list of pro accounts on our server, order random
  2. top 100 rating list for players (casually monitored to detect cheaters)
  3. top 20 rating list for AI
    3a. maybe separate lists also for most games played by AI and maybe even most games played by human…
1 Like

You can get the pro accounts with https://online-go.com/api/v1/players/?professional=true&page_size=100


Saint :heart:

  • 24 known professional player accounts
  • Only 10 have played ranked games
  • Total of 88 ranked games played by pros

Is it also possible to similarly fetch a list of the bot accounts?

1 Like



Well I suppose it’s because people *cough* will mass request the api to get their site ranking xD

I think it should be natively supported by the server though, it promote a sense of competitiveness.

Thus my suggestion that maybe it has a fixed update period such as daily / hourly / minutely depending on acceptable server load so that fetching the page is no more taxing than any other page we host.


I believe Lichess handles inactive players on the leaderboards by having ranks expire and become (?) after a while.

I like their leaderboard system. On the homepage you get a quick overview of top active players in each time setting/variant, plus a grey/green dot for if they are online. Then on clicking ‘more’ you get a bigger list for each category, plus a long list of ‘Top online players’, which would be a great feature when OGS gets its ‘Follow’ button. I’m not sure how they choose between their different time variants for that list, but it would be easier for OGS with its overall rank.

Tournament leaderboards are on a separate list, and break down into ‘Yearly’, ‘Monthly’, ‘Weekly’ and ‘Daily’ top winners. There’s also a shorter overview of it on the homepage, which I think does a great job to incentivise tournament participation.