Elo/Glicko Rating Lab
Rate players from game results with Elo, Glicko-1 and Glicko-2; history chart and win odds.
Try an example: Glickman's worked example (1500 vs 1400, 1550, 1700) · Small club league over three periods
How it works
Enter game results (win, draw, loss) grouped into rating periods and see the ratings under Elo (fixed K or FIDE-style K), Glicko-1 and Glicko-2, implemented exactly as in Mark Glickman's papers, with the rating deviation and volatility, a rating history chart and the win probability between any two players.
- Elo: expected score E = 1 / (1 + 10^((R_opp − R)/400)); after every game R ← R + K(S − E) for both players, in input order. The FIDE-style option uses K = 40 for a player's first 30 games, then 20, and 10 once the player has reached 2400 (the age rule is not modelled).
- Glicko-1 (Glickman 1999): all games of a period are rated together with each player's pre-period values; RD shrinks with games and grows by c per idle period: RD = min(√(RD² + c²·t), 350).
- Glicko-2 (Glickman, "Example of the Glicko-2 system"): steps 1–8 on the μ/φ scale (÷ 173.7178) with the Illinois algorithm (ε = 0.000001) for the new volatility; players without games only have φ increased to √(φ² + σ²).
- Win probability: Elo uses E above; Glicko uses E = 1 / (1 + 10^(−g(√(RD_A² + RD_B²))·(R_A − R_B)/400)) with g(RD) = 1 / √(1 + 3q²RD²/π²), q = ln 10 / 400. Draws count as half a win.
Sources
For scripts and AI agents
- JSON API:
POST https://eloglickoratinglab.usefulweb.site/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://eloglickoratinglab.usefulweb.site/mcp· tool nameelo_glicko_rating_lab
Example request
curl -s -X POST https://eloglickoratinglab.usefulweb.site/api/v1/calculate \
-H 'content-type: application/json' \
-d '{"games":[{"period":1,"player":"Player","opponent":"A","score":"1"},{"period":1,"player":"Player","opponent":"B","score":"0"},{"period":1,"player":"Player","opponent":"C","score":"0"}],"players":[{"name":"Player","rating":1500,"rd":200,"volatility":0.06},{"name":"A","rating":1400,"rd":30},{"name":"B","rating":1550,"rd":100},{"name":"C","rating":1700,"rd":300}],"tau":0.5}'Related tools
- Random Generator – Random numbers, dice, coins, list picks, shuffles, fair teams, dates, strings and UUIDs.