# Elo/Glicko Rating Lab > Rate players from game results with Elo, Glicko-1 and Glicko-2; history chart and win odds. 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. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://eloglickoratinglab.usefulweb.site/ (interactive tool at https://eloglickoratinglab.usefulweb.site/tool) - JSON API: POST https://eloglickoratinglab.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://eloglickoratinglab.usefulweb.site/api/v1/tool) - OpenAPI: https://eloglickoratinglab.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://eloglickoratinglab.usefulweb.site/mcp - tool `elo_glicko_rating_lab` ## Inputs - games (table, required): Games - One row per game. The score is from the first player's point of view. Games with the same period number form one Glicko rating period. - players (table): Starting ratings (optional) - Players not listed start at 1500, RD 350, volatility 0.06 (Glickman's defaults for unrated players). - eloK (select): Elo K-factor - tau (number): Glicko-2 τ (volatility constraint) - Glickman suggests 0.3–1.2; smaller values change the volatility more slowly. - glickoC (number): Glicko-1 c (RD growth per idle period) - 34.6 lets an RD of 50 grow back to 350 in 100 periods. - playerA (text): Win probability: player A - Default: the two highest-rated players. - playerB (text): Win probability: player B - chartSystem (select): Chart ## Method - 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.