The Chess Variant Pages



Game Courier Ratings for %

This file reads data on finished games and calculates Game Courier Ratings (GCR's) for each player. These will be most meaningful for single Chess variants, though they may be calculated across variants. This page is presently in development, and the method used is experimental. I may change the method in due time. How the method works is described below.

There may be a delay while it reads the database and calculates results.

Game Filter: Log Filter: Group Filter:
Tournament Filter: Age Filter: Status Filter:
SELECT * FROM FinishedGames WHERE Rated='on'

You are viewing ratings based on a wildcard that includes all Chess variants played on Game Courier. This is not as meaningful as ratings based on a single variant, which you may find in the Related menu for each preset.

Game Courier Ratings for %
Accuracy:69.40%69.05%68.49%
NameUseridGCRPercent wonGCR1GCR2
Hexa Sakkbosa601857136.5/151 = 90.40%18281887
Francis Fahystamandua1853247.0/298 = 82.89%18311874
dax00dax001828158.0/164 = 96.34%18231833
Kevin Paceypanther1799488.0/597 = 81.74%18091789
Carlos Cetinasissa1737631.5/986 = 64.05%17201754
Cameron Milesshatteredglass171215.0/17 = 88.24%17061717
Jochen Muellerleopold_stotch169855.0/92 = 59.78%16861710
H Spetyura168713.0/13 = 100.00%16791696
Gary Giffordpenswift168260.5/85 = 71.18%15771786
Play Testerplaytester167618.5/25 = 74.00%16791674
Fergus Dunihofergus167563.5/101 = 62.87%16681681
Jose Carrilloj_carrillo_vii166987.5/155 = 56.45%16701668
Tim O'Lenatim_olena164513.5/20 = 67.50%16521639
Daniel Zachariasarx1630116.0/199 = 58.29%16431618
David Paulowichdavid_64162511.0/13 = 84.62%16281622
Vitya Makovmakov3331625341.0/732 = 46.58%15751674
Stephen Williamsneph162411.0/12 = 91.67%15911657
shift2shiftshift2shift162011.0/19 = 57.89%16161624
Homo Simiaalienum16177.0/8 = 87.50%16101625
Charles Danielfrozen_methane161635.0/64 = 54.69%15861645
Vitya Makovmakov16127.5/8 = 93.75%16061618
Andreas Kaufmannandreas16077.0/7 = 100.00%16101605
Pericles Tesone de Souzaperitezz15888.0/8 = 100.00%15881588
ctzctz158012.0/17 = 70.59%15561604
kokoszkokosz15757.0/8 = 87.50%15601590
attack hippoattackhippo15755.5/7 = 78.57%15711579
Abdul-Rahman Sibahisibahi157516.0/23 = 69.57%15681582
Erik Lerougeerik1573140.5/260 = 54.04%16221524
je jujejujeju157336.5/60 = 60.83%15691577
Alexander Trotterqilin15704.0/4 = 100.00%15701570
Stephen Stockmanstevestockman156910.0/16 = 62.50%15741564
Jenard Cabilaomgawalangmagawa156711.0/23 = 47.83%15811554
TH6notath615667.0/12 = 58.33%15591574
John Gallantbigjohn156616.0/28 = 57.14%15571574
Raymond Dlewel156013.0/22 = 59.09%15761543
Isaac Felpsattacker14415585.0/6 = 83.33%15591557
Thor Slavenskyslavensky15555.0/7 = 71.43%15411569
Nicola Caridiniccar15543.0/3 = 100.00%15571550
Nicholas Wolffnwolff15539.0/15 = 60.00%15751532
Greg Strongmageofmaple1551105.0/216 = 48.61%16031499
Roberto Lavierirlavieri200315503.0/3 = 100.00%15441556
pallab basupallab154731.0/60 = 51.67%15361559
carlos carloscarlos154616.0/27 = 59.26%15231569
Christine Bagley-Joneszcherryz15462.5/4 = 62.50%15461545
S Ssim15436.0/9 = 66.67%15311554
michirmichir15412.0/2 = 100.00%15411541
Sandra#Paul BRANDLYARDsandravers13067515403.0/4 = 75.00%15391541
Nicholas Wolffmaeko153865.5/142 = 46.13%15511525
Tom e4ktome4k15362.0/2 = 100.00%15351536
Eric Greenwoodcavalier15344.0/6 = 66.67%15441524
Todd Witterstoddw15342.0/2 = 100.00%15331535
Neil Spargospargo15343.0/4 = 75.00%15261541
Julien Coll Moratfacteurix15312.0/3 = 66.67%15281534
Matthew Montchalinmatthew_montchal15313.0/4 = 75.00%15321530
Jake Palladinocerebralassassin15312.0/2 = 100.00%15281534
Joseph DiMurotrojh15291.0/1 = 100.00%15321526
Fred Koktangram15282.0/3 = 66.67%15301526
joe rosenbloombootzilla15282.0/3 = 66.67%15231533
Uwe Kreuzercaissus15272.0/2 = 100.00%15221533
Chuck Leegyw6t152617.5/39 = 44.87%15171535
Joe Joycejoejoyce152421.5/60 = 35.83%14811567
Adrian Alvarez de la Campaadrian15243.5/6 = 58.33%15241524
Yeinzon Rodríguez Garcíayeinzon15241.0/1 = 100.00%15281519
P. A. Stonemann CSS Dixielandcssdixieland15221.0/1 = 100.00%15251519
Tom Westtwrecks15221.0/1 = 100.00%15251519
Natalia Dolindowhitetiger15201.0/1 = 100.00%15201520
dicepawndicepawn15201.0/1 = 100.00%15221518
von raidervonraider15201.0/1 = 100.00%15201519
Larry Wheelerbrainburner15191.0/1 = 100.00%15211518
Dougbughouse15191.0/1 = 100.00%15201518
Todor Tchervenkovtchervenkov15181.0/1 = 100.00%15181519
Richard Titlertitle15181.0/1 = 100.00%15191518
Antonio Bruzzitotonno_janggi15181.0/1 = 100.00%15181518
jj15181.0/1 = 100.00%15181518
yas kumkumagai15181.0/1 = 100.00%15181518
eunchong leeeunchong15181.0/1 = 100.00%15181518
whitenerdy53whitenerdy5315181.0/1 = 100.00%15181518
strings 808017424strings80801742415181.0/1 = 100.00%15181518
calebblazecalebblaze15181.0/1 = 100.00%15181518
Angel47 Usmanangel4715181.0/1 = 100.00%15181518
Trevor Savagesavage15181.0/1 = 100.00%15181518
David Levinsmidrael15181.0/1 = 100.00%15181518
Garrett Smithgmsmith15181.0/2 = 50.00%15241512
Jan Żmudajanzmuda15171.0/1 = 100.00%15181517
Titus Ledbettertbl215171.0/1 = 100.00%15181517
Hesham Husseinegy_sniper15171.0/1 = 100.00%15161518
M Wintherkalroten15171.0/1 = 100.00%15171517
bosa6bosa615171.0/1 = 100.00%15161518
Aaron Smithzirtoc15162.5/5 = 50.00%15131519
Georges-Clounet Jesuispartoutgeorgesclounet15161.0/1 = 100.00%15141518
Antonio Barratotonno15161.0/1 = 100.00%15151517
pink sockpickett_aaron15152.0/3 = 66.67%15151515
Simon Langley-Evansslangers15151.5/2 = 75.00%15131516
xxmanxxman15141.0/2 = 50.00%15161511
Leon Careyleoncarey15131.0/1 = 100.00%15081518
spiptorben15121.0/2 = 50.00%15141510
pheko Motaungcouriermabovini151135.5/70 = 50.71%15621461
Georg Spengleravunjahei15119.0/28 = 32.14%15031518
Nathanlokor15091.0/2 = 50.00%15111508
Antoine Fourrièreantoinefourriere15091.5/2 = 75.00%15081511
mystery playercentipede15092.0/5 = 40.00%15111506
xeongreyxeongrey15088.0/17 = 47.06%15161499
Anthony Viensstarkiller15072.0/4 = 50.00%14991515
Zachary Wadeazost1215063.0/5 = 60.00%14981513
As Bardhiasbardhi15051.0/2 = 50.00%15101501
Albert Vámosiblackrider_4815031.0/4 = 25.00%15161490
Gee Beegdimension15031.0/2 = 50.00%15031502
Graeme Neathamgrayhawke15031.0/2 = 50.00%15011504
Colin Adamslionhawk15021.0/2 = 50.00%15051500
Hans Henrikssonhasurami15022.0/4 = 50.00%14921512
Tom Trenchtomdench9515010.5/1 = 50.00%15021500
Kent Weschlerperplexedibex15011.0/3 = 33.33%14981504
noy noynoy15003.0/7 = 42.86%14901511
Eni Lienili149911.5/46 = 25.00%15201478
Colin Weaveruselessgit14991.0/4 = 25.00%14981499
Thom Dimentunwiseowl14982.0/5 = 40.00%15011495
Juan Pablo Schweitzer Kirsingerdefender14971.0/2 = 50.00%14961498
Max Fengwowimbob111214951.0/3 = 33.33%14971492
John Smithultimatecoolster14943.0/9 = 33.33%14951493
Anders Gustafsonancog14920.0/1 = 0.00%14951489
kunkunkunkun14920.0/1 = 0.00%14951489
Hugo Mendes-Nuneshugo199514920.0/1 = 0.00%14951488
Fabner Cruz Gracilianofabner14910.0/1 = 0.00%14951488
Bob Brownbobhihih14910.0/1 = 0.00%14951487
wyatt wyattquimssarcasm14910.0/1 = 0.00%14951486
jesus babyboypokechamp14910.0/1 = 0.00%14961486
Ben Reinigerbenr14910.0/1 = 0.00%14941487
Hsa Saidh14900.0/1 = 0.00%14961485
xerisianxxerisianx14900.0/1 = 0.00%14941486
Steve Polleychessfan5914900.0/1 = 0.00%14951486
Matias I.tsatziq14900.0/1 = 0.00%14951485
hubergerdhubergerd14900.0/1 = 0.00%14961484
loveokenloveoken14900.0/1 = 0.00%14951485
John Badgerjbadger14900.0/1 = 0.00%14951484
Michael Christensenjustsojazz14900.0/1 = 0.00%14961484
Éric Manálangedubble1914900.0/1 = 0.00%14951484
ugo judeugojude14900.0/1 = 0.00%14951484
don anezdonanez14890.0/1 = 0.00%14961483
Jason Stehlyjasonstehly14890.0/1 = 0.00%14951484
Samuel Hoskinscouriergame14890.0/1 = 0.00%14961483
DFA Productions70nyd014890.0/1 = 0.00%14961482
makomako14890.0/1 = 0.00%14961482
Ricardo Florentinoricmf14890.0/1 = 0.00%14951483
Milton Haddockmiltonhaddock14890.0/1 = 0.00%14961482
vikvik14890.0/1 = 0.00%14961481
Hafsteinn Kjartanssonhnr0114890.0/1 = 0.00%14961481
potato imaginatorpotato14890.0/1 = 0.00%14951482
Esperllynmogik14890.0/1 = 0.00%14961481
Urvish Desaiurvishdesai14880.0/1 = 0.00%14951481
Dead Accountqqzlbpdilchr14870.0/1 = 0.00%14911483
Rob Brownsteelhead14870.0/1 = 0.00%14911482
DJ Linickdjlinick14870.0/1 = 0.00%14911482
Ivan Velascoswordandsilver14860.0/1 = 0.00%14911481
Bradlee Kingstonbrad1914860.0/1 = 0.00%14891482
Luis Menendezpleyades2114850.0/1 = 0.00%14881483
Mike Smolowitzmjs170114850.0/1 = 0.00%14891481
Gus Dunihoduniho14850.0/1 = 0.00%14881483
Travis Comptonironlance14850.0/1 = 0.00%14881482
Erlang Shenerlangshen14850.0/1 = 0.00%14891481
Nasmichael Farrismichaeljay14850.0/1 = 0.00%14881482
Julianredpanda148517.0/35 = 48.57%14631507
Brock Sampsonthe_iron_kenyan14850.0/1 = 0.00%14891481
higuyzzz91028 Charles Kimdallastexas14850.0/1 = 0.00%14881482
Andy Thomasandy_thomas14850.0/1 = 0.00%14891481
Jacob Eugenioe45w14850.0/1 = 0.00%14871482
Doge Masterdogemaster14850.0/1 = 0.00%14881481
Jun Ocampojunpogi14840.0/2 = 0.00%14891480
Siwakorn Songragskyhistory14840.0/1 = 0.00%14871481
Boyko Ahtarovzdra4148410.0/23 = 43.48%14891479
Derek Mooseelevatorfarter14841.0/3 = 33.33%14841484
James Sprattwhittlin14840.0/1 = 0.00%14871481
Alexandr Kremenakremen14840.0/1 = 0.00%14861481
yi fang liuliuyifang14840.0/1 = 0.00%14851482
Jeremy Goodyamorezu14840.0/1 = 0.00%14861481
scythian blunderq1234514830.0/2 = 0.00%14891478
andy lewickiherlocksholmes14830.0/1 = 0.00%14861481
Turk Osterburgtalen3141593141514830.0/1 = 0.00%14861481
Paolo Porsiapillau14830.0/1 = 0.00%14841483
dghanddghand14830.0/1 = 0.00%14841482
László Gadosdani198314831.0/4 = 25.00%14791487
anon anonchessvar114830.0/1 = 0.00%14851481
Antony Vailevichjabberw0cky114830.0/1 = 0.00%14831483
wabbawabba14830.0/1 = 0.00%14831483
Ronald Brierleybenwb14830.0/1 = 0.00%14851480
Solomon Salamasol71014830.0/1 = 0.00%14831482
Dan Kellydankelly14830.0/1 = 0.00%14841481
legendlegend14830.0/2 = 0.00%14911474
Andreas Bunkahlebunkahle14830.0/1 = 0.00%14831482
Hung Daobyteboy14830.0/1 = 0.00%14841481
Jose Canceljoche14830.0/1 = 0.00%14821483
Roberto Cassanotamerlano14830.0/1 = 0.00%14841481
btstwbtstw14820.0/1 = 0.00%14831482
MichaÅ‚ Jarskihookz14820.0/1 = 0.00%14831482
manolo manolomanolo14820.0/1 = 0.00%14841481
Aurelian Floreacatugo1482250.5/713 = 35.13%15581407
Tony Quintanillatony_quintanilla14820.0/1 = 0.00%14831481
Uri Bruckbruck14820.0/2 = 0.00%14921473
cdpowercdpower14820.0/1 = 0.00%14841480
sixtysixty14820.0/3 = 0.00%14871477
luigi mattagigino4214820.0/1 = 0.00%14811482
Joseph Grangercdafan14820.0/1 = 0.00%14811483
Thomas Meehanorangeaurochs14820.0/1 = 0.00%14821481
anna colladoapatura_iris14820.0/1 = 0.00%14811482
Виктор Байгужаковbajvik14820.0/1 = 0.00%14821481
Robin Sneijderrobinwooter214820.0/1 = 0.00%14811482
Minh Dangminhdang14820.0/1 = 0.00%14821481
Nicholas Archerchess_hunter14820.0/2 = 0.00%14881476
Abe Anonapostateabe14810.0/1 = 0.00%14801482
blundermanblunderman14810.0/1 = 0.00%14811481
Vitali Maslanskivitali_1014810.0/1 = 0.00%14811481
paulblazepaulblaze14810.0/1 = 0.00%14811481
y kumyasuhiro14810.0/1 = 0.00%14811481
Wottonwotton14810.0/1 = 0.00%14811481
Babo Jeffbabojeff14810.0/1 = 0.00%14811481
Ryan Schwartzshunoshi14810.0/1 = 0.00%14811481
wonsang leewonsang14810.0/1 = 0.00%14811481
ben chewben558214810.0/1 = 0.00%14811481
Harry Gaoharrygao14810.0/1 = 0.00%14811481
14810.0/1 = 0.00%14811481
Giuseppe Acciarocoopwie14812.0/5 = 40.00%14751488
Mark Thompsonmarkthompson14810.0/2 = 0.00%14931469
arcasorarcasor14800.0/1 = 0.00%14801481
Diego M.diego14800.0/3 = 0.00%14841477
rederikrederik14800.0/1 = 0.00%14791480
championchampion14800.0/2 = 0.00%14841475
qidb602qidb60214790.0/2 = 0.00%14831475
voicantvoicant14780.0/1 = 0.00%14771480
Bn Emnelk11414780.0/2 = 0.00%14831473
Ivan Kosintsevbombino14780.0/1 = 0.00%14751481
ologyology14780.0/1 = 0.00%14741481
Francesco Casalinofrancesco14770.0/2 = 0.00%14841470
andres fuentesxabyer14770.0/2 = 0.00%14781475
trtztrtz gfghtrtztrtz14760.0/2 = 0.00%14801473
Frank Istvánistvan6014760.0/2 = 0.00%14861467
Armin Liebhartlunaris147619.0/48 = 39.58%14551497
Alexander Krutikovlonewolf14761.0/4 = 25.00%14731479
Ivan Ivankillbill22514760.0/1 = 0.00%14701481
tedy efwttei27fmrw7de14750.0/1 = 0.00%14691481
Francisco Magalhãeslowcarbknight14750.0/1 = 0.00%14681482
wdtrwdtr14740.0/3 = 0.00%14791469
Szling Ozecszling_ozec14740.0/3 = 0.00%14751473
Pablo Denegrideep_thinker14740.0/2 = 0.00%14741474
John Twycrossjt14740.0/2 = 0.00%14741474
Charles Gilmancharles_gilman14740.0/2 = 0.00%14751472
Lennon Figueiredogiwseppe14731.0/4 = 25.00%14711476
Sergey Biryukovsbiryukov14720.0/4 = 0.00%14721472
Pat Quexionezsuperpatzermaste14710.0/4 = 0.00%14741469
Jean-Louis Cazauxtimurthelenk14711.0/5 = 20.00%14701473
Kacper Rutkowskikacperrutkowski14710.0/2 = 0.00%14741468
Steve Hsteve_201014710.0/2 = 0.00%14681473
Travis Comptonblackrood14700.0/2 = 0.00%14721469
iuchi45iuchi4514700.0/2 = 0.00%14691470
Zoli M Zoltánbaltazarprof14700.0/5 = 0.00%14831457
dfe6631dfe663114690.0/2 = 0.00%14661473
andrewthepawnandrewthepawn14690.0/2 = 0.00%14681470
Adam DeWittchessshogi14690.0/3 = 0.00%14751463
Daniel MacDuffdanielmacduff14690.0/3 = 0.00%14681469
A tomiatomi14684.5/16 = 28.12%14611476
jeremy diniericharles_bukowski14680.0/2 = 0.00%14681468
cherokee malansailorhertzog14680.0/2 = 0.00%14711464
Memedes Lulagiwseppe314670.0/2 = 0.00%14691466
Zac Sparxkrinid14660.0/2 = 0.00%14691464
Donut Donutdonutdonut14650.0/2 = 0.00%14661465
Scott Crawfordmathemagician14650.0/7 = 0.00%14741455
playshogiplayshogi14640.0/2 = 0.00%14661463
Michael Nelsonmikenels14640.0/2 = 0.00%14621466
Namik Zadenamik14630.0/2 = 0.00%14611465
andy lewickietaoni14630.0/2 = 0.00%14611464
michael collinsverderben14631.0/5 = 20.00%14681457
Michael Huntkronsteen3314580.0/3 = 0.00%14491467
Nick Wolffwolff145726.0/72 = 36.11%14141500
Graemegraemecn14560.0/3 = 0.00%14521459
louisvlouisv14550.0/3 = 0.00%14571453
Andy Lewickiondraszek14550.0/3 = 0.00%14501460
Paul Rapoportnumerist14530.0/4 = 0.00%14571449
Вадря Покштяpokshtya14523.0/10 = 30.00%14481456
Dayrom Gilallahukbar14520.0/3 = 0.00%14501454
John Langleyjonners14520.5/4 = 12.50%14511453
Николай Сокольскийalexich14510.0/4 = 0.00%14561446
Michael Schmahlmschmahl14505.0/15 = 33.33%14611439
Joshua Tsamraku14495.0/12 = 41.67%14281470
Linn Russellfreakat14490.0/3 = 0.00%14491449
Scott McGrealagentofchaos14497.0/19 = 36.84%14491449
Adalbertus Kchewoj14481.0/5 = 20.00%14411454
Aaron Maynardvopi14481.0/6 = 16.67%14441451
Jeremy Goodjudgmentality144643.5/127 = 34.25%14371455
vitaliy ravitztalsterch14462.0/15 = 13.33%14351457
heche60heche6014432.0/12 = 16.67%14451442
dmitarzvonimirdmitarzvonimir14390.0/5 = 0.00%14341443
Sagi Gabaysagig7214380.5/16 = 3.12%14231454
Evert Jan Karmanevertvb14352.5/11 = 22.73%14211449
Evan Jorgensonsabataegalo14340.0/7 = 0.00%14291439
Phoenix TKartkr10101014332.0/9 = 22.22%14371430
Jon Dannjon_dann14300.0/4 = 0.00%14271433
juan rodriguezrodriguez142811.5/38 = 30.26%14421414
Matthew La Valleesherman10114266.0/23 = 26.09%14051447
boukineboukine14234.0/13 = 30.77%13981447
Alan Galetornadic14223.0/20 = 15.00%14191424
Jack Zavierubersketch14210.0/6 = 0.00%14171425
Daniil Frolovflowermann14193.0/16 = 18.75%14041435
Arthur Yvrardtorendil14160.0/7 = 0.00%14111421
Jeremy Hook10011014132.0/30 = 6.67%14141411
John Davischappy14113.0/17 = 17.65%14001423
George Dukegwduke141142.5/117 = 36.32%13511471
Samuel de Souzasamsou14110.0/8 = 0.00%14111411
yellowturtleyellowturtle14100.0/10 = 0.00%14131407
Evan Jorgensonejorgens14080.0/7 = 0.00%13981418
Митя Стрелецкийsocrat8314000.0/10 = 0.00%13901411
darren paullramalam139713.5/100 = 13.50%13691424
Bogot Bogotolbog138912.0/44 = 27.27%13731404
Jarid Carlsonsacredchao138213.0/68 = 19.12%13391425
Nakanaka13590.0/11 = 0.00%13441374
Сергей Маэстроfantomas13541.0/31 = 3.23%13771331
Diogen Abramelindanko13350.0/35 = 0.00%13241345
Richard milnersesquipedalian13306.0/46 = 13.04%13311329
Oisín D.sxg131842.0/189 = 22.22%12951340
per hommerbergper3112972.0/52 = 3.85%12731320
Сергей Бугаевскийbugaevsky12953.0/56 = 5.36%12741316
Alisher Bolsaniraja8512880.0/46 = 0.00%12711304
wdtr2wdtr2127820.5/145 = 14.14%12581299

Meaning

The ratings are estimates of relative playing strength. Given the ratings of two players, the difference between their ratings is used to estimate the percentage of games each may win against the other. A difference of zero estimates that each player should win half the games. A difference of 400 or more estimates that the higher rated player should win every game. Between these, the higher rated player is expected to win a percentage of games calculated by the formula (difference/8)+50. A rating means nothing on its own. It is meaningful only in comparison to another player whose rating is derived from the same set of data through the same set of calculations. So your rating here cannot be compared to someone's Elo rating.

Accuracy

Ratings are calculated through a self-correcting trial-and-error process that compares actual outcomes with expected outcomes, gradually changing the ratings to better reflect actual outcomes. With enough data, this process can approach accuracy to a high degree, but error remains an essential element of any trial-and-error process, and without enough data, its results will remain error-ridden. Unfortunately, Chess variants are not played enough to give it a large data set to work with. The data sets here are usually small, and that means the ratings will not be fully accurate.

One measure taken to eke out the most data from the small data sets that are available is to calculate ratings in a holistic manner that incorporates all results into the evaluation of each result. The first step of this is to go through pairs of players in a manner that doesn't concentrate all the games of one player in one stage of the process. This involves ordering the players in a zig-zagging manner that evenly distributes each player throughout the process of evaluating ratings. The second step is to reverse the order that pairs of players are evaluated in, recalculate all the ratings, and average the two sets of ratings. This allows the outcome of every game to affect the rating calculations for every pair of players. One consequence of this is that your rating is not a static figure. Games played by other people may influence your rating even if you have stopped playing. The upside to this is that ratings of inactive players should get more accurate as more games are played by other people.

Fairness

High ratings have to be earned by playing many games. They are not available through shortcuts. In a previous version of the rating system, I focused on accuracy more than fairness, which resulted in some players getting high ratings after playing only a few games. This new rating system curbs rating growth more, so that you have to win many games to get a high rating. One way it curbs rating growth is to base the amount it changes a rating on the number of games played between two players. The more games they play together, the more it approaches the maximum amount a rating may be changed after comparing two players. This maximum amount is equal to the percentage of difference between expectations and actual results times 400. So the amount ratings may change in one go is limited to a range of 0 to 400. The amount of change is further limited by the number of games each player has already played. The more past games a player has played, the more his rating is considered stable, making it less subject to change.

Algorithm

  1. Each finished public game matching the wildcard or list of games is read, with wins and draws being recorded into a table of pairwise wins. A win counts as 1 for the winner, and a draw counts as .5 for each player.
  2. All players get an initial rating of 1500.
  3. All players are sorted in order of decreasing number of games. Ties are broken first by number of games won, then by number of opponents. This determines the order in which pairs of players will have their ratings recalculated.
  4. Initialize the count of all player's past games to zero.
  5. Based on the ordering of players, go through all pairs of players in a zig-zagging order that spreads out the pairing of each player with each of his opponents. For each pair that have played games together, recalculate their ratings as described below:
    1. Add up the number of games played. If none, skip to the next pair of players.
    2. Identify the players as p1 and p2, and subtract p2's rating from p1's.
    3. Based on this score, calculate the percent of games p1 is expected to win.
    4. Subtract this percentage from the percentage of games p1 actually won. // This is the difference between actual outcome and predicted outcome. It may range from -100 to +100.
    5. Multiply this difference by 400 to get the maximum amount of change allowed.
    6. Where n is the number of games played together, multiply the maximum amount of change by (n)/(n+10).
    7. For each player, where p is the number of his past games, multiply this product by (1-(p/(p+800))).
    8. Add this amount to the rating for p1, and subtract it from the rating for p2. // If it is negative, p1 will lose points, and p2 will gain points.
    9. Update the count of each player's past games by adding the games they played together.
  6. Reinitialize all player's past games to zero.
  7. Repeat the same procedure in the reverse zig-zagging order, creating a new set of ratings.
  8. Average both sets of ratings into one set.


Written by Fergus Duniho
WWW Page Created: 6 January 2006