# Is there any software or web service for club-level Elo ratings?

Is there any software (or web-based service) that allows you to keep track of local, club-level Elo ratings?

These ratings would not have any connection with official Elo ratings, it would be just an Elo rating within the universe of players in a club (i.e. games in various social tournaments would compute for the rating).

• That's an interesting idea for a project. Commented Sep 25, 2012 at 21:19
• I did it by hand for our local club. Almost as easy as entering data into a program to do the work. Commented Jan 9, 2020 at 0:44

Even if it is not available, something like this is not too hard to implement yourself. Here is an example with extremely silly and simple rating system that is just meant to give you an idea. But I don't think that using actual Elo formula that much harder.

EDIT: I edit my implementation to use Elo formula (not including floors) given by the formula here

``````def get_exp_score_a(rating_a, rating_b):
return 1.0 /(1 + 10**((rating_b - rating_a)/400.0))

return rating + k * (score - exp_score)

class ChessPlayer(object):
def __init__(self, name, rating):
self.rating = rating
self.name = name
def match(self, other, result):

exp_score_a = get_exp_score_a(self.rating, other.rating)

if result == self.name:
other.rating = rating_adj(other.rating, 1 - exp_score_a, 0)
elif result == other.name:
other.rating = rating_adj(other.rating, 1 - exp_score_a, 1)
elif result == 'Draw':
other.rating = rating_adj(other.rating, 1 - exp_score_a, 0.5)
``````

This works as follows:

``````>>> bob = ChessPlayer('Bob', 1600)
>>> john = ChessPlayer('John', 1900)
>>> bob.rating
1600
>>> john.rating
1900
>>> bob.match(john, 'Bob')
>>> bob.rating
1627.1686541692377
>>> john.rating
1872.8313458307623
>>> mark = ChessPlayer('Mark', 2100)
>>> mark.match(bob, 'Draw')
>>> mark.rating
2085.974306956907
>>> bob.rating
1641.1943472123305
``````

Here is my original python implementation:

``````class ChessPlayer(object):
def __init__(self, name, rating):
self.rating = rating
self.name = name
def match(self, other, result):
if result == self.name:
self.rating += 10
other.rating -= 10
elif result == other.name:
self.rating += 10
other.rating -= 10
elif result == 'Draw':
pass
``````

This works as follows:

``````>>> bob = ChessPlayer('Bob', 1600)
>>> john = ChessPlayer('John', 1900)
>>> bob.match(john, 'Bob')
>>> bob.rating
1610
>>> john.rating
1890
>>> mark = ChessPlayer('Mark', 2100)
>>> mark.match(bob, 'Mark')
>>> mark.rating
2110
>>> bob.rating
1600
>>> mark.match(john, 'Draw')
>>> mark.rating
2110
>>> john.rating
1890
``````
• I think Elo is possibly just as simple as that. :) Commented Sep 25, 2012 at 21:17
• Nice. If the OP wanted to modify this with, say, the actual USCF rating algorithm, the mathematical details are available in Section 2 of this document: glicko.net/ratings/rating.system.pdf
– ETD
Commented Sep 25, 2012 at 21:32
• Thanks, but I got really curios and implemented the Elo formula myself :). Commented Sep 25, 2012 at 21:57
• For a small universe such as chess club, I think it is best that there are no floors, otherwise you would get soon inflation if very weak players play a lot.
– Pep
Commented Sep 26, 2012 at 11:52
• for local club ratings all the complexity of elo glicko whatever are just not going to add any real benefit Commented Jan 9, 2020 at 0:45

It seems that rankade, our ranking system for sports, games, and more, fits your needs.

It's free to use and it's designed to manage rankings (and stats, including matchup stats, and more) for small to large groups of players.

Rankade doesn't use Elo, but its algorithm (called ree algorithm), although more complex (here's a comparison between most known rating system, including Elo, Glicko and TrueSkill), is similar to Elo if you play 1-on-1 matches only.

• very cool webapp! Commented Dec 18, 2015 at 12:33
• I have tried it and it seems suits my needs; Simple, clean, can add players after a match has started. I would like to suggest that allow user to custom CSS. Just made available a textarea (or contenteditable div) for user to paste their CSS Commented Dec 18, 2019 at 8:52

I just downloaded and played around with a lightweight freeware item for Windows called ELORater that seems to provide what you're after. You can create a "group" for your club, and then add players to the group, along with whatever initial ratings you want them to have. Then you can just input the results of any games that get played and the program maintains an updated list of player ratings for you.

• is it still online? Commented Nov 4, 2015 at 10:57
• @Aubrey: A simple web search for "ELORater" sent me to this GitHub page: github.com/steelfire81/EloRater Commented Jul 7, 2023 at 12:25

The free Excel add-in Chess Ranking Assistant found at https://www.add-ins.com/free-products/chess-ranking-assistant.htm uses the glicko system and is menu driven for easy of use. It is designed for chess clubs

If anyone is still looking for something like this, I've build a fairly simple one here: https://github.com/richardadalton/EloRate

At the moment you'll have to host it yourself, but I may offer a hosted service in the future.

-Rd

I recently built https://sortmatch.ca to do this kind of thing. It uses Glicko2 instead of Elo, but the effect is roughly equivalent.

The Irish Chess Union has its rating web application fully released as Open Source and it's available on GitHub: https://github.com/ninkibah/icu_ratings_app

https://skillrank.games

Also allows ratings for team games where individuals change teams between games

http://elorankings.com

Allows you to create custom elo rankings and control certain parameters. Mostly used by video game communities but can be done to create rankings and manage elo ratings for anything. Very easy to use. Keeps complete match history and allows you to individually see a players history, W-L, and how their score changed per match. I use it for a smash tournament I run every week: http://elorankings.com/rankings.aspx?id=1

• Site seems to be down or not live anymore Commented Aug 3, 2018 at 6:11

Yeah sure, you can take a look at http://www.chessfiles.com/chess-software.html