Skip to content

Rating systems, Elo, csgo, and you

Sean Lewis edited this page Mar 29, 2015 · 2 revisions

There are many common misconceptions about ranking systems in general. The goal of this page is to clarify them some of them. Elo is just one of them. The terms "Elo", "rank", and "rating" are not synonyms.

Here's another good writeup about matchmaking systems in video games: http://www.reddit.com/r/GlobalOffensive/comments/1a24kp/understanding_matchmaking_systems_a_small_history/

Rating Systems

A rating system is just any system that assigns agents some form of rating that is meant to indicate their skill level. There are many ways to do this.

Elo

A elo rating system implementation keeps track of a single-number rating for each agent. Each game they play, those values are updated depending on whether they win or lose.

There are many variations, "Elo" is just a method of computing these ratings - you can apply many small variations. The multi1v1 plugin doesn't do anything fancy.

The core idea is that you have a way of determining the probability for each agent to win. For example, if we have a rating system centered around 1500 points and agent1 has a rating of 1450 and agent2 has a rating of 1700 we would expect the probability of agent2 to win to be greater than 0.5. The exact value will depend on an arbitrary constant used in the system (that's DISTRIBUTION_SPREAD in the muliti1v1 code).

Another value used in the update equations is typically K, often called the "K factor". It is multiplied by the probability of the loser had to win. So if there was only a 10% of agent1 winning, we get K*0.1 as the elo rating delta. Agent1 gains that many points, agent2 loses that many. Some systems use a varying K based on the ratings of the players or how many games played. Multi1v1 keeps a constant K factor of 8.0.

http://en.wikipedia.org/wiki/Elo_rating_system#Theory

Other rating systems

Here are some alternatives to the Elo method, all of which are generally more sophisticated:

  1. Glicko-2
  2. TrueSkill (well known for Microsoft's use of it in Xbox Live matchmaking)

CS:GO's player rating & matchmaking system

Very little is known about the particular implementation Valve uses. Some steam guides try to perpetuate ridiculous falsehoods about it.

Vitality from Valve has mentioned a few things in response to the above guide indicating the rating system was based on glicko2 and tweaked. It's not Elo - using plain Elo would crash and burn if attempted to be used in CS:GO in such a large system.

The point is: not only does your "rank" not matter, it most certainly shouldn't be called your "elo score".