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'

Warning: 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.27%69.06%68.41%
NameUseridGCRPercent wonGCR1GCR2
Hexa Sakkbosa601861136.5/151 = 90.40%18301891
Francis Fahystamandua1848247.0/298 = 82.89%18251870
dax00dax001818153.0/159 = 96.23%18111826
Kevin Paceypanther1797472.0/574 = 82.23%18111783
Carlos Cetinasissa1731625.5/976 = 64.09%17131749
Cameron Milesshatteredglass171615.0/17 = 88.24%17031728
Jochen Muellerleopold_stotch169955.0/92 = 59.78%16871710
H Spetyura168913.0/13 = 100.00%16931685
Gary Giffordpenswift167960.5/85 = 71.18%15761781
Play Testerplaytester167718.5/25 = 74.00%16761679
Fergus Dunihofergus167363.5/101 = 62.87%16691678
Jose Carrilloj_carrillo_vii166687.5/155 = 56.45%16641669
Tim O'Lenatim_olena16449.5/12 = 79.17%16401648
David Paulowichdavid_64162711.0/13 = 84.62%16251628
Vitya Makovmakov3331625339.0/730 = 46.44%15801670
Daniel Zachariasarx162187.0/154 = 56.49%16301612
shift2shiftshift2shift161911.0/19 = 57.89%16281610
Homo Simiaalienum16167.0/8 = 87.50%16091624
Charles Danielfrozen_methane161435.0/64 = 54.69%15871640
Vitya Makovmakov16137.5/8 = 93.75%16071619
Andreas Kaufmannandreas16087.0/7 = 100.00%16101605
Pericles Tesone de Souzaperitezz15888.0/8 = 100.00%15881588
ctzctz157912.0/17 = 70.59%15541605
kokoszkokosz15767.0/8 = 87.50%15611590
attack hippoattackhippo15765.5/7 = 78.57%15721579
Abdul-Rahman Sibahisibahi157516.0/23 = 69.57%15671583
erikerik1574140.5/260 = 54.04%16211528
je jujejujeju157336.5/60 = 60.83%15711574
Alexander Trotterqilin15704.0/4 = 100.00%15711569
Stephen Stockmanstevestockman157010.0/16 = 62.50%15731566
TH6notath615677.0/12 = 58.33%15581577
Jenard Cabilaomgawalangmagawa156711.0/23 = 47.83%15801554
John Gallantbigjohn156416.0/28 = 57.14%15501578
Raymond Dlewel156013.0/22 = 59.09%15761544
Stephen Williamsneph15594.0/4 = 100.00%15541565
Isaac Felpsattacker14415585.0/6 = 83.33%15591557
Nicholas Wolffnwolff15559.0/15 = 60.00%15721537
Nicola Caridiniccar15543.0/3 = 100.00%15571550
Thor Slavenskyslavensky15535.0/7 = 71.43%15391567
Roberto Lavierirlavieri200315493.0/3 = 100.00%15441555
pallab basupallab154731.0/60 = 51.67%15321561
Greg Strongmageofmaple154694.0/201 = 46.77%15961497
carlos carloscarlos154416.0/27 = 59.26%15221567
S Ssim15436.0/9 = 66.67%15311554
michirmichir15412.0/2 = 100.00%15421540
Sandra#Paul BRANDLYARDsandravers13067515393.0/4 = 75.00%15371541
Tom e4ktome4k15362.0/2 = 100.00%15351536
Neil Spargospargo15353.0/4 = 75.00%15281542
Eric Greenwoodcavalier15344.0/6 = 66.67%15431525
Todd Witterstoddw15342.0/2 = 100.00%15331535
Nicholas Wolffmaeko153365.5/142 = 46.13%15561510
Julien Coll Moratfacteurix15312.0/3 = 66.67%15311532
Matthew Montchalinmatthew_montchal15313.0/4 = 75.00%15291533
Jake Palladinocerebralassassin15312.0/2 = 100.00%15271534
Fred Koktangram15282.0/3 = 66.67%15301526
joe rosenbloombootzilla15282.0/3 = 66.67%15271529
Christine Bagley-Joneszcherryz15281.5/2 = 75.00%15321523
Joseph DiMurotrojh15271.0/1 = 100.00%15331521
Uwe Kreuzercaissus15272.0/2 = 100.00%15251529
Chuck Leegyw6t152517.5/39 = 44.87%15161534
Adrian Alvarez de la Campaadrian15243.5/6 = 58.33%15241524
Yeinzon Rodríguez Garcíayeinzon15241.0/1 = 100.00%15271520
Tom Westtwrecks15211.0/1 = 100.00%15241519
dicepawndicepawn15201.0/1 = 100.00%15221518
von raidervonraider15201.0/1 = 100.00%15211519
Larry Wheelerbrainburner15191.0/1 = 100.00%15201519
Dougbughouse15191.0/1 = 100.00%15201518
Todor Tchervenkovtchervenkov15181.0/1 = 100.00%15181519
Garrett Smithgmsmith15181.0/2 = 50.00%15231513
Richard Titlertitle15181.0/1 = 100.00%15191518
Angel47 Usmanangel4715181.0/1 = 100.00%15181518
whitenerdy53whitenerdy5315181.0/1 = 100.00%15181518
calebblazecalebblaze15181.0/1 = 100.00%15181518
David Levinsmidrael15181.0/1 = 100.00%15181518
eunchong leeeunchong15181.0/1 = 100.00%15181518
Antonio Bruzzitotonno_janggi15181.0/1 = 100.00%15181518
Trevor Savagesavage15181.0/1 = 100.00%15181518
jj15181.0/1 = 100.00%15181518
yas kumkumagai15181.0/1 = 100.00%15181518
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%15181516
bosa6bosa615171.0/1 = 100.00%15161518
Aaron Smithzirtoc15162.5/5 = 50.00%15121520
Joe Joycejoejoyce151620.5/59 = 34.75%14721560
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
Leon Careyleoncarey15121.0/1 = 100.00%15071518
xxmanxxman15121.0/2 = 50.00%15171507
spiptorben15121.0/2 = 50.00%15151509
Georg Spengleravunjahei15119.0/28 = 32.14%15011521
pheko Motaungcouriermabovini151035.5/70 = 50.71%15611460
Antoine Fourrièreantoinefourriere15101.5/2 = 75.00%15041516
Nathanlokor15091.0/2 = 50.00%15121506
mystery playercentipede15092.0/5 = 40.00%15121505
xeongreyxeongrey15088.0/17 = 47.06%15161499
Zachary Wadeazost1215063.0/5 = 60.00%14981513
As Bardhiasbardhi15051.0/2 = 50.00%15091501
Anthony Viensstarkiller15052.0/4 = 50.00%14991511
Albert Vámosiblackrider_4815031.0/4 = 25.00%15161490
Gee Beegdimension15031.0/2 = 50.00%15031502
Graeme Neathamgrayhawke15031.0/2 = 50.00%15031503
Colin Adamslionhawk15021.0/2 = 50.00%15051500
Hans Henrikssonhasurami15022.0/4 = 50.00%14921512
Tom Trenchtomdench9515010.5/1 = 50.00%15011501
Kent Weschlerperplexedibex15001.0/3 = 33.33%15001501
Eni Lienili149911.5/46 = 25.00%15191480
noy noynoy14993.0/7 = 42.86%14861512
Thom Dimentunwiseowl14992.0/5 = 40.00%15001497
Colin Weaveruselessgit14971.0/4 = 25.00%14991496
Juan Pablo Schweitzer Kirsingerdefender14971.0/2 = 50.00%14951499
Max Fengwowimbob111214941.0/3 = 33.33%14971492
John Smithultimatecoolster14943.0/9 = 33.33%14951493
Jean-Louis Cazauxtimurthelenk14921.0/3 = 33.33%14891496
Hugo Mendes-Nuneshugo199514920.0/1 = 0.00%14961488
Anders Gustafsonancog14920.0/1 = 0.00%14961488
Fabner Cruz Gracilianofabner14920.0/1 = 0.00%14961487
Bob Brownbobhihih14910.0/1 = 0.00%14961487
wyatt wyattquimssarcasm14910.0/1 = 0.00%14961486
jesus babyboypokechamp14910.0/1 = 0.00%14961485
Steve Polleychessfan5914910.0/1 = 0.00%14941487
Hsa Saidh14910.0/1 = 0.00%14961485
loveokenloveoken14900.0/1 = 0.00%14951486
kunkunkunkun14900.0/1 = 0.00%14971484
xerisianxxerisianx14900.0/1 = 0.00%14951486
Michael Christensenjustsojazz14900.0/1 = 0.00%14961484
Ben Reinigerbenr14900.0/1 = 0.00%14951485
hubergerdhubergerd14900.0/1 = 0.00%14961484
Éric Manálangedubble1914900.0/1 = 0.00%14951484
Matias I.tsatziq14890.0/1 = 0.00%14951484
Jason Stehlyjasonstehly14890.0/1 = 0.00%14951484
don anezdonanez14890.0/1 = 0.00%14961483
ugo judeugojude14890.0/1 = 0.00%14951484
makomako14890.0/1 = 0.00%14961482
Boyko Ahtarovzdra4148910.0/23 = 43.48%14891489
Ricardo Florentinoricmf14890.0/1 = 0.00%14951483
DFA Productions70nyd014890.0/1 = 0.00%14961482
John Badgerjbadger14890.0/1 = 0.00%14951483
Hafsteinn Kjartanssonhnr0114890.0/1 = 0.00%14961481
Urvish Desaiurvishdesai14890.0/1 = 0.00%14951482
vikvik14890.0/1 = 0.00%14961481
Samuel Hoskinscouriergame14890.0/1 = 0.00%14951482
potato imaginatorpotato14880.0/1 = 0.00%14951481
Esperllynmogik14880.0/1 = 0.00%14951481
Rob Brownsteelhead14870.0/1 = 0.00%14911483
Dead Accountqqzlbpdilchr14870.0/1 = 0.00%14901483
DJ Linickdjlinick14860.0/1 = 0.00%14911482
Ivan Velascoswordandsilver14860.0/1 = 0.00%14911481
Mike Smolowitzmjs170114860.0/1 = 0.00%14891482
Bradlee Kingstonbrad1914850.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
Erlang Shenerlangshen14850.0/1 = 0.00%14891481
Travis Comptonironlance14850.0/1 = 0.00%14881482
Nasmichael Farrismichaeljay14850.0/1 = 0.00%14891481
scythian blunderq1234514850.0/2 = 0.00%14891481
Brock Sampsonthe_iron_kenyan14850.0/1 = 0.00%14881481
Julianredpanda148517.0/35 = 48.57%14631506
Jun Ocampojunpogi14840.0/2 = 0.00%14891480
higuyzzz91028 Charles Kimdallastexas14840.0/1 = 0.00%14871481
Derek Mooseelevatorfarter14841.0/3 = 33.33%14841484
Jacob Eugenioe45w14840.0/1 = 0.00%14871481
James Sprattwhittlin14840.0/1 = 0.00%14861481
Alexandr Kremenakremen14840.0/1 = 0.00%14861481
yi fang liuliuyifang14840.0/1 = 0.00%14851482
Jeremy Goodyamorezu14840.0/1 = 0.00%14861481
sixtysixty14840.0/3 = 0.00%14851482
andy lewickiherlocksholmes14830.0/1 = 0.00%14861481
Paolo Porsiapillau14830.0/1 = 0.00%14841482
Turk Osterburgtalen3141593141514830.0/1 = 0.00%14851481
kittredge Drakedghand14830.0/1 = 0.00%14851481
Ronald Brierleybenwb14830.0/1 = 0.00%14851480
László Gadosdani198314831.0/4 = 25.00%14801485
Dan Kellydankelly14830.0/1 = 0.00%14841481
Solomon Salamasol71014830.0/1 = 0.00%14821483
Hung Daobyteboy14830.0/1 = 0.00%14841481
btstwbtstw14830.0/1 = 0.00%14821483
Andreas Bunkahlebunkahle14830.0/1 = 0.00%14831482
Jose Canceljoche14830.0/1 = 0.00%14831482
Roberto Cassanotamerlano14830.0/1 = 0.00%14841481
Antony Vailevichjabberw0cky114820.0/1 = 0.00%14831482
MichaÅ‚ Jarskihookz14820.0/1 = 0.00%14841481
Mark Thompsonmarkthompson14820.0/2 = 0.00%14921473
Tony Quintanillatony_quintanilla14820.0/1 = 0.00%14831481
cdpowercdpower14820.0/1 = 0.00%14831481
manolo manolomanolo14820.0/1 = 0.00%14831481
Giuseppe Acciarocoopwie14822.0/5 = 40.00%14791484
anna colladoapatura_iris14820.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%14811482
Robin Sneijderrobinwooter214820.0/1 = 0.00%14821481
Виктор Байгужаковbajvik14820.0/1 = 0.00%14811482
legendlegend14810.0/2 = 0.00%14901473
Babo Jeffbabojeff14810.0/1 = 0.00%14811481
wonsang leewonsang14810.0/1 = 0.00%14811481
Ryan Schwartzshunoshi14810.0/1 = 0.00%14811481
Harry Gaoharrygao14810.0/1 = 0.00%14811481
14810.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
ben chewben558214810.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
Nicholas Archerchess_hunter14810.0/2 = 0.00%14861475
arcasorarcasor14800.0/1 = 0.00%14801481
Diego M.diego14800.0/3 = 0.00%14861474
rederikrederik14800.0/1 = 0.00%14791480
Francesco Casalinofrancesco14790.0/2 = 0.00%14831476
Bn Emnelk11414790.0/2 = 0.00%14831475
voicantvoicant14780.0/1 = 0.00%14771480
qidb602qidb60214780.0/2 = 0.00%14831473
ologyology14780.0/1 = 0.00%14741481
Ivan Kosintsevbombino14780.0/1 = 0.00%14741481
andres fuentesxabyer14770.0/2 = 0.00%14801473
championchampion14770.0/2 = 0.00%14831470
Frank Istvánistvan6014770.0/2 = 0.00%14861467
Alexander Krutikovlonewolf14761.0/4 = 25.00%14721479
Ivan Ivankillbill22514760.0/1 = 0.00%14701481
trtztrtz gfghtrtztrtz14750.0/2 = 0.00%14811470
tedy efwttei27fmrw7de14750.0/1 = 0.00%14691481
Francisco Magalhãeslowcarbknight14750.0/1 = 0.00%14681482
wdtrwdtr14750.0/3 = 0.00%14781472
Armin Liebhartlunaris147519.0/47 = 40.43%14581491
Aurelian Floreacatugo1475239.5/690 = 34.71%15501399
Pablo Denegrideep_thinker14740.0/2 = 0.00%14731474
Lennon Figueiredogiwseppe14731.0/4 = 25.00%14711476
Charles Gilmancharles_gilman14730.0/2 = 0.00%14761471
John Twycrossjt14730.0/2 = 0.00%14751471
Sergey Biryukovsbiryukov14720.0/4 = 0.00%14731471
Szling Ozecszling_ozec14720.0/3 = 0.00%14771467
Pat Quexionezsuperpatzermaste14710.0/4 = 0.00%14741468
Kacper Rutkowskikacperrutkowski14710.0/2 = 0.00%14731468
Travis Comptonblackrood14710.0/2 = 0.00%14701471
Steve Hsteve_201014710.0/2 = 0.00%14691472
Zoli M Zoltánbaltazarprof14700.0/5 = 0.00%14831457
A tomiatomi14694.5/16 = 28.12%14621476
andrewthepawnandrewthepawn14690.0/2 = 0.00%14651473
iuchi45iuchi4514690.0/2 = 0.00%14681469
Daniel MacDuffdanielmacduff14690.0/3 = 0.00%14701468
dfe6631dfe663114690.0/2 = 0.00%14671470
Adam DeWittchessshogi14680.0/3 = 0.00%14741462
jeremy diniericharles_bukowski14680.0/2 = 0.00%14671469
cherokee malansailorhertzog14670.0/2 = 0.00%14711464
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%14751455
playshogiplayshogi14640.0/2 = 0.00%14641464
Michael Nelsonmikenels14640.0/2 = 0.00%14611466
Namik Zadenamik14630.0/2 = 0.00%14611465
michael collinsverderben14631.0/5 = 20.00%14681457
andy lewickietaoni14630.0/2 = 0.00%14621463
Paul Rapoportnumerist14600.0/3 = 0.00%14641457
Michael Huntkronsteen3314570.0/3 = 0.00%14481467
Graemegraemecn14560.0/3 = 0.00%14541458
louisvlouisv14550.0/3 = 0.00%14571453
Andy Lewickiondraszek14550.0/3 = 0.00%14521458
Nick Wolffwolff145326.0/72 = 36.11%14141492
John Langleyjonners14520.5/4 = 12.50%14521451
Николай Сокольскийalexich14520.0/4 = 0.00%14551448
Dayrom Gilallahukbar14510.0/3 = 0.00%14521451
Michael Schmahlmschmahl14515.0/15 = 33.33%14601442
Вадря Покштяpokshtya14511.0/6 = 16.67%14471455
Joshua Tsamraku14505.0/12 = 41.67%14271473
Scott McGrealagentofchaos14507.0/19 = 36.84%14501450
Linn Russellfreakat14490.0/3 = 0.00%14491449
Aaron Maynardvopi14491.0/6 = 16.67%14441453
Adalbertus Kchewoj14481.0/5 = 20.00%14441452
Richard milnersesquipedalian14465.0/15 = 33.33%14401453
vitaliy ravitztalsterch14462.0/15 = 13.33%14361455
Jeremy Goodjudgmentality144443.5/127 = 34.25%14391448
heche60heche6014432.0/12 = 16.67%14451442
boukineboukine14404.0/12 = 33.33%14141466
Sagi Gabaysagig7214380.5/16 = 3.12%14211456
dmitarzvonimirdmitarzvonimir14380.0/5 = 0.00%14341442
Evan Jorgensonsabataegalo14360.0/7 = 0.00%14241447
Phoenix TKartkr10101014332.0/9 = 22.22%14371429
Evert Jan Karmanevertvb14322.5/11 = 22.73%14201444
Jon Dannjon_dann14300.0/4 = 0.00%14271433
juan rodriguezrodriguez142711.5/38 = 30.26%14421413
Matthew La Valleesherman10114276.0/23 = 26.09%14041449
Alan Galetornadic14223.0/20 = 15.00%14171426
Daniil Frolovflowermann14213.0/16 = 18.75%14021440
Jack Zavierubersketch14200.0/6 = 0.00%14171423
Arthur Yvrardtorendil14160.0/7 = 0.00%14111421
Jeremy Hook10011014132.0/30 = 6.67%14111416
George Dukegwduke141242.5/117 = 36.32%13521473
Samuel de Souzasamsou14110.0/8 = 0.00%14111411
John Davischappy14103.0/17 = 17.65%14001420
yellowturtleyellowturtle14100.0/10 = 0.00%14131407
Evan Jorgensonejorgens14090.0/7 = 0.00%14011417
Митя Стрелецкийsocrat8314020.0/10 = 0.00%13901413
darren paullramalam139613.5/100 = 13.50%13701422
Bogot Bogotolbog138812.0/44 = 27.27%13691408
Jarid Carlsonsacredchao138013.0/68 = 19.12%13411418
Nakanaka13660.0/11 = 0.00%13801353
Сергей Маэстроfantomas13430.0/30 = 0.00%13561329
Diogen Abramelindanko13330.0/35 = 0.00%13191347
Oisín D.sxg130442.0/189 = 22.22%12831324
per hommerbergper3113022.0/48 = 4.17%12851319
wdtr2wdtr2129420.5/142 = 14.44%12601327
Сергей Бугаевскийbugaevsky12923.0/56 = 5.36%12741310
Alisher Bolsaniraja8512840.0/45 = 0.00%12601308

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