The Elo rating system is a method for calculating the relative skill levels of players in zero-sum games such as chess. Named after its creator Arpad Elo, it's based on a few fundamental principles and mathematical assumptions.

**Zero-Sum Game:**The total amount of rating points in the system remains constant over time. If one player gains points, another loses the same amount.**Expectancy Scores:**The system predicts the expected score of each player, which is their probability of winning plus half their probability of drawing.**Performance Ratings:**A player's performance is rated relative to their opponents. A win against a stronger opponent is worth more than a win against a weaker opponent.

$R' = R + K(S - E)$**Rating Update Formula:**The Elo rating system updates a player's rating based on their performance versus expectations. The formula for updating a player's rating is:Where:

- $R'$ is the new rating.
- $R$ is the current rating.
- $K$ is the K-factor, a constant determining the sensitivity of rating changes.
- $S$ is the score achieved in the event (1 for a win, 0.5 for a draw, and 0 for a loss).
- $E$ is the expected score.

$E = \frac{1}{{1 + 10^{(R_{\text{opponent}} - R)/400}}}$**Expected Score:**The expected score for a player is calculated using the formula:Where:

- $R_{\text{opponent}}$ is the opponent's rating.
- $R$ is the player's current rating. The division by 400 is a scaling factor to provide granularity and control over the sensitivity of rating changes.

**K-Factor:**The K-factor determines how much a player's rating changes after a game. A higher K-factor increases the sensitivity, allowing for rapid changes in a player's rating. Different organizations might use different K-factors based on the level of play or the specific circumstances of the competition.

**Strengths:****Dynamic:**The Elo rating system adjusts after each game, providing a current measure of a player's performance.**Simple:**The system is relatively easy to understand and implement.**Self-Correcting:**Over time, players' ratings will stabilize around their true skill level.

**Limitations:****Initial Rating:**Determining a player's initial rating can be arbitrary and affect their subsequent ratings.**Rating Inflation/Deflation:**Over time, the introduction of new players can lead to rating inflation or deflation within the system.**Sensitivity to K-Factor:**Choosing an inappropriate K-factor can lead to over-sensitive or under-sensitive rating changes.

The Elo rating system provides a robust and straightforward method for ranking players in competitive environments. While it's not without its limitations, its adaptability and simplicity have led to widespread adoption in chess and other competitive games. Understanding the first principles and fundamental truths of the system allows organizations and players to utilize it effectively, adjusting it as needed to fit their specific needs and contexts.