The Elo rating: how it actually works

A rating is not a measure of how much you have played or won. It is a prediction, and everything about the system follows from that one idea. Here is the arithmetic in plain terms, including why a beginner's number jumps around and why you have three different ratings.

The core idea: a rating is a prediction

Take two players with known ratings. The system does not ask who is better - it produces a number: the share of points the higher-rated player is expected to score in a long match.

A game is then compared with that prediction. If the result matches it, ratings barely move. If it contradicts it, the ratings move sharply. That is the whole mechanism, and everything else is detail.

Why beating a weaker player earns almost nothing

Because the system already predicted it. You confirmed what was expected, so there is nothing to correct. And a loss to that same player costs a great deal - the prediction was badly wrong.

The expected score

The expectation depends only on the rating difference, not on the absolute numbers: 1200 against 1000 and 2400 against 2200 give the same prediction.

Rating differenceExpected score of the favourite
050% - a coin toss
100about 64%
200about 76%
400about 91%
800about 99%

Two hundred points is the interval worth remembering: it means roughly three points out of four for the stronger player - noticeable but far from certain. Which is why upsets at that gap are routine rather than remarkable.

How the change is calculated

One formula, and it is simpler than its reputation:

change = K × (actual score − expected score)

The actual score is 1 for a win, 0.5 for a draw and 0 for a loss. The expected score comes from the table above. K is a coefficient described in the next section.

An example: you are rated 1600 and beat somebody rated 1800. The expectation for you was about 0.24, you scored 1, and the difference is 0.76. With K = 20 that is roughly +15 points - and the same 15 come off your opponent, because the system is zero-sum.

Which leads to a useful conclusion: a draw with a much stronger player gains you rating. The expectation was a loss, and half a point beats it.

The K factor: why beginners' ratings jump

K decides how strongly one game moves the number. It is not the same for everyone, and deliberately so: a new player's rating is a guess that needs correcting quickly, while an established player's is based on hundreds of games and should be stable.

  • New players get a high K. The rating settles towards reality within a few events instead of crawling there over years.
  • Established players get a lower one. A single bad tournament should not undo a decade.
  • Top players get the lowest. At that level the numbers are already precise and heavily sampled.
  • Younger players are often given a higher K, because their real strength genuinely changes faster than the rating can follow.

So a beginner swinging fifty points in one event and a master moving three are not inconsistencies - they are the same formula with different K.

Getting a first rating

You cannot compute a rating from nothing: the formula needs both players to have one. So the first is obtained differently.

  • Play rated players. A first rating is earned in events counted by the rating body, against opponents who already have one.
  • A minimum number of games is required. A handful of results is not enough to place somebody on a scale; the exact threshold depends on the rating body.
  • There is usually a floor. Ratings are not published below a certain level, so an absolute beginner starts at the floor rather than at zero.
  • The first number is unstable by design. With a high K it will move a lot before it means anything - that is the system working, not failing.

Practically: to get onto a national or international list you need events that report to it. A club evening does not produce an official rating, however well it is run - what club events do produce.

Three ratings, not one

Classical, rapid and blitz are rated separately, and the numbers routinely differ by a couple of hundred points for the same person.

  • They measure different skills. Calculation over half an hour and pattern recognition in three seconds are not the same ability.
  • They do not convert. There is no formula translating a blitz rating into a classical one, and anyone offering you one is guessing.
  • Titles are based on classical. Which is why blitz ratings, however high, do not earn norms - about titles.
  • Online platforms add more scales. A platform rating is a fourth kind of number and is not comparable with any of these - why online ratings differ.

Rating, titles and club events

Three things get confused constantly, and separating them clears up most questions.

Rating
A number that moves after every rated game. It goes down as easily as up, and it describes your current strength
A title
Earned once and held for life. It reflects results achieved at a particular time and is never taken away when the rating falls
Club standings
Internal to one club. Useful, motivating and entirely unrelated to any official list

For an amateur club the practical answer is usually an internal rating: it gives players visible progress without anybody having to register events with a federation - and visible progress is what keeps people coming back - about retention.

Progress you can see

A club rating shows players they are improving without anybody registering events with a federation - and it is calculated automatically in the Vibe Chess app.

Frequently asked questions about ratings

How is the Elo rating calculated?

By one formula: change equals K times the difference between your actual score and your expected score. The expected score comes from the rating difference alone, and the same number of points that you gain, your opponent loses - the system is zero-sum.

Why do I gain almost nothing for beating a weaker player?

Because the system predicted that result, so there is nothing to correct. The flip side is that losing to the same player costs a lot: the prediction was badly wrong and the rating has to move to account for it.

Does a draw ever gain rating?

Yes - a draw against a much stronger opponent gains points, because the expectation was a loss and half a point beats it. Against a much weaker opponent the same draw loses points.

Why does a beginner's rating jump around?

Because of a higher K factor. A new rating is essentially a guess and needs to reach reality quickly, so each game moves it a lot. Established players have a lower K so that one bad event does not undo years of results.

Why do I have three different ratings?

Classical, rapid and blitz are rated separately because they measure different skills, and they do not convert into one another. Online platform ratings are a further scale again and are not comparable with any of them.

How do I get a first official rating?

By playing enough games against already-rated opponents in events that report to the rating body. A minimum number of games is required, and there is usually a floor below which ratings are not published. A club evening does not produce one, however well run.

The tournament app

A tournament without a paper crosstable

Everything people usually keep in a spreadsheet is already in the app: pairings, points, tie-breaks, round order. Free, with no subscriptions and no cap on the number of players.

Swiss

many players, one evening: four or five rounds are enough

Round robin

the fairest format for six to ten players

Free meetup

not a tournament, just an evening of chess - who is free and who is playing is visible in the app

How the tournament runs
  1. 1Set up the event: date, venue, time control
  2. 2Send the link - players register themselves
  3. 3Pair each round with one tap and enter the results
  4. 4Standings and the TRF export are produced automatically

More than a bot: the app, FIDE rules and a TRF report

  • The app. Besides the bot there is an app - inside Telegram and simply at vibechess.ru/app: what is on in your city, the player list, a live table, the current round, your profile and game history - everything that is awkward to read as chat messages.
  • Pairings by FIDE rules. Pairings are computed by bbpPairings, an open-source engine implementing the Dutch system: score groups, floats on an odd field, colour alternation, no rematches and no two byes in a row.
  • A TRF report. A finished tournament exports as a single file in the FIDE data exchange format - the one arbiter software and federations accept. Your profile stores the FIDE ID, national federation code, title, sex and date of birth for it.
  • Free. All of the above, with no subscriptions, paid plans or limits on the number of tournaments and players.

Full overview

Missing a feature? Message the developers

The bot is constantly improved based on real tournaments. If you need a feature that isn't there yet, message the developers right inside the bot with the /support command. Many features appeared exactly because organizers asked for them, and useful ideas get added quickly.

What to read next

Reference - FIDE titles, tie-breaks, glossary, online ratings.