I noticed that when the average rating for opponents is above 1, the performance ratings become “Not defined”. On the other hand your Glicko-2 calculator allows any average rating. Is this something you can change to allow calculation of performance rating with any range of average rating? Thanks.

Hi Jason. The main problem with calculation of average rating is when a player scores either 100% or 0% against the field. In these cases the classic formula for performance rating break down. The Glicko-2 Calculator has an unusual performance rating calculation based on the Glicko-2 formula and I think something similar could be worked out for Glicko-1 but neither formula probably means a great deal.

Hi,
I am looking at starting a chess club in our school, and hoping to set up some sort of a ranking system. What would I set the Rating, RD and Volatility at for new players (we will all be new players, rankings wise at least!) How often should I update rankings? After every game, or over an interval, say every two weeks.
Thanks,
Brendon

It depends on a lot of factors. For a small scale exercise I would recommend just using Glicko1 as there are less parameters to worry about. Basically you just have the factor c. Which is a measure of how quickly ratings become unreliable. In my glicko.xls spreadsheet this is set to 36.74… but if you are running new ratings every two weeks then you might find this is too high. But it is a matter of trying it out and seeing how it behaves.

Regarding initial data: you can give everyone an initial rating of 1500 and an initial RD of 350 you should find the rating will move to reasonable values after the first few rating periods if people are playing lots of games.

What the ACF does is wait until they have 9 rated games the first published rating is effectively the performance rating for that player for those first 9 games. However this may be more work than you want to do and so you might want to just add new players at 1500 RD 350 and see what happens.

Could you please make more room for the Glicko-1 Calculator as I have ran out of room to put my games that I haven’t put on for example there is only 31 spots to see what your ratings on. So can you put more room. And also, can you also put a key for descl, escl, space, quest and dquest. Thanks

I can add more lines but 30 seemed like enough for most people. Each line involves a certain amout of hard-coding so unfortunately it isn’t just a number somewhere that needs modifying. There is a little bit of work needed for each additional line.
The code for the RD factors are given on the auschess website

Symbol Explanation
!! Very reliable rating
! Reliable rating
Rating is unreliable
? Very unreliable
?? Extremely unreliable

I note that the March, 2013 ACF ratings have been loaded but, unless I’m doing something wrong, it seems to be applying the December, 2012 ratings instead. Can you please check this? I’m logged in but ‘look-up’ is giving me different ratings from what I know them to be.

Hi. This should now be fixed. If you have saved your games from the current period you should be able to load that and press the Lookup button for each player and it will update the ratings with the correct ones.
The problem was I updated the old database which was used by my previous nuke website rather than the wordpress one. Doh!

we have a small board and card gaming club in Sofia / Bulgaria and we would use your excel spreadsheet to calculate the ratings of our players. We play in a “head to head” player format and one rating period is in our case 6 weeks, we play every Saturday, 3 matches per day, totally around 18 matches each period. We have around 30 active players and the trend is increasing…My question is: which system/calculator should we use to get best possible results/ratings – Glicko-1 or Glicko-2 ??? In your answer to a previous comment, you say that for small number of players Glicko-1 is preferable, but we want to use FOR SURE the rating correction over time of the Glicko system. I’m not exactly sure, which one (of both) includes this “functionality” to correct automatically the players rating, if a player is inactive for a few months for example…? Initially we decided to use the Glicko system exactly because of this aspect of the formula, but now we have some problems trying to implement everything in your excel calculator. Would you be so kind to help us answering following questions (sorry for some questions, but we are total newbies on this field ðŸ™‚

1. Which parameter should be changed in the table to set the proper time period – in our case 6 weeks?
2. How can we observe the ratings change over time for inactive players?
3. I assume, that every player should have one own spreadsheet for one period, where we gonna fill all his outcomes against his opponents during one period!?
4. Every players gets an updated / new rating and RD after every single match he / she plays and this should be the value we fill in the new row of his next opponents table?
4. Should we start a new spreadsheet for every player after the period is over or we should use the same table for all future matches of the given player?
5. Unrated player will start with rating 1500 and RD 350 (in case of use of Glicko-2 Volatility = 0.06) – that’s clear, but what is exactly the parameter “c”, or “tau” in Glicko-2 case and what is the reasonable starting value for those parameters in our case?

Thank you in advance and have nice day! Greetings from Sofia – club Fantasmagorium.

Both Glicko-1 and -2 include an increasing uncertainty of ratings as a function of time. The main difference between them is that -2 tries to keep track of individual volatility whereas -1 assumes a more or less constant volatility for all competitors.

In answer to the numbered questions assuming we are talking about Glicko-1 (see the glicko.xls file)

1. The parameter you need to modify is c. The onset RD for a rating period is calculated as sqrt(RD^2+c^2). So the larger c is the more quickly the RD will increase with time.

2. The ratings will not change for inactive players but the RD will increase. Think of the RD as the confidence interval for the rating. So with an rating of 1500 and RD of 30 we are saying we have a confidence that the strength of the player is between 1470 – 1530. If that player becomes inactive the rating will still be 1500 but the RD might increase to 350 so to the same level of confidence we are rating that player as somewhere between 1150 – 1850.

3. The spreadsheet is one per player but not designed to run a rating system from them. I would recommend writing a script to do all of this programatically. Using the spreadsheet is possible, just a long of double entries.

4. I would start a new spreadsheet for all players at the beginning of each rating period. The result of the last rating period would go into the Previous Rating and Previous RD for each player.

5. c is the speed that ratings age or in other words how quickly our confidence level expands as a function of time for an inactive player. The value depends on you rating period and the general activity of your group of players. The default value (c^2 = 1350) might be ok or possible a little high if you are using 6 week rating periods. You might need to experiment with values until you get one that works well.

In the Glicko spreadsheet, in the outcome (S) column, should we group an opponent’s games together in a row if played more than once in the period, or is the column just for 1, 0, and .5?

I would have a row for each game. Note that if you have two rows with the same rating and RD with S values of 1 and 1, then you get a different result than one row with an S value of 2.

I notice that the calculation of “E” values in column H are made using the following formula (i.e. for line 8, excluding if condition):
(1+EXP(G8*(E8-mu)))^-1

However, considering the explanation provided in the PDF, it should be:
(1+EXP(-G8*($F$1-E8)))^-1

So I guess you are talking about the glicko2 calculation in excel. If so then I don’t your equation is really any different.

Firstly when you say $F$1 I assume you mean $C$1. $F$1 is the new rating and E cannot depend on the new rating since that would be circular. So $C$1 is what I label as mu and if you make that change and then take your leading minus sign unto the parentheses you get exactly the original formula from the spreadsheet.

I hope this answers the question. If I have misunderstood your question or you are referring to a different file, please let me know.

It depends on the specifics of the sport in question but you might not need to make any changes at all. If you are talking about Glicko-1 then it is the aging of ratings over the period of a single rating period which is the main thing to get right. Tune this parameter (c squared) to make the system more or less sensitive to recent results.

I would like to adapt Glicko-2 for a multi-player game. Sometimes 3 play, normally 4, sometimes 5 or 6. I tested the idea of giving a game winner the equivalent of a win for each opponent, but this seemed too volatile and inaccurate. Do you have a suggestion? Many thanks.

I am starting a very small golf league and would like to use the Glicko rating system. The league would have around 10 players who would be allowed to challenge one another. Some players may play as little as 5 matches in the course of a year, others as many as 20. I would like to update each players ratings immediately after each match. What parameters do you suggest for the rating system?

Also, I believe the Elo and Glicko systems only factor in wether you win, lose or draw, in determining the rating change (RD aside) but do not take into account how badly you were beaten or how narrow a victory you might have had. Since golf is a score game, I was wondering if it would be possible to include a factor in the computation that takes into account the score difference as well as the actual result of the match. This way, a major win or loss would produce a bigger rating change than a one point win or loss, all other things being equal. Thank you.

Sorry for the delayed reply but I’ve been working on other things and only came back to process the next rating list (ACF issues lists every 3 months).

Regarding your golf issue aren’t players basically competing against the course? So the question of rating is taken care of by a handicap which is basically a weighted average of strokes to complete a course measured against the course’s notional par score.

If there is some degree of comparison between players then you can use a pair-wise rating system like Elo or Glicko. I would recommend Elo to begin with as it is simpler to implement. In chess the score is either 1 1/2 or 0 for win, draw or loss. With your golf scenario provided you can express the results as a number between zero and one then just use that number in all the calculations and it should still “work”. So 0 is the worst sort of loss and 1 is the best sort of win and all numbers 0 < x < 1 represent something in between. The main thing to ensure is that if X plays Y and X scores say 0 < z < 1 then the corresponding score for Y is 1 - z. The important thing as that the two scores sum to one.

Hey Barry! I wanted to see how Glicko 2 works in a practical example and your calculator is just the thing I was looking for, so thank you for your work!

I have a few questions however, and sorry if they’re answered above, I tried looking through the posts above before posting to see if I’d find anything relevant there.

What are the “offset” and “factor” values I’m seeing through the formulas? Are those constants I need to set myself? Do they have a standard value?

The scaling offset and factor are standard constants that you don;t need to worry about if you are dealing with chess ratings. Offset is the mean rating which for chess Elo scaled ratings is 1500. The factor is related to the distribution and set to 400/ln(10). I hope this answers the questions

Hi again. I spotted the trouble which was affected Software downloads. I think this has been an issue since the server rebuild at the end of September. Anyway, those links should be working again. If you spot anything else, please let me know.

Pingback: Site replacement complete | Barry's Website

I noticed that when the average rating for opponents is above 1, the performance ratings become “Not defined”. On the other hand your Glicko-2 calculator allows any average rating. Is this something you can change to allow calculation of performance rating with any range of average rating? Thanks.

Hi Jason. The main problem with calculation of average rating is when a player scores either 100% or 0% against the field. In these cases the classic formula for performance rating break down. The Glicko-2 Calculator has an unusual performance rating calculation based on the Glicko-2 formula and I think something similar could be worked out for Glicko-1 but neither formula probably means a great deal.

Hi,

I am looking at starting a chess club in our school, and hoping to set up some sort of a ranking system. What would I set the Rating, RD and Volatility at for new players (we will all be new players, rankings wise at least!) How often should I update rankings? After every game, or over an interval, say every two weeks.

Thanks,

Brendon

Hi Brendon

It depends on a lot of factors. For a small scale exercise I would recommend just using Glicko1 as there are less parameters to worry about. Basically you just have the factor c. Which is a measure of how quickly ratings become unreliable. In my glicko.xls spreadsheet this is set to 36.74… but if you are running new ratings every two weeks then you might find this is too high. But it is a matter of trying it out and seeing how it behaves.

Regarding initial data: you can give everyone an initial rating of 1500 and an initial RD of 350 you should find the rating will move to reasonable values after the first few rating periods if people are playing lots of games.

What the ACF does is wait until they have 9 rated games the first published rating is effectively the performance rating for that player for those first 9 games. However this may be more work than you want to do and so you might want to just add new players at 1500 RD 350 and see what happens.

Hope this helps.

Could you please make more room for the Glicko-1 Calculator as I have ran out of room to put my games that I haven’t put on for example there is only 31 spots to see what your ratings on. So can you put more room. And also, can you also put a key for descl, escl, space, quest and dquest. Thanks

I can add more lines but 30 seemed like enough for most people. Each line involves a certain amout of hard-coding so unfortunately it isn’t just a number somewhere that needs modifying. There is a little bit of work needed for each additional line.

The code for the RD factors are given on the auschess website

Symbol Explanation

!! Very reliable rating

! Reliable rating

Rating is unreliable

? Very unreliable

?? Extremely unreliable

Hope this helps.

Hi Barry,

I note that the March, 2013 ACF ratings have been loaded but, unless I’m doing something wrong, it seems to be applying the December, 2012 ratings instead. Can you please check this? I’m logged in but ‘look-up’ is giving me different ratings from what I know them to be.

Kind regards,

Raelene

Thanks Raelene.

It appears that you are correct. I’ll have to look at my update process to see what went wrong. When I have it fixed I’ll post in this thread again.

Cheers, Barry

Hi. This should now be fixed. If you have saved your games from the current period you should be able to load that and press the Lookup button for each player and it will update the ratings with the correct ones.

The problem was I updated the old database which was used by my previous nuke website rather than the wordpress one. Doh!

Hi Barry,

we have a small board and card gaming club in Sofia / Bulgaria and we would use your excel spreadsheet to calculate the ratings of our players. We play in a “head to head” player format and one rating period is in our case 6 weeks, we play every Saturday, 3 matches per day, totally around 18 matches each period. We have around 30 active players and the trend is increasing…My question is: which system/calculator should we use to get best possible results/ratings – Glicko-1 or Glicko-2 ??? In your answer to a previous comment, you say that for small number of players Glicko-1 is preferable, but we want to use FOR SURE the rating correction over time of the Glicko system. I’m not exactly sure, which one (of both) includes this “functionality” to correct automatically the players rating, if a player is inactive for a few months for example…? Initially we decided to use the Glicko system exactly because of this aspect of the formula, but now we have some problems trying to implement everything in your excel calculator. Would you be so kind to help us answering following questions (sorry for some questions, but we are total newbies on this field ðŸ™‚

1. Which parameter should be changed in the table to set the proper time period – in our case 6 weeks?

2. How can we observe the ratings change over time for inactive players?

3. I assume, that every player should have one own spreadsheet for one period, where we gonna fill all his outcomes against his opponents during one period!?

4. Every players gets an updated / new rating and RD after every single match he / she plays and this should be the value we fill in the new row of his next opponents table?

4. Should we start a new spreadsheet for every player after the period is over or we should use the same table for all future matches of the given player?

5. Unrated player will start with rating 1500 and RD 350 (in case of use of Glicko-2 Volatility = 0.06) – that’s clear, but what is exactly the parameter “c”, or “tau” in Glicko-2 case and what is the reasonable starting value for those parameters in our case?

Thank you in advance and have nice day! Greetings from Sofia – club Fantasmagorium.

I’ll try to answer your questions as best I can.

Both Glicko-1 and -2 include an increasing uncertainty of ratings as a function of time. The main difference between them is that -2 tries to keep track of individual volatility whereas -1 assumes a more or less constant volatility for all competitors.

In answer to the numbered questions assuming we are talking about Glicko-1 (see the glicko.xls file)

1. The parameter you need to modify is c. The onset RD for a rating period is calculated as sqrt(RD^2+c^2). So the larger c is the more quickly the RD will increase with time.

2. The ratings will not change for inactive players but the RD will increase. Think of the RD as the confidence interval for the rating. So with an rating of 1500 and RD of 30 we are saying we have a confidence that the strength of the player is between 1470 – 1530. If that player becomes inactive the rating will still be 1500 but the RD might increase to 350 so to the same level of confidence we are rating that player as somewhere between 1150 – 1850.

3. The spreadsheet is one per player but not designed to run a rating system from them. I would recommend writing a script to do all of this programatically. Using the spreadsheet is possible, just a long of double entries.

4. I would start a new spreadsheet for all players at the beginning of each rating period. The result of the last rating period would go into the Previous Rating and Previous RD for each player.

5. c is the speed that ratings age or in other words how quickly our confidence level expands as a function of time for an inactive player. The value depends on you rating period and the general activity of your group of players. The default value (c^2 = 1350) might be ok or possible a little high if you are using 6 week rating periods. You might need to experiment with values until you get one that works well.

In the Glicko spreadsheet, in the outcome (S) column, should we group an opponent’s games together in a row if played more than once in the period, or is the column just for 1, 0, and .5?

I would have a row for each game. Note that if you have two rows with the same rating and RD with S values of 1 and 1, then you get a different result than one row with an S value of 2.

I notice that the calculation of “E” values in column H are made using the following formula (i.e. for line 8, excluding if condition):

(1+EXP(G8*(E8-mu)))^-1

However, considering the explanation provided in the PDF, it should be:

(1+EXP(-G8*($F$1-E8)))^-1

What do you think about it?

So I guess you are talking about the glicko2 calculation in excel. If so then I don’t your equation is really any different.

Firstly when you say $F$1 I assume you mean $C$1. $F$1 is the new rating and E cannot depend on the new rating since that would be circular. So $C$1 is what I label as mu and if you make that change and then take your leading minus sign unto the parentheses you get exactly the original formula from the spreadsheet.

I hope this answers the question. If I have misunderstood your question or you are referring to a different file, please let me know.

If I’m using the file in a non-chess related setting (instead to rank players in another sport), how would you recommend adjusting the file?

Hi Sarah

It depends on the specifics of the sport in question but you might not need to make any changes at all. If you are talking about Glicko-1 then it is the aging of ratings over the period of a single rating period which is the main thing to get right. Tune this parameter (c squared) to make the system more or less sensitive to recent results.

Cheers, Barry

I would like to adapt Glicko-2 for a multi-player game. Sometimes 3 play, normally 4, sometimes 5 or 6. I tested the idea of giving a game winner the equivalent of a win for each opponent, but this seemed too volatile and inaccurate. Do you have a suggestion? Many thanks.

Clarification: there is one winner per game.

Hi Eric,

I would recommend a system designed for multiplayer games. Elo and Glicko are designed for two player games.

One multiplayer rating system is TrueSkill. You can find out more about it here…

http://research.microsoft.com/pubs/67956/NIPS2006_0688.pdf

Hope this helps, Barry

I am starting a very small golf league and would like to use the Glicko rating system. The league would have around 10 players who would be allowed to challenge one another. Some players may play as little as 5 matches in the course of a year, others as many as 20. I would like to update each players ratings immediately after each match. What parameters do you suggest for the rating system?

Also, I believe the Elo and Glicko systems only factor in wether you win, lose or draw, in determining the rating change (RD aside) but do not take into account how badly you were beaten or how narrow a victory you might have had. Since golf is a score game, I was wondering if it would be possible to include a factor in the computation that takes into account the score difference as well as the actual result of the match. This way, a major win or loss would produce a bigger rating change than a one point win or loss, all other things being equal. Thank you.

Hi Phil

Sorry for the delayed reply but I’ve been working on other things and only came back to process the next rating list (ACF issues lists every 3 months).

Regarding your golf issue aren’t players basically competing against the course? So the question of rating is taken care of by a handicap which is basically a weighted average of strokes to complete a course measured against the course’s notional par score.

If there is some degree of comparison between players then you can use a pair-wise rating system like Elo or Glicko. I would recommend Elo to begin with as it is simpler to implement. In chess the score is either 1 1/2 or 0 for win, draw or loss. With your golf scenario provided you can express the results as a number between zero and one then just use that number in all the calculations and it should still “work”. So 0 is the worst sort of loss and 1 is the best sort of win and all numbers 0 < x < 1 represent something in between. The main thing to ensure is that if X plays Y and X scores say 0 < z < 1 then the corresponding score for Y is 1 - z. The important thing as that the two scores sum to one.

Just to say Thanks, this Elo Calc is going to be a great help to me. Tom

You’re welcome.

Hey Barry! I wanted to see how Glicko 2 works in a practical example and your calculator is just the thing I was looking for, so thank you for your work!

I have a few questions however, and sorry if they’re answered above, I tried looking through the posts above before posting to see if I’d find anything relevant there.

What are the “offset” and “factor” values I’m seeing through the formulas? Are those constants I need to set myself? Do they have a standard value?

Thanks!

Hi Alex

The scaling offset and factor are standard constants that you don;t need to worry about if you are dealing with chess ratings. Offset is the mean rating which for chess Elo scaled ratings is 1500. The factor is related to the distribution and set to 400/ln(10). I hope this answers the questions

Cheers, Barry

Hello Barry the download links do not work. Can you please fix? Thanks

Hi, which links don’t work? Do you get any messages?

Hi again. I spotted the trouble which was affected Software downloads. I think this has been an issue since the server rebuild at the end of September. Anyway, those links should be working again. If you spot anything else, please let me know.