FICS - Free Internet Chess Server
Help
FICS
8708 31ST Ave N
New Hope
Mn 55427
glicko

       +-------------------------------------------------+
       |   Vek-splanation of the Glicko Ratings System   |
       +-------------------------------------------------+

As you may have noticed, each FICS player now has a rating and an RD.  
 
RD stands for "ratings deviation".

WHY A NEW SYSTEM
----------------

The new system with the RD improves upon the binary categorization that was
used before on fics and elsewhere, where players with fewer than 20 games
were labeled "provisional" and others were labeled "established". Instead of
two separate ratings formulas for the two categories, there is now a single
formula incorporating the two ratings and the two RD's to find the ratings
changes for you and your opponent after a game.

WHAT RD REPRESENTS
------------------

The Ratings Deviation is used to measure how much a player's current rating
should be trusted. A high RD indicates that the player may not be competing
frequently or that the player has not played very many games yet at the
current rating level. A low RD indicates that the player's rating is fairly
well established. This is described in more detail below under "RD
Interpretation".

HOW RD AFFECTS RATINGS CHANGES
------------------------------

In general, if your RD is high, then your rating will change a lot each time
you play. As it gets smaller, the ratings change per game will go down.
However, your opponent's RD will have the opposite effect, to a smaller
extent: if his RD is high, then your ratings change will be somewhat smaller
than it would be otherwise.

A FURTHER USE OF RD'S
---------------------

Vek asked Mark Glickman the following:

> Given player one with rating r1, error s1,
> and player two with r2 and s2, do you have a formula for the probability
> that player 1's "true" rating is greater than player 2's ?

Mark said:
 
  Yes - it's:
 
  1/(1 + 10^(-(r1-r2)f(sqrt(s1^2 + s2^2))/400) )
 
  where f(s) is [the function applied to RD in Step 2 below].

HOW RD IS UPDATED
-----------------

In this system, the RD will decrease somewhat each time you play a game,
because when you play more games there is a stronger basis for concluding
what your rating should be. However, if you go for a long time without
playing any games, your RD will increase to reflect the increased 
uncertainty in your rating due to the passage of time. Also, your RD will
decrease more if your opponent's rating is similar to yours, and decrease
less your opponent's rating is much different.

WHY RATINGS CHANGES AREN'T BALANCED
-----------------------------------

In the other system, except for provisional games, the ratings changes for
the two players in a game would balance each other out - if A wins 16 points,
B loses 16 points. That is not the case with this system. Here is the
explanation I received from Mark Glickman:

  The system does not conserve rating points - and with good
  reason!  Suppose two players both have ratings of 1700,
  except one has not played in awhile and the other playing
  constantly.  In the former case, the player's rating is not
  a reliable measure while in the latter case the rating is a fairly
  reliable measure.  Let's say the player with the uncertain rating
  defeats the player with the precisely measured rating.
  Then I would claim that the player with the imprecisely
  measured rating should have his rating increase a fair
  amount (because we have learned something informative from
  defeating a player with a precisely measured ability) and
  the player with the precise rating should have his rating
  decrease by a very small amount (because losing to a player
  with an imprecise rating contains little information).
  That's the intuitive gist of my extension to the Elo system.    
 
  On average, the system will stay roughly constant (by the
  law of large numbers).  In other words, the above scenario
  in the long run should occur just as often with the 
  imprecisely rated player losing.

MATHEMATICAL INTERPRETATION OF RD
---------------------------------

Direct from Mark Glickman:

Each player can be characterized as having a true (but unknown) rating that
may be thought of as the player's average ability. We never get to know that
value, partly because we only observe a finite number of games, but also
because that true rating changes over time as a player's ability changes. But
we can *estimate* the unknown rating. Rather than restrict oneself to a
single estimate of the true rating, we can describe our estimate as an
*interval* of plausible values. The interval is wider if we are less sure
about the player's unknown true rating, and the interval is narrower if we
are more sure about the unknown rating. The RD quantifies the uncertainty in
terms of probability:

 o The interval formed by Current rating +/- RD contains your true rating
   with probability of about 0.67.

 o The interval formed by Current rating +/- 2 * RD contains your true rating
   with probability of about 0.95.

 o The interval formed by Current rating +/- 3 * RD contains your true rating
   with probability of about 0.997. item For those of you who know something
   about statistics, these are not confidence intervals, but are called
   "central posterior intervals" because the derivation came from a
   "Bayesian" analysis of the problem.

These numbers are found from the cumulative distribution function of the
normal distribution with mean = current rating, and standard deviation = RD.
For example, CDF[ N[1600,50], 1550 ] = .159  approximately (that's shorthand
Mathematica notation.)

THE FORMULAS
------------

Algorithm to calculate ratings change for a game against a given opponent:

 1. Before a game, calculate initial rating and RD for each player.

     o If no games yet, initial rating assumed to be 1720. Otherwise, use
       existing rating. (The 1720 is not printed out, however.)
     o If no RD yet, initial RD assumed to be 350 if you have no games, or 70
       if your rating is carried over from ICC. Otherwise, calculate new RD,
       based on the RD that was obtained after the most recent game played,
       and on the amount of time (t) that has passed since that game, as
       follows:
       RD' = Sqrt(RD^2 + ct)
       where c is a numerical constant chosen so that predictions made
       according to the ratings from this system will be approximately
       optimal.

 2. Calculate the "attenuating factor" for use in later steps.

               For normal chess, this is given by
                           f =  1/Sqrt(1 + p RD^2)
      
               Here, RD is your opponent's RD, and p is the constant
                                  3 (ln 10)^2
                            p =  -------------
                                  Pi^2 400^2   .
      
               For bughouse, we use
                   f =  1/Sqrt(1 + p (RD1^2 + RD2^2 + RD3^2))
               where RD1, RD2 and RD3 are the RD's of the other three
               players involved in the game, and p is given by
                                  3 (ln 10)^2
                            p =  -------------
                                  Pi^2 800^2   .
      
               Note that this is between 0 and 1 - if RD is very big,
               then f will be closer to 0.

 3. r1 <- your rating,

      r2 <- opponent's rating,
          (in bughouse, r1 is the average of your rating and your
          partner's rating, and r2 is the average of your opponents'
          ratings)
                    1
      E <-  ----------------------
                    -(r1-r2)*f/400     <- it has f(RD) in it!
              1 + 10
 
          This quantity E seems to be treated kind of like a probability.

 4. BEGIN-PRE

                   K =               q*f
                       --------------------------------------
                        1/(RD)^2   +   q^2 * f^2 * E * (1-E)
          
                   where q is a mathematical constant:
                                q = (ln 10)/400 (normal chess),
                                q = (ln 10)/800 (bughouse).
                   NOTE: if K is less than 16, we use 16 instead.

 5. This is the K factor for the game, so

             Your new rating = (pregame rating) + K * (w - E)
    
             where w is 1 for a win, 0.5 for a draw, and 0 for a loss.

 6. Your new RD is calculated as

           RD' =                     1
                   -------------------------------------------------
                   Sqrt(    1/(RD)^2   +   q^2 * f^2 * E * (1-E)   )  . 

The same steps are done for your opponent.

FURTHER INFORMATION
-------------------

A PostScript file containing Mark Glickman's paper discussing this ratings
system may be obtained via ftp. The ftp site is hustat.harvard.edu, the
directory is /pub/glickman, and the file is called "glicko.ps". It is
available at http://hustat.harvard.edu/pub/glickman/glicko.ps.

CREDITS
-------

The Glicko Ratings System was invented by Mark Glickman, Ph.D. who is
currently at Boston University. Vek and Hawk programmed and debugged the new
ratings calculations (we may still be debugging it). Helpful assistance was
given by Surf, and Shane fixed a heinous bug that Vek invented. Vek wrote
this helpfile and Mark Glickman made some essential corrections and
additions.

SEE ALSO
--------

rating rd

AUTHORS
-------

Created: 00 January 0000 vek/glickman
Last Modified: 28 February 2008 mhill

Login Now | Register | Download | Teaching Ladder | Events | Sponsors | Contact us | Links
Last modified: Sun Feb 11 14:27:58 GMT Standard Time 2007