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.57%68.82%68.33%
NameUseridGCRPercent wonGCR1GCR2
Hexa Sakkbosa601862136.5/151 = 90.40%18281896
Francis Fahystamandua1850247.0/298 = 82.89%18271872
dax00dax001828161.0/167 = 96.41%18191836
Kevin Paceypanther1793501.0/620 = 80.81%18011784
Play Testerplaytester177867.5/78 = 86.54%17701785
Carlos Cetinasissa1741636.5/994 = 64.03%17241759
Cameron Milesshatteredglass171215.0/17 = 88.24%17071717
Jochen Muellerleopold_stotch169455.0/92 = 59.78%16851703
H Spetyura168513.0/13 = 100.00%16791690
Gary Giffordpenswift167960.5/85 = 71.18%15821776
Fergus Dunihofergus167363.5/101 = 62.87%16681679
Homo Simiaalienum167021.0/25 = 84.00%16641677
Jose Carrilloj_carrillo_vii166987.5/155 = 56.45%16671670
Tim O'Lenatim_olena165017.5/27 = 64.81%16561645
David Paulowichdavid_64162611.0/13 = 84.62%16291623
Vitya Makovmakov3331626364.0/785 = 46.37%15691683
shift2shiftshift2shift161911.0/19 = 57.89%16181621
Stephen Williamsneph161911.0/12 = 91.67%15791658
Daniel Zachariasarx1618146.0/242 = 60.33%16221613
Vitya Makovmakov16127.5/8 = 93.75%16061618
Charles Danielfrozen_methane161135.0/64 = 54.69%15791643
Andreas Kaufmannandreas16077.0/7 = 100.00%16091605
P. A. Stonemann CSS Dixielandcssdixieland159811.0/15 = 73.33%16021594
Pericles Tesone de Souzaperitezz15888.0/8 = 100.00%15881588
Erik Lerougeerik1581140.5/260 = 54.04%16531510
ctzctz157912.0/17 = 70.59%15541604
Abdul-Rahman Sibahisibahi157516.0/23 = 69.57%15651584
kokoszkokosz15757.0/8 = 87.50%15601590
attack hippoattackhippo15745.5/7 = 78.57%15701579
je jujejujeju157336.5/60 = 60.83%15641582
TH6notath615727.0/12 = 58.33%15701575
Alexander Trotterqilin15714.0/4 = 100.00%15701572
Christine Bagley-Joneszcherryz15703.5/5 = 70.00%15681571
Jenard Cabilaomgawalangmagawa156911.0/23 = 47.83%15851552
Stephen Stockmanstevestockman156810.0/16 = 62.50%15781559
John Gallantbigjohn156416.0/28 = 57.14%15551573
Raymond Dlewel156013.0/22 = 59.09%15771543
Isaac Felpsattacker14415585.0/6 = 83.33%15591557
Thor Slavenskyslavensky15575.0/7 = 71.43%15381576
Nicola Caridiniccar15543.0/3 = 100.00%15571550
Nicholas Wolffnwolff15539.0/15 = 60.00%15761531
Roberto Lavierirlavieri200315503.0/3 = 100.00%15451555
Greg Strongmageofmaple1549105.0/218 = 48.17%16011497
pallab basupallab154831.0/60 = 51.67%15251571
carlos carloscarlos154416.0/27 = 59.26%15211567
S Ssim15436.0/9 = 66.67%15311554
michirmichir15412.0/2 = 100.00%15421539
Nicholas Wolffmaeko154065.5/142 = 46.13%15621519
Sandra#Paul BRANDLYARDsandravers13067515373.0/4 = 75.00%15401534
Tom e4ktome4k15352.0/2 = 100.00%15351536
Eric Greenwoodcavalier15344.0/6 = 66.67%15441524
Todd Witterstoddw15342.0/2 = 100.00%15321535
Neil Spargospargo15333.0/4 = 75.00%15271540
Julien Coll Moratfacteurix15312.0/3 = 66.67%15281534
Jake Palladinocerebralassassin15312.0/2 = 100.00%15271535
Matthew Montchalinmatthew_montchal15313.0/4 = 75.00%15291533
Fred Koktangram15282.0/3 = 66.67%15301527
joe rosenbloombootzilla15282.0/3 = 66.67%15231533
Joseph DiMurotrojh15271.0/1 = 100.00%15331521
Uwe Kreuzercaissus15272.0/2 = 100.00%15231531
Chuck Leegyw6t152517.5/39 = 44.87%15161534
Yeinzon Rodríguez Garcíayeinzon15241.0/1 = 100.00%15281521
Adrian Alvarez de la Campaadrian15243.5/6 = 58.33%15231524
Tom Westtwrecks15211.0/1 = 100.00%15231520
Natalia Dolindowhitetiger15201.0/1 = 100.00%15191521
von raidervonraider15201.0/1 = 100.00%15191521
Larry Wheelerbrainburner15201.0/1 = 100.00%15211519
dicepawndicepawn15201.0/1 = 100.00%15211518
Dougbughouse15191.0/1 = 100.00%15181519
Joe Joycejoejoyce151921.5/62 = 34.68%14771560
Todor Tchervenkovtchervenkov15181.0/1 = 100.00%15181519
Richard Titlertitle15181.0/1 = 100.00%15191518
Garrett Smithgmsmith15181.0/2 = 50.00%15241512
Angel47 Usmanangel4715181.0/1 = 100.00%15181518
Antonio Bruzzitotonno_janggi15181.0/1 = 100.00%15181518
calebblazecalebblaze15181.0/1 = 100.00%15181518
yas kumkumagai15181.0/1 = 100.00%15181518
David Levinsmidrael15181.0/1 = 100.00%15181518
whitenerdy53whitenerdy5315181.0/1 = 100.00%15181518
jj15181.0/1 = 100.00%15181518
eunchong leeeunchong15181.0/1 = 100.00%15181518
strings 808017424strings80801742415181.0/1 = 100.00%15181518
Trevor Savagesavage15181.0/1 = 100.00%15181518
Jan Żmudajanzmuda15171.0/1 = 100.00%15181517
Titus Ledbettertbl215171.0/1 = 100.00%15171518
M Wintherkalroten15171.0/1 = 100.00%15181516
bosa6bosa615171.0/1 = 100.00%15161518
Hesham Husseinegy_sniper15171.0/1 = 100.00%15161518
Georges-Clounet Jesuispartoutgeorgesclounet15161.0/1 = 100.00%15141518
Antonio Barratotonno15161.0/1 = 100.00%15151517
Aaron Smithzirtoc15162.5/5 = 50.00%15121519
pink sockpickett_aaron15152.0/3 = 66.67%15151515
Simon Langley-Evansslangers15151.5/2 = 75.00%15131516
xxmanxxman15131.0/2 = 50.00%15171510
Georg Spengleravunjahei15139.0/28 = 32.14%15041523
Leon Careyleoncarey15121.0/1 = 100.00%15071518
Max Kovalmaxkoval15121.0/1 = 100.00%15051519
spiptorben15121.0/2 = 50.00%15141510
pheko Motaungcouriermabovini151235.5/70 = 50.71%15631460
Nathanlokor15101.0/2 = 50.00%15101510
Antoine Fourrièreantoinefourriere15091.5/2 = 75.00%15071512
mystery playercentipede15092.0/5 = 40.00%15131505
Anthony Viensstarkiller15072.0/4 = 50.00%15001515
xeongreyxeongrey15078.0/17 = 47.06%15131501
As Bardhiasbardhi15071.0/2 = 50.00%15121501
Zachary Wadeazost1215063.0/5 = 60.00%14991513
Gee Beegdimension15031.0/2 = 50.00%15031502
Graeme Neathamgrayhawke15031.0/2 = 50.00%15011504
Colin Adamslionhawk15021.0/2 = 50.00%15051500
Albert Vámosiblackrider_4815021.0/4 = 25.00%15161488
Hans Henrikssonhasurami15022.0/4 = 50.00%14911512
Tom Trenchtomdench9515010.5/1 = 50.00%15011502
Kent Weschlerperplexedibex15001.0/3 = 33.33%14991501
Colin Weaveruselessgit14991.0/4 = 25.00%14981500
Eni Lienili149911.5/46 = 25.00%15171480
noy noynoy14983.0/7 = 42.86%14941503
N Wolffpoint01iv14981.0/2 = 50.00%14961501
Thom Dimentunwiseowl14982.0/5 = 40.00%15001497
Juan Pablo Schweitzer Kirsingerdefender14971.0/2 = 50.00%14961498
John Smithultimatecoolster14953.0/9 = 33.33%14961493
Max Fengwowimbob111214941.0/3 = 33.33%14961492
kunkunkunkun14920.0/1 = 0.00%14961488
Hugo Mendes-Nuneshugo199514920.0/1 = 0.00%14961488
Fabner Cruz Gracilianofabner14920.0/1 = 0.00%14961487
Anders Gustafsonancog14910.0/1 = 0.00%14961487
Bob Brownbobhihih14910.0/1 = 0.00%14961486
wyatt wyattquimssarcasm14910.0/1 = 0.00%14961485
Hsa Saidh14910.0/1 = 0.00%14971485
Steve Polleychessfan5914900.0/1 = 0.00%14941487
jesus babyboypokechamp14900.0/1 = 0.00%14971484
loveokenloveoken14900.0/1 = 0.00%14941486
DFA Productions70nyd014900.0/1 = 0.00%14961484
Matias I.tsatziq14900.0/1 = 0.00%14951485
xerisianxxerisianx14900.0/1 = 0.00%14941486
ugo judeugojude14900.0/1 = 0.00%14951484
don anezdonanez14900.0/1 = 0.00%14961484
Jason Stehlyjasonstehly14900.0/1 = 0.00%14941485
John Badgerjbadger14890.0/1 = 0.00%14951484
Ben Reinigerbenr14890.0/1 = 0.00%14941484
Michael Christensenjustsojazz14890.0/1 = 0.00%14961483
Samuel Hoskinscouriergame14890.0/1 = 0.00%14951483
Éric Manálangedubble1914890.0/1 = 0.00%14951484
Hafsteinn Kjartanssonhnr0114890.0/1 = 0.00%14961482
hubergerdhubergerd14890.0/1 = 0.00%14961482
Milton Haddockmiltonhaddock14890.0/1 = 0.00%14961482
Ricardo Florentinoricmf14890.0/1 = 0.00%14951483
makomako14890.0/1 = 0.00%14961481
vikvik14890.0/1 = 0.00%14961481
Esperllynmogik14890.0/1 = 0.00%14961481
potato imaginatorpotato14880.0/1 = 0.00%14951482
Urvish Desaiurvishdesai14880.0/1 = 0.00%14951481
Erlang Shenerlangshen14870.0/1 = 0.00%14931481
Rob Brownsteelhead14870.0/1 = 0.00%14911484
Dead Accountqqzlbpdilchr14870.0/1 = 0.00%14911483
DJ Linickdjlinick14870.0/1 = 0.00%14911482
Ivan Velascoswordandsilver14860.0/1 = 0.00%14911481
Boyko Ahtarovzdra4148610.0/23 = 43.48%14901482
Bradlee Kingstonbrad1914860.0/1 = 0.00%14891482
Mike Smolowitzmjs170114850.0/1 = 0.00%14891481
Luis Menendezpleyades2114850.0/1 = 0.00%14881483
Gus Dunihoduniho14850.0/1 = 0.00%14881483
Travis Comptonironlance14850.0/1 = 0.00%14881482
Andy Thomasandy_thomas14850.0/1 = 0.00%14881482
Julianredpanda148517.0/35 = 48.57%14631507
Nasmichael Farrismichaeljay14850.0/1 = 0.00%14891481
Brock Sampsonthe_iron_kenyan14850.0/1 = 0.00%14891481
Alexandr Kremenakremen14850.0/1 = 0.00%14881481
Jun Ocampojunpogi14840.0/2 = 0.00%14881481
higuyzzz91028 Charles Kimdallastexas14840.0/1 = 0.00%14861483
Siwakorn Songragskyhistory14840.0/1 = 0.00%14851483
Derek Mooseelevatorfarter14841.0/3 = 33.33%14841484
Jacob Eugenioe45w14840.0/1 = 0.00%14861482
James Sprattwhittlin14840.0/1 = 0.00%14871481
Doge Masterdogemaster14840.0/1 = 0.00%14861481
yi fang liuliuyifang14840.0/1 = 0.00%14851482
Jeremy Goodyamorezu14830.0/1 = 0.00%14861481
andy lewickiherlocksholmes14830.0/1 = 0.00%14861481
Turk Osterburgtalen3141593141514830.0/1 = 0.00%14851481
Paolo Porsiapillau14830.0/1 = 0.00%14841483
scythian blunderq1234514830.0/2 = 0.00%14891478
Ronald Brierleybenwb14830.0/1 = 0.00%14841482
wabbawabba14830.0/1 = 0.00%14821484
dghanddghand14830.0/1 = 0.00%14841481
Solomon Salamasol71014830.0/1 = 0.00%14831483
Dan Kellydankelly14830.0/1 = 0.00%14841481
László Gadosdani198314831.0/4 = 25.00%14781488
Antony Vailevichjabberw0cky114830.0/1 = 0.00%14831482
anon anonchessvar114830.0/1 = 0.00%14851480
sixtysixty14830.0/3 = 0.00%14871478
Jose Canceljoche14830.0/1 = 0.00%14821483
MichaÅ‚ Jarskihookz14830.0/1 = 0.00%14811484
Roberto Cassanotamerlano14830.0/1 = 0.00%14831482
btstwbtstw14830.0/1 = 0.00%14831482
Andreas Bunkahlebunkahle14820.0/1 = 0.00%14841481
Hung Daobyteboy14820.0/1 = 0.00%14841481
Tony Quintanillatony_quintanilla14820.0/1 = 0.00%14841481
cdpowercdpower14820.0/1 = 0.00%14841481
manolo manolomanolo14820.0/1 = 0.00%14831481
legendlegend14820.0/2 = 0.00%14901474
Mark Thompsonmarkthompson14820.0/2 = 0.00%14921473
Nicholas Archerchess_hunter14820.0/2 = 0.00%14871477
anna colladoapatura_iris14820.0/1 = 0.00%14811482
Robin Sneijderrobinwooter214820.0/1 = 0.00%14821481
Виктор Байгужаковbajvik14820.0/1 = 0.00%14811482
Minh Dangminhdang14820.0/1 = 0.00%14821481
Joseph Grangercdafan14820.0/1 = 0.00%14811482
Thomas Meehanorangeaurochs14820.0/1 = 0.00%14801483
luigi mattagigino4214820.0/1 = 0.00%14821481
Giuseppe Acciarocoopwie14812.0/5 = 40.00%14781485
Harry Gaoharrygao14810.0/1 = 0.00%14811481
Ryan Schwartzshunoshi14810.0/1 = 0.00%14811481
y kumyasuhiro14810.0/1 = 0.00%14811481
Babo Jeffbabojeff14810.0/1 = 0.00%14811481
wonsang leewonsang14810.0/1 = 0.00%14811481
ben chewben558214810.0/1 = 0.00%14811481
Vitali Maslanskivitali_1014810.0/1 = 0.00%14811481
Wottonwotton14810.0/1 = 0.00%14811481
14810.0/1 = 0.00%14811481
paulblazepaulblaze14810.0/1 = 0.00%14811481
Abe Anonapostateabe14810.0/1 = 0.00%14811481
blundermanblunderman14810.0/1 = 0.00%14801482
Uri Bruckbruck14810.0/2 = 0.00%14931469
Diego M.diego14810.0/3 = 0.00%14841478
arcasorarcasor14800.0/1 = 0.00%14791481
Aurelian Floreacatugo1480251.5/722 = 34.83%15551405
rederikrederik14800.0/1 = 0.00%14791480
championchampion14800.0/2 = 0.00%14831476
Bn Emnelk11414790.0/2 = 0.00%14831475
voicantvoicant14790.0/1 = 0.00%14771480
qidb602qidb60214780.0/2 = 0.00%14831472
Ivan Kosintsevbombino14780.0/1 = 0.00%14751481
ologyology14780.0/1 = 0.00%14741481
Francesco Casalinofrancesco14770.0/2 = 0.00%14841470
trtztrtz gfghtrtztrtz14770.0/2 = 0.00%14831471
andres fuentesxabyer14770.0/2 = 0.00%14791474
Frank Istvánistvan6014760.0/2 = 0.00%14861467
Ivan Ivankillbill22514760.0/1 = 0.00%14711481
tedy efwttei27fmrw7de14760.0/1 = 0.00%14701481
Nathan Holdenlinsolv14750.0/1 = 0.00%14691482
Alexander Krutikovlonewolf14751.0/4 = 25.00%14721479
Francisco Magalhãeslowcarbknight14750.0/1 = 0.00%14681482
wdtrwdtr14740.0/3 = 0.00%14801469
Szling Ozecszling_ozec14740.0/3 = 0.00%14771471
Pablo Denegrideep_thinker14740.0/2 = 0.00%14731474
Charles Gilmancharles_gilman14730.0/2 = 0.00%14751472
John Twycrossjt14730.0/2 = 0.00%14741473
Lennon Figueiredogiwseppe14731.0/4 = 25.00%14711476
Pat Quexionezsuperpatzermaste14710.0/4 = 0.00%14711472
Kacper Rutkowskikacperrutkowski14710.0/2 = 0.00%14741469
Sergey Biryukovsbiryukov14710.0/4 = 0.00%14731469
Travis Comptonblackrood14700.0/2 = 0.00%14711470
cherokee malansailorhertzog14700.0/2 = 0.00%14761464
Zoli M Zoltánbaltazarprof14700.0/5 = 0.00%14831457
Steve Hsteve_201014700.0/2 = 0.00%14691471
andrewthepawnandrewthepawn14690.0/2 = 0.00%14651474
Jean-Louis Cazauxtimurthelenk14691.0/5 = 20.00%14701469
A tomiatomi14694.5/16 = 28.12%14591479
danielmacduffdanielmacduff14690.0/3 = 0.00%14681469
iuchi45iuchi4514690.0/2 = 0.00%14691468
dfe6631dfe663114690.0/2 = 0.00%14671470
Adam DeWittchessshogi14690.0/3 = 0.00%14751462
jeremy diniericharles_bukowski14680.0/2 = 0.00%14671468
Memedes Lulagiwseppe314670.0/2 = 0.00%14691466
Zac Sparxkrinid14660.0/2 = 0.00%14681464
Donut Donutdonutdonut14650.0/2 = 0.00%14661465
Scott Crawfordmathemagician14650.0/7 = 0.00%14741455
Máté Csarmaszcsarmi14650.0/3 = 0.00%14761453
playshogiplayshogi14640.0/2 = 0.00%14651464
Michael Nelsonmikenels14640.0/2 = 0.00%14611466
michael collinsverderben14641.0/5 = 20.00%14701457
Armin Liebhartlunaris146319.0/50 = 38.00%14501476
Namik Zadenamik14630.0/2 = 0.00%14611465
andy lewickietaoni14620.0/2 = 0.00%14621463
Michael Huntkronsteen3314580.0/3 = 0.00%14491467
Nick Wolffwolff145626.0/72 = 36.11%14171495
Graemegraemecn14560.0/3 = 0.00%14511460
louisvlouisv14550.0/3 = 0.00%14581453
Andy Lewickiondraszek14550.0/3 = 0.00%14501460
Николай Сокольскийalexich14540.0/4 = 0.00%14611446
John Langleyjonners14520.5/4 = 12.50%14521451
Dayrom Gilallahukbar14520.0/3 = 0.00%14501454
Michael Schmahlmschmahl14505.0/15 = 33.33%14591442
Linn Russellfreakat14490.0/3 = 0.00%14491449
Joshua Tsamraku14495.0/12 = 41.67%14231474
Adalbertus Kchewoj14481.0/5 = 20.00%14421454
Aaron Maynardvopi14481.0/6 = 16.67%14431452
Scott McGrealagentofchaos14477.0/19 = 36.84%14521442
vitaliy ravitztalsterch14462.0/15 = 13.33%14351457
Jeremy Goodjudgmentality144543.5/127 = 34.25%14311459
heche60heche6014432.0/12 = 16.67%14441442
dmitarzvonimirdmitarzvonimir14410.0/5 = 0.00%14391443
Sagi Gabaysagig7214400.5/16 = 3.12%14241457
Paul Rapoportnumerist14370.0/5 = 0.00%14381436
Evert Jan Karmanevertvb14362.5/11 = 22.73%14181453
Evan Jorgensonsabataegalo14340.0/7 = 0.00%14291438
Phoenix TKartkr10101014332.0/9 = 22.22%14351431
Jon Dannjon_dann14300.0/4 = 0.00%14271433
juan rodriguezrodriguez142911.5/38 = 30.26%14421416
Matthew La Valleesherman10114266.0/23 = 26.09%14141437
boukineboukine14224.0/13 = 30.77%13921453
Alan Galetornadic14223.0/20 = 15.00%14201424
Jack Zavierubersketch14210.0/6 = 0.00%14171425
Daniil Frolovflowermann14193.0/16 = 18.75%14041433
mrxx2016mrxx201614160.0/9 = 0.00%14261407
Arthur Yvrardtorendil14160.0/7 = 0.00%14111421
Jeremy Hook10011014162.0/30 = 6.67%14121420
John Davischappy14133.0/17 = 17.65%14001425
George Dukegwduke141142.5/117 = 36.32%13501472
Samuel de Souzasamsou14110.0/8 = 0.00%14111411
yellowturtleyellowturtle14100.0/10 = 0.00%14131408
Evan Jorgensonejorgens14090.0/7 = 0.00%14001418
Вадря Покштяpokshtya14074.0/17 = 23.53%13901424
Митя Стрелецкийsocrat8314020.0/10 = 0.00%13911414
darren paullramalam139713.5/100 = 13.50%13681426
Bogot Bogotolbog138812.0/44 = 27.27%13751401
Jarid Carlsonsacredchao137913.0/68 = 19.12%13451412
Сергей Маэстроfantomas13571.0/31 = 3.23%13621352
Nakanaka13560.0/11 = 0.00%13301383
Diogen Abramelindanko13340.0/35 = 0.00%13211348
Oisín D.sxg131242.0/189 = 22.22%12901335
Сергей Бугаевскийbugaevsky12963.0/56 = 5.36%12901302
wdtr2wdtr2129521.5/147 = 14.63%12711318
per hommerbergper3112862.0/57 = 3.51%12551317
Alisher Bolsaniraja8512820.0/46 = 0.00%12601305
Richard milnersesquipedalian12787.0/94 = 7.45%13041253

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