{
  "id": "chess-rating",
  "version": "d49c1580d61d",
  "status": "published",
  "name": "Chess Rating Calculator",
  "question": "How will my chess rating change?",
  "summary": "Computes a chess rating change with the Elo formula and the FIDE K factors from your rating and each game’s opponent rating and result.",
  "category": "game",
  "subcategory": "tabletop",
  "url": "https://www.acalculator.org/game/chess-rating-calculator",
  "markdown": "https://www.acalculator.org/game/chess-rating-calculator.md",
  "kind": "function",
  "method": "Expected score per game = 1 ÷ (1 + 10^(−D ÷ 400)), D = your rating − opponent rating (at most ±400 below 2650); change = K × (total score − total expected score), rounded; K ≤ 700 ÷ games.",
  "assumptions": [
    "The expected score comes from the Elo formula. FIDE reads it from its own table (rating regulations 8.1.2), rounded to two decimals, so an official FIDE change can differ from this one by a fraction of a point per game.",
    "All games are in one rating period, scored against your rating before the games."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "r": {
        "title": "Your rating",
        "description": "Your rating before the games.",
        "type": "integer",
        "minimum": 0,
        "maximum": 4000
      },
      "k": {
        "title": "K factor",
        "description": "FIDE: 40 for a new player (under 30 games), or rated below 2300 until the end of the year of the 18th birthday; 20 below 2400; 10 once 2400 has been reached.",
        "type": "string",
        "enum": [
          "40",
          "20",
          "10",
          "custom"
        ]
      },
      "kc": {
        "title": "Your K factor",
        "description": "The K factor your federation or site uses, for example 32.",
        "type": "number",
        "minimum": 1,
        "maximum": 100
      },
      "games": {
        "title": "Games",
        "description": "One row per game: the opponent’s rating and your result.",
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "o": {
              "title": "Opponent rating",
              "description": "The opponent’s rating before the game.",
              "type": "integer",
              "minimum": 0,
              "maximum": 4000
            },
            "w": {
              "title": "Result",
              "description": "Your result: a win scores 1, a draw 0.5, a loss 0.",
              "type": "string",
              "enum": [
                "1",
                "0.5",
                "0"
              ]
            }
          }
        }
      }
    }
  },
  "outputs": {
    "change": {
      "label": "Rating change",
      "description": "K × (score − expected score), rounded to the nearest whole number (halves away from zero).",
      "format": "integer"
    },
    "newRating": {
      "label": "New rating",
      "description": "Your rating plus the rounded change.",
      "format": "integer"
    },
    "exactChange": {
      "label": "Change before rounding",
      "description": "K × (score − expected score), before rounding.",
      "format": "number"
    },
    "score": {
      "label": "Your score",
      "description": "Wins count 1, draws 0.5, losses 0.",
      "format": "number"
    },
    "expected": {
      "label": "Expected score",
      "description": "The sum over the games of 1 ÷ (1 + 10^(−D ÷ 400)), where D is your rating minus the opponent’s.",
      "format": "number"
    },
    "kUsed": {
      "label": "K factor used",
      "description": "The K factor, lowered when K × games would pass 700 (FIDE rule).",
      "format": "number"
    },
    "count": {
      "label": "Games",
      "description": "How many games are counted.",
      "format": "integer"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "r": 1500,
      "k": "20",
      "kc": 32,
      "games": [
        {
          "opponent": 1700,
          "result": "1"
        }
      ]
    },
    "outputs": {
      "change": 15,
      "newRating": 1515,
      "exactChange": 15.19493853295916,
      "score": 1,
      "expected": 0.2402530733520421,
      "kUsed": 20,
      "count": 1
    },
    "text": "With a rating of 1,500 and K = 20, your rating changes by 15 to 1,515."
  },
  "examples": [
    {
      "given": {
        "r": 1500,
        "k": "20",
        "games": [
          {
            "opponent": 1700,
            "result": "1"
          }
        ]
      },
      "expect": {
        "expected": 0.2402530733520421,
        "exactChange": 15.19493853295916,
        "change": 15,
        "newRating": 1515
      },
      "source": "hand calculation in content.mdx: 1 ÷ (1 + √10) = 0.24025, 20 × 0.75975 = 15.19; Glickman and Doan, The US Chess Rating System, US Chess, 2026, section 4.2 (winning expectancy). https://new.uschess.org/sites/default/files/media/documents/us_chess_rating_system_specs-2026-04-06.pdf; FIDE Handbook B.02, FIDE Rating Regulations effective 1 March 2024, section 8.3 (the 400-point rule for players below 2650 effective 1 October 2025). https://handbook.fide.com/chapter/B022024"
    },
    {
      "given": {
        "r": 2100,
        "k": "20",
        "games": [
          {
            "opponent": 2100,
            "result": "0.5"
          },
          {
            "opponent": 2300,
            "result": "0"
          }
        ]
      },
      "expect": {
        "expected": 0.740253073352042,
        "exactChange": -4.805061467040841,
        "change": -5,
        "newRating": 2095
      },
      "source": "hand calculation in content.mdx: 20 × (0.5 − 0.74025) = −4.81; FIDE Handbook B.02, FIDE Rating Regulations effective 1 March 2024, section 8.3 (the 400-point rule for players below 2650 effective 1 October 2025). https://handbook.fide.com/chapter/B022024"
    },
    {
      "given": {
        "r": 1500,
        "k": "20",
        "games": [
          {
            "opponent": 2100,
            "result": "0"
          }
        ]
      },
      "expect": {
        "expected": 0.09090909090909091,
        "change": -2
      },
      "source": "FIDE Handbook B.02, FIDE Rating Regulations effective 1 March 2024, section 8.3 (the 400-point rule for players below 2650 effective 1 October 2025). https://handbook.fide.com/chapter/B022024 (8.3.1, the 400-point rule); hand calculation in content.mdx: 20 × (0 − 1/11) = −1.82"
    },
    {
      "given": {
        "r": 2700,
        "k": "10",
        "games": [
          {
            "opponent": 2200,
            "result": "1"
          }
        ]
      },
      "expect": {
        "expected": 0.9467597847979775,
        "change": 1
      },
      "source": "FIDE Handbook B.02, FIDE Rating Regulations effective 1 March 2024, section 8.3 (the 400-point rule for players below 2650 effective 1 October 2025). https://handbook.fide.com/chapter/B022024 (8.3.1); hand calculation in content.mdx: 10 × (1 − 0.94676) = 0.53"
    },
    {
      "given": {
        "r": 1500,
        "k": "40",
        "games": [
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          }
        ]
      },
      "expect": {
        "kUsed": 25,
        "expected": 13.5,
        "exactChange": 12.5,
        "change": 13
      },
      "source": "FIDE Handbook B.02, FIDE Rating Regulations effective 1 March 2024, section 8.3 (the 400-point rule for players below 2650 effective 1 October 2025). https://handbook.fide.com/chapter/B022024 (8.3.3 K × n ≤ 700, 8.3.4 rounding); hand calculation in content.mdx: 25 × (14 − 13.5) = 12.5"
    },
    {
      "given": {
        "r": 1500,
        "k": "40",
        "games": [
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "1"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          },
          {
            "opponent": 1500,
            "result": "0"
          }
        ]
      },
      "expect": {
        "exactChange": -12.5,
        "change": -13,
        "newRating": 1487
      },
      "source": "FIDE Handbook B.02, FIDE Rating Regulations effective 1 March 2024, section 8.3 (the 400-point rule for players below 2650 effective 1 October 2025). https://handbook.fide.com/chapter/B022024 (8.3.4); hand calculation in content.mdx: 25 × (13 − 13.5) = −12.5"
    }
  ],
  "sources": [
    "FIDE Handbook B.02, FIDE Rating Regulations effective 1 March 2024, section 8.3 (the 400-point rule for players below 2650 effective 1 October 2025). https://handbook.fide.com/chapter/B022024",
    "Glickman and Doan, The US Chess Rating System, US Chess, 2026, section 4.2 (standard winning expectancy). https://new.uschess.org/sites/default/files/media/documents/us_chess_rating_system_specs-2026-04-06.pdf"
  ],
  "related": [
    "nether-portal",
    "point-buy",
    "probability"
  ],
  "changelog": []
}
