How they work

The South African Go Clubs Rating System

Table of Contents

Short background

The rating system used by the SA Go Clubs website was first coded by David Richfield to be an on-line rating system for SAGA. However, SAGA already had a different system for maintaining their ranks, so the system was never adopted on a major scale, except by the Stellenbosch Club, where David was a member. When Cape Town started getting a bit more active, they were incorporated onto the system as well. In September 2005 Johannesburg and Pretoria also joined the rating system, and it was renamed to the “South African Go Clubs (SAGC) ranking system”.

The system attempts to emulate the SAGA ranking system, but differences still exist, so the ranks are periodically synchronized with the SAGA ranks when they become available. (Apparently, SAGA has recently taken an official policy decision to merge the SAGA and SAGC ranks. This should happen “soon”.)

What rank do I use at my Club and Club Tournaments?

The SAGC rank.

How do I get a SAGC rank?

Come to the club, play a game, and then record it. Your name and rank will be added onto the system. Your current SAGA rank will be your point of departure.

My SAGC rank doesn’t look right, what gives?

The more games you play and record, the quicker your rank will stabilise. Please be patient.

How are games entered into the system?

First you play a game at the Club or at a Club tournament. Then you record the game (I’ve always found the best way to do this is for the winner to fill out the record sheet and get the loser to sign immediately after the game has finished. No one will take offence at this, and it will ensure that your wins get recorded). A volunteer or committee member at the Club will then enter the games into the system via the website. You can then verify that the details are correct by visiting the site and checking the log-file. It is up to you to have a look every so often.

I played, but my index hasn’t been updated?

It can take a few days, or even up to a week for the games to be entered. Please be patient.

My last updated date has gone backwards: what’s happened?

Sometimes old games are entered out-of-order, the last-updated column is actually only the date of the most recently added game, not necessarily the most recently played.

What about participation points for the WAGC? I don’t see any.

Participation points are SAGA function, not a SAGC function. SAGA will be able to get your game records from the site to enter into its ranking system.

What’s this about free games?

The games on the SAGC system have three weightings. Free or teaching games get a weight of 0 (no points are awarded for these games), normal club games get a factor of 1, and tournament games get a factor 1.5. It is assumed, unless otherwise noted on the sheet, that all the games on the record sheet are normal games.

Note that in the SAGC ranking system, free games do have an effect on index adjustments through the opponent factor. See that paragraph for an explanation. This is not the case with SAGA ranks, as free games are not entered into their system at all.

Are the SAGC ranking algorithms the same as SAGA’s?

No. SAGC uses a slightly simpler algorithm, which was created by David Richfield.

How does the system work?

Every player has a rank (minimum 30 kyu), and an index which ranges between +999 and -999. Winning games causes the index to increase, and losing games causes it to decrease. If it goes past +999, the index is reset to zero, and the players’ rank is improved by one rank. Similarly, if it goes past -999, the index is reset and the player demoted by one rank.

What restrictions are in place with regards to demotions?

A player at 30 kyu cannot be demoted. His index is limited to a maximum negative value of -999. (It is never allowed past -999, so he/she will never be demoted to 31 kyu.)

Numerous other demotion restrictions are in place, ensuring that players need to lose a certain number of games before being demoted. This effect is more pronounced at the weaker ranks. This table shows the minimum number of lost games required before a player may be demoted:

Rank Minimum lost games for demotion
25k-29k 6
20k-24k 5
10k-19k 4
5k-9k 3
dan-4k 2

This is implemented as follows: if a player has non-negative index points, his index points will not be allowed to pass below -800, -850, -900, -950 or -999 on losing a game, for each of the categories above, respectively. Thereafter, his/her index points will not be allowed to pass a “50-mark” without first stopping somewhere within those 50 points.

Consider an 11k for example. With non-negative index points, with the first loss making his/her index points negative, he/she will still be in the -1 to -900 range (a huge loss can only drop him/her to -900). If such a player loses while within the -1 to -900 range, his/her index points will not be allowed to pass the -950 mark. A loss while in the -901 to -950 range will not be allowed to pass the -999 mark. A loss while in the -951 to -999 range can result in a demotion. (Hence, they may lose at least three times, only on the fourth loss can they possibly be demoted.)

What are the columns in my record sheet?

The record sheet format was modified on 16 July 2004, so records from before that won’t match this description, but here goes:

Column # Explanation
1 Opponent’s username (same name indicates an adjustment)
2 Opponent’s rank
3 What colour the player took
4 Number of handicap stones
5 Komi (negative means komi awarded to Black)
6 Color of game winner
7 Game status factor (see below)
8 Change in index
9 New index
10 New rank
11 Date of game
12 Further comments

How do I calculate my index adjustment?

The basic formula for the change in index of a player after a game is: Level Factor X Game Status Factor X Opponent Factor X Game Result Factor X Handicap Factor

The Level Factor

The Level Factor depends on the players’ rank, and is calculated from the following polynomial:

x = “number of stones weaker than a 7-dan” (for 10k: x=16, 1k: x=7, 1d: x=6)
Level Factor = x^2 + 1.5x + 55 + x^5/30000

The x^5 is probably to ensure volatility at high ranks. The value for the level factor for few selected ranks are given below:

Rank Level Factor
3d 77
1k 115
4k 173
7k 256
10k 370
14k 592
18k 932
22k 1455

If you are stronger than 7-dan, x in the level factor is set to 0.

The Game Status Factor

The Game Status Factor is usually 1 for most club games, but tournament games have a factor of 1.5 and internet games have a factor of 0.5. Free games, typically blitz or teaching games, have a game status factor of 0, so don’t affect the player’s index.

The Opponent Factor

The Opponent Factor is calculated as follows: for each time the player has played the current opponent in his previous ten games, subtract 0.1 from 1. The resulting value, with a minimum of 0.1, is the opponent factor. The theory behind this is, if you only play a few people, you learn how they play, and possibly get stronger against them, but not overall. The opposite also applies. If you have only been playing one person, your game results will not be as good an indication of your true rank, and the adjustment will be smaller.

In the SAGC ranking system (unlike the SAGA ranking system which ignores free games completely), free games are included in the calculation of the “opponent factor”. Note that this means you can, for example, increase your opponent factor against people you play regularly, by playing free games against other people (for example, people more than 9 stones stronger or weaker than you, that you don’t like to play rated games against).

The Game Result Factor

Finally, the Game Result Factor: this is looked up from the table given below. The value of this factor depens upon whether you have a positive or zero index (promotion zone, on your way to being promoted) or a negative index (demotion zone). For games played on the correct handicap (a Rank/Handicap differential of 0), this factor lies between -1.17 (for a loss when the player has a positive index), and 1.4 (for a win, when the player has a negative index). Clearly, negative values are used here for the player that loses (they lose index points), and positive values for the winner.

If you play a game with an incorrect handicap, these factors reflect the increased or decreased difficulty of achieving a victory. Consider the example where black has three handicap stones too many, black should win easily, and does not gain many index points when winning. Similarly, white is expected to lose, so does not lose many index points when losing (in fact, none, if he or she is in the demotion zone, so you cannot be demoted for losing a game that has 3 stones too many against you, or in which you have three stones too few if playing black). If black loses though, black is likely overranked, and loses many index points. Similarly, white is likely underranked, and gains many index points. Any game with a differential greater than 3, is treated like a game with a differential of 3.

The last thing to note, is the effect of the promotion/demotion zones. Generally, if you are in the demotion zone, you are considered weak for your rank, and therefore more expected to lose. If you win in the demotion zone, you therefore usually gain more index points than you would have for a victory in the promotion zone, and if you lose, you generally lose fewer index points than you would have in the promotion zone. The opposite is generally true for the promotion zone.

Promotion Zone Demotion Zone
Rank/Handi Differential Victory Defeat Victory Defeat
>+3 (harder game) 3.5 -0 3.5 -0
+3 3.5 -0.09 3.5 -0
+2 2.2 -0.47 2.2 -0.03
+1 1.5 -0.81 1.6 -0.28
0 1 -1.17 1.4 -0.6
-1 0.54 -1.44 0.7 -0.75
-2 0.13 -1.8 0.37 -1
-3 0.09 -2.7 0.12 -1.9
<-3 (easier game) 0 -2.7 0 -1.9

Lets take one more example. Suppose the weaker player takes two handicap stones too few, e.g. a 14k plays a 16k, but they decide to play a scratch game. In this case, the 14k player is playing an “easier” game than he should and is expected to win, and the 16k player black is playing a “harder” game. The 16k player will read his GRF from the +2 row, while the 14k will read his from the -2 row. So, for example, if the 14k player loses, his GRF will be -2 if he is in the promotion zone (has positive or zero index points), and -1.64 if he is in the demotion zone (has negative index points).

The Handicap Factor

The handicap factor is calculated by the formula (1 – 0.05*eff_handicap), with a minimum of 0.1 – so, for example, a 4-handicap game would have a handicap factor of 0.8, and an 8-handicap game, a factor of 0.6. The handicap calculation uses a formula which takes komi and the number of black stones played before White’s first turn into account in order to determine an effective handicap :
$eff_handicap = int($handicap - ($komi-6)/10);

This formula roughly means that every 10 points komi is considered equivalent to one handicap stone, and that scratch games count as 0 handicap.

A Complete Example

Coming soon. (Maybe this year.) If you want it sooner, leave a comment on the announcement to encourage me. (Helps to know there’s lots of interest.)

A Short 22k-30k Example

Also coming soon.

“I still don’t understand!”

Mail me where you are confused or if you have any questions to be added to the list above, or leave a comment, and I will try and make it clearer.