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.53%68.85%68.10%
NameUseridGCRPercent wonGCR1GCR2
Hexa Sakkbosa601862136.5/151 = 90.40%18281896
Francis Fahystamandua1851247.0/298 = 82.89%18311872
dax00dax001828161.0/167 = 96.41%18211836
Kevin Paceypanther1793501.0/620 = 80.81%18011784
Play Testerplaytester177865.5/76 = 86.18%17721785
Carlos Cetinasissa1740636.5/994 = 64.03%17211759
Cameron Milesshatteredglass171315.0/17 = 88.24%17061720
Jochen Muellerleopold_stotch169555.0/92 = 59.78%16841707
H Spetyura168413.0/13 = 100.00%16791688
Gary Giffordpenswift167960.5/85 = 71.18%15821777
Fergus Dunihofergus167363.5/101 = 62.87%16681679
Jose Carrilloj_carrillo_vii166787.5/155 = 56.45%16641670
Homo Simiaalienum165719.0/23 = 82.61%16471668
Tim O'Lenatim_olena165017.5/27 = 64.81%16561644
David Paulowichdavid_64162611.0/13 = 84.62%16291623
Vitya Makovmakov3331624358.0/779 = 45.96%15661683
Stephen Williamsneph161911.0/12 = 91.67%15801659
Daniel Zachariasarx1619146.0/242 = 60.33%16241614
shift2shiftshift2shift161911.0/19 = 57.89%16191619
Vitya Makovmakov16127.5/8 = 93.75%16061618
Charles Danielfrozen_methane161035.0/64 = 54.69%15801641
Andreas Kaufmannandreas16077.0/7 = 100.00%16091605
P. A. Stonemann CSS Dixielandcssdixieland159611.0/15 = 73.33%16011592
Pericles Tesone de Souzaperitezz15888.0/8 = 100.00%15881588
Erik Lerougeerik1582140.5/260 = 54.04%16541510
ctzctz158012.0/17 = 70.59%15571603
kokoszkokosz15757.0/8 = 87.50%15601590
attack hippoattackhippo15755.5/7 = 78.57%15701580
Abdul-Rahman Sibahisibahi157416.0/23 = 69.57%15661582
je jujejujeju157336.5/60 = 60.83%15621584
TH6notath615727.0/12 = 58.33%15691575
Christine Bagley-Joneszcherryz15703.5/5 = 70.00%15681572
Jenard Cabilaomgawalangmagawa157011.0/23 = 47.83%15831556
Alexander Trotterqilin15704.0/4 = 100.00%15701569
Stephen Stockmanstevestockman156810.0/16 = 62.50%15731563
John Gallantbigjohn156416.0/28 = 57.14%15521575
Raymond Dlewel156013.0/22 = 59.09%15771543
Thor Slavenskyslavensky15585.0/7 = 71.43%15341582
Isaac Felpsattacker14415585.0/6 = 83.33%15591557
Nicola Caridiniccar15543.0/3 = 100.00%15571550
Nicholas Wolffnwolff15529.0/15 = 60.00%15781527
Roberto Lavierirlavieri200315503.0/3 = 100.00%15451555
Greg Strongmageofmaple1548105.0/218 = 48.17%15991497
pallab basupallab154731.0/60 = 51.67%15271566
carlos carloscarlos154516.0/27 = 59.26%15251565
S Ssim15436.0/9 = 66.67%15311554
michirmichir15412.0/2 = 100.00%15401541
Nicholas Wolffmaeko153965.5/142 = 46.13%15571520
Sandra#Paul BRANDLYARDsandravers13067515373.0/4 = 75.00%15371537
Tom e4ktome4k15362.0/2 = 100.00%15351536
Eric Greenwoodcavalier15344.0/6 = 66.67%15441524
Todd Witterstoddw15342.0/2 = 100.00%15321535
Neil Spargospargo15343.0/4 = 75.00%15251542
Matthew Montchalinmatthew_montchal15313.0/4 = 75.00%15301533
Julien Coll Moratfacteurix15312.0/3 = 66.67%15281534
Jake Palladinocerebralassassin15312.0/2 = 100.00%15291532
Joseph DiMurotrojh15291.0/1 = 100.00%15321525
joe rosenbloombootzilla15282.0/3 = 66.67%15271529
Fred Koktangram15282.0/3 = 66.67%15311525
Uwe Kreuzercaissus15272.0/2 = 100.00%15221533
Chuck Leegyw6t152517.5/39 = 44.87%15141536
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%15201520
von raidervonraider15201.0/1 = 100.00%15211519
Larry Wheelerbrainburner15191.0/1 = 100.00%15201519
dicepawndicepawn15191.0/1 = 100.00%15211518
Dougbughouse15191.0/1 = 100.00%15201518
Todor Tchervenkovtchervenkov15181.0/1 = 100.00%15171519
Richard Titlertitle15181.0/1 = 100.00%15191518
Joe Joycejoejoyce151821.5/62 = 34.68%14811555
yas kumkumagai15181.0/1 = 100.00%15181518
strings 808017424strings80801742415181.0/1 = 100.00%15181518
jj15181.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
calebblazecalebblaze15181.0/1 = 100.00%15181518
eunchong leeeunchong15181.0/1 = 100.00%15181518
Antonio Bruzzitotonno_janggi15181.0/1 = 100.00%15181518
whitenerdy53whitenerdy5315181.0/1 = 100.00%15181518
Garrett Smithgmsmith15181.0/2 = 50.00%15241511
Jan Żmudajanzmuda15171.0/1 = 100.00%15181517
Titus Ledbettertbl215171.0/1 = 100.00%15181517
M Wintherkalroten15171.0/1 = 100.00%15181516
Hesham Husseinegy_sniper15171.0/1 = 100.00%15161518
bosa6bosa615171.0/1 = 100.00%15161518
Aaron Smithzirtoc15162.5/5 = 50.00%15121520
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
Georg Spengleravunjahei15139.0/28 = 32.14%15011525
xxmanxxman15131.0/2 = 50.00%15181509
Leon Careyleoncarey15121.0/1 = 100.00%15071518
Max Kovalmaxkoval15121.0/1 = 100.00%15051519
spiptorben15111.0/2 = 50.00%15141509
pheko Motaungcouriermabovini151035.5/70 = 50.71%15611458
Antoine Fourrièreantoinefourriere15091.5/2 = 75.00%15071512
mystery playercentipede15092.0/5 = 40.00%15111507
Nathanlokor15091.0/2 = 50.00%15101508
Anthony Viensstarkiller15082.0/4 = 50.00%15011515
xeongreyxeongrey15078.0/17 = 47.06%15171497
As Bardhiasbardhi15071.0/2 = 50.00%15121501
Zachary Wadeazost1215063.0/5 = 60.00%14991513
Albert Vámosiblackrider_4815031.0/4 = 25.00%15161490
Graeme Neathamgrayhawke15031.0/2 = 50.00%15011505
Gee Beegdimension15021.0/2 = 50.00%15021502
Colin Adamslionhawk15021.0/2 = 50.00%15051500
Hans Henrikssonhasurami15022.0/4 = 50.00%14921512
Tom Trenchtomdench9515010.5/1 = 50.00%15011501
Kent Weschlerperplexedibex14991.0/3 = 33.33%15011498
Colin Weaveruselessgit14991.0/4 = 25.00%15001498
N Wolffpoint01iv14991.0/2 = 50.00%14961501
noy noynoy14983.0/7 = 42.86%14911506
Eni Lienili149811.5/46 = 25.00%15191478
Thom Dimentunwiseowl14982.0/5 = 40.00%15011495
Juan Pablo Schweitzer Kirsingerdefender14971.0/2 = 50.00%14951499
John Smithultimatecoolster14953.0/9 = 33.33%14961495
Max Fengwowimbob111214941.0/3 = 33.33%14981491
Bob Brownbobhihih14920.0/1 = 0.00%14961488
Anders Gustafsonancog14920.0/1 = 0.00%14951489
wyatt wyattquimssarcasm14920.0/1 = 0.00%14951488
Fabner Cruz Gracilianofabner14910.0/1 = 0.00%14951488
jesus babyboypokechamp14910.0/1 = 0.00%14951487
Hsa Saidh14910.0/1 = 0.00%14951486
Hugo Mendes-Nuneshugo199514910.0/1 = 0.00%14961486
Jason Stehlyjasonstehly14900.0/1 = 0.00%14941487
kunkunkunkun14900.0/1 = 0.00%14961485
Steve Polleychessfan5914900.0/1 = 0.00%14941486
don anezdonanez14900.0/1 = 0.00%14961484
Matias I.tsatziq14900.0/1 = 0.00%14951485
loveokenloveoken14900.0/1 = 0.00%14941486
DFA Productions70nyd014900.0/1 = 0.00%14961484
John Badgerjbadger14900.0/1 = 0.00%14951484
xerisianxxerisianx14900.0/1 = 0.00%14941485
ugo judeugojude14890.0/1 = 0.00%14951484
Michael Christensenjustsojazz14890.0/1 = 0.00%14961483
Éric Manálangedubble1914890.0/1 = 0.00%14941484
Samuel Hoskinscouriergame14890.0/1 = 0.00%14951483
hubergerdhubergerd14890.0/1 = 0.00%14961482
Ben Reinigerbenr14890.0/1 = 0.00%14951484
makomako14890.0/1 = 0.00%14961482
Milton Haddockmiltonhaddock14890.0/1 = 0.00%14961482
vikvik14890.0/1 = 0.00%14961481
Ricardo Florentinoricmf14890.0/1 = 0.00%14951483
Hafsteinn Kjartanssonhnr0114890.0/1 = 0.00%14961481
Esperllynmogik14890.0/1 = 0.00%14961481
Urvish Desaiurvishdesai14880.0/1 = 0.00%14951482
potato imaginatorpotato14880.0/1 = 0.00%14951481
Erlang Shenerlangshen14870.0/1 = 0.00%14931481
DJ Linickdjlinick14870.0/1 = 0.00%14911484
Rob Brownsteelhead14870.0/1 = 0.00%14911483
Dead Accountqqzlbpdilchr14870.0/1 = 0.00%14911482
Ivan Velascoswordandsilver14860.0/1 = 0.00%14911481
Bradlee Kingstonbrad1914860.0/1 = 0.00%14891482
Mike Smolowitzmjs170114850.0/1 = 0.00%14891481
Gus Dunihoduniho14850.0/1 = 0.00%14881483
Luis Menendezpleyades2114850.0/1 = 0.00%14871483
Andy Thomasandy_thomas14850.0/1 = 0.00%14881482
Travis Comptonironlance14850.0/1 = 0.00%14881482
Nasmichael Farrismichaeljay14850.0/1 = 0.00%14891481
Brock Sampsonthe_iron_kenyan14850.0/1 = 0.00%14881481
Alexandr Kremenakremen14850.0/1 = 0.00%14881481
higuyzzz91028 Charles Kimdallastexas14840.0/1 = 0.00%14861483
scythian blunderq1234514840.0/2 = 0.00%14871481
Siwakorn Songragskyhistory14840.0/1 = 0.00%14861483
Derek Mooseelevatorfarter14841.0/3 = 33.33%14841484
Jacob Eugenioe45w14840.0/1 = 0.00%14861482
Julianredpanda148417.0/35 = 48.57%14641504
Boyko Ahtarovzdra4148410.0/23 = 43.48%14851483
James Sprattwhittlin14840.0/1 = 0.00%14871481
Doge Masterdogemaster14840.0/1 = 0.00%14871481
Jun Ocampojunpogi14840.0/2 = 0.00%14881480
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%14831483
Ronald Brierleybenwb14830.0/1 = 0.00%14841482
Antony Vailevichjabberw0cky114830.0/1 = 0.00%14831483
wabbawabba14830.0/1 = 0.00%14831483
dghanddghand14830.0/1 = 0.00%14841481
Solomon Salamasol71014830.0/1 = 0.00%14831482
Dan Kellydankelly14830.0/1 = 0.00%14841481
MichaÅ‚ Jarskihookz14830.0/1 = 0.00%14821483
Jose Canceljoche14830.0/1 = 0.00%14831482
Andreas Bunkahlebunkahle14830.0/1 = 0.00%14831482
anon anonchessvar114820.0/1 = 0.00%14841480
Roberto Cassanotamerlano14820.0/1 = 0.00%14841481
btstwbtstw14820.0/1 = 0.00%14841481
sixtysixty14820.0/3 = 0.00%14871478
manolo manolomanolo14820.0/1 = 0.00%14841481
legendlegend14820.0/2 = 0.00%14911474
Hung Daobyteboy14820.0/1 = 0.00%14831481
Tony Quintanillatony_quintanilla14820.0/1 = 0.00%14831481
Mark Thompsonmarkthompson14820.0/2 = 0.00%14921473
cdpowercdpower14820.0/1 = 0.00%14831481
Aurelian Floreacatugo1482251.5/722 = 34.83%15581406
anna colladoapatura_iris14820.0/1 = 0.00%14811482
Виктор Байгужаковbajvik14820.0/1 = 0.00%14821481
Robin Sneijderrobinwooter214820.0/1 = 0.00%14811482
Joseph Grangercdafan14820.0/1 = 0.00%14811482
Thomas Meehanorangeaurochs14820.0/1 = 0.00%14801483
luigi mattagigino4214820.0/1 = 0.00%14821481
Minh Dangminhdang14820.0/1 = 0.00%14821481
Uri Bruckbruck14810.0/2 = 0.00%14921471
Nicholas Archerchess_hunter14810.0/2 = 0.00%14871476
ben chewben558214810.0/1 = 0.00%14811481
Wottonwotton14810.0/1 = 0.00%14811481
paulblazepaulblaze14810.0/1 = 0.00%14811481
Harry Gaoharrygao14810.0/1 = 0.00%14811481
Vitali Maslanskivitali_1014810.0/1 = 0.00%14811481
y kumyasuhiro14810.0/1 = 0.00%14811481
14810.0/1 = 0.00%14811481
wonsang leewonsang14810.0/1 = 0.00%14811481
Babo Jeffbabojeff14810.0/1 = 0.00%14811481
Ryan Schwartzshunoshi14810.0/1 = 0.00%14811481
Abe Anonapostateabe14810.0/1 = 0.00%14811481
blundermanblunderman14810.0/1 = 0.00%14801482
László Gadosdani198314811.0/4 = 25.00%14771485
Giuseppe Acciarocoopwie14812.0/5 = 40.00%14791484
Diego M.diego14800.0/3 = 0.00%14841477
arcasorarcasor14800.0/1 = 0.00%14791481
Francesco Casalinofrancesco14800.0/2 = 0.00%14841476
rederikrederik14800.0/1 = 0.00%14791480
Bn Emnelk11414790.0/2 = 0.00%14851474
voicantvoicant14790.0/1 = 0.00%14771480
championchampion14780.0/2 = 0.00%14841472
Ivan Kosintsevbombino14780.0/1 = 0.00%14741481
ologyology14780.0/1 = 0.00%14741481
qidb602qidb60214770.0/2 = 0.00%14841470
andres fuentesxabyer14760.0/2 = 0.00%14791473
trtztrtz gfghtrtztrtz14760.0/2 = 0.00%14821470
Ivan Ivankillbill22514760.0/1 = 0.00%14711481
Alexander Krutikovlonewolf14761.0/4 = 25.00%14721479
Frank Istvánistvan6014760.0/2 = 0.00%14861466
tedy efwttei27fmrw7de14760.0/1 = 0.00%14701481
Nathan Holdenlinsolv14750.0/1 = 0.00%14691482
wdtrwdtr14750.0/3 = 0.00%14801471
Francisco Magalhãeslowcarbknight14750.0/1 = 0.00%14681482
Pablo Denegrideep_thinker14730.0/2 = 0.00%14741473
Lennon Figueiredogiwseppe14731.0/4 = 25.00%14711476
Charles Gilmancharles_gilman14730.0/2 = 0.00%14761471
Szling Ozecszling_ozec14730.0/3 = 0.00%14781468
John Twycrossjt14730.0/2 = 0.00%14741471
Pat Quexionezsuperpatzermaste14720.0/4 = 0.00%14711472
Sergey Biryukovsbiryukov14710.0/4 = 0.00%14731469
Kacper Rutkowskikacperrutkowski14710.0/2 = 0.00%14741467
Jean-Louis Cazauxtimurthelenk14701.0/5 = 20.00%14671473
Travis Comptonblackrood14700.0/2 = 0.00%14671473
cherokee malansailorhertzog14700.0/2 = 0.00%14761464
Steve Hsteve_201014700.0/2 = 0.00%14681472
Zoli M Zoltánbaltazarprof14700.0/5 = 0.00%14831457
andrewthepawnandrewthepawn14690.0/2 = 0.00%14661473
iuchi45iuchi4514690.0/2 = 0.00%14681471
dfe6631dfe663114690.0/2 = 0.00%14681470
danielmacduffdanielmacduff14690.0/3 = 0.00%14671470
Adam DeWittchessshogi14690.0/3 = 0.00%14741463
A tomiatomi14684.5/16 = 28.12%14611475
jeremy diniericharles_bukowski14670.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é Csarmaszcsarmi14640.0/3 = 0.00%14761453
playshogiplayshogi14640.0/2 = 0.00%14641464
Michael Nelsonmikenels14640.0/2 = 0.00%14621466
Namik Zadenamik14630.0/2 = 0.00%14611465
michael collinsverderben14631.0/5 = 20.00%14691457
andy lewickietaoni14620.0/2 = 0.00%14621463
Armin Liebhartlunaris145919.0/50 = 38.00%14521466
Michael Huntkronsteen3314580.0/3 = 0.00%14491467
Nick Wolffwolff145626.0/72 = 36.11%14171495
louisvlouisv14550.0/3 = 0.00%14581453
Graemegraemecn14550.0/3 = 0.00%14511459
Andy Lewickiondraszek14550.0/3 = 0.00%14481461
Николай Сокольскийalexich14540.0/4 = 0.00%14611447
John Langleyjonners14520.5/4 = 12.50%14521451
Dayrom Gilallahukbar14520.0/3 = 0.00%14511452
Paul Rapoportnumerist14510.0/4 = 0.00%14581443
Michael Schmahlmschmahl14515.0/15 = 33.33%14601441
Linn Russellfreakat14490.0/3 = 0.00%14491449
Scott McGrealagentofchaos14487.0/19 = 36.84%14511445
Aaron Maynardvopi14481.0/6 = 16.67%14431453
Joshua Tsamraku14485.0/12 = 41.67%14251471
Adalbertus Kchewoj14471.0/5 = 20.00%14421452
vitaliy ravitztalsterch14452.0/15 = 13.33%14341455
Jeremy Goodjudgmentality144443.5/127 = 34.25%14301458
heche60heche6014432.0/12 = 16.67%14451442
dmitarzvonimirdmitarzvonimir14410.0/5 = 0.00%14391443
Sagi Gabaysagig7214410.5/16 = 3.12%14211461
Evan Jorgensonsabataegalo14360.0/7 = 0.00%14241449
Evert Jan Karmanevertvb14352.5/11 = 22.73%14181451
mrxx2016mrxx201614340.0/7 = 0.00%14451422
Phoenix TKartkr10101014332.0/9 = 22.22%14371429
Jon Dannjon_dann14300.0/4 = 0.00%14271433
juan rodriguezrodriguez143011.5/38 = 30.26%14421417
Matthew La Valleesherman10114276.0/23 = 26.09%14091445
Alan Galetornadic14243.0/20 = 15.00%14211427
boukineboukine14224.0/13 = 30.77%13911454
Jack Zavierubersketch14210.0/6 = 0.00%14171425
Daniil Frolovflowermann14193.0/16 = 18.75%14061433
Arthur Yvrardtorendil14160.0/7 = 0.00%14111421
Jeremy Hook10011014152.0/30 = 6.67%14121418
Samuel de Souzasamsou14110.0/8 = 0.00%14111411
George Dukegwduke141142.5/117 = 36.32%13501471
yellowturtleyellowturtle14100.0/10 = 0.00%14131408
John Davischappy14103.0/17 = 17.65%14081413
Evan Jorgensonejorgens14090.0/7 = 0.00%13991418
Вадря Покштяpokshtya14074.0/17 = 23.53%13911422
Митя Стрелецкийsocrat8314020.0/10 = 0.00%13911413
darren paullramalam139713.5/100 = 13.50%13691426
Bogot Bogotolbog138812.0/44 = 27.27%13711404
Jarid Carlsonsacredchao137813.0/68 = 19.12%13451412
Nakanaka13570.0/11 = 0.00%13301383
Сергей Маэстроfantomas13561.0/31 = 3.23%13621350
Diogen Abramelindanko13330.0/35 = 0.00%13181348
Oisín D.sxg131242.0/189 = 22.22%12901334
Сергей Бугаевскийbugaevsky12963.0/56 = 5.36%12901302
wdtr2wdtr2129521.5/147 = 14.63%12721318
per hommerbergper3112852.0/57 = 3.51%12521318
Richard milnersesquipedalian12837.0/87 = 8.05%13071259
Alisher Bolsaniraja8512820.0/46 = 0.00%12621301

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