Leetify Rating - a quantum leap for measuring CS:GO performance

People love rankings. But to generate rankings, we need a universal metric to compare between players. CS:GO has long relied on a few simplistic systems that are all mostly focused on who deals the last point of damage to an enemy, without considering context such as a kill’s impact on the round or who else was involved in the duel. In short, there are two large problems with rating systems used today (e.g. HLTV Rating 2.0, K/D Ratio, KAST):

  1. It is too easy to get a lot of credit from un-impactful kills, meaning kills against poorly equipped opponents and/or in situations where an opponent is heavily outnumbered. Moreover, when playing correctly, it is just a matter of who actually finishes them off, not if they will be finished off.
  2. Too much focus on who deals the last point of damage (to get a kill), while other contributions to winning a round such as being traded, good positioning or flash assists are either ignored or included in a very arbitrary / rudimentary way.

Today we announce Leetify Rating, a win rate impact based and economy-adjusted player rating system for CS:GO. This rating aims to solve the problems mentioned above, and create a new, more accurate, way of looking at who had the most impact in a match or tournament. Using Leetify Rating, players will get punished harder for throwing rounds away against ecos and the rating will actually reflect just how important that double-entry on a Deagle round was.

How Leetify Rating works - a TL;DR

We think that transparency is important around a rating system if it’s to be widely used in the community. As such, we’ve fully documented how Leetify Rating works here, if you want more details. What follows is a description that is as short and simple as possible, hence it’s lacking a lot of nuance.

The three main concepts that work together to produce the Leetify Rating are:

  • Using the round win probability before/after key events to give out and remove points
  • Including trades meaningfully, to avoid kill-order being very important when kills happen nearly simultaneously
  • Attribution of points based on more contributions to kills than just the final point of damage and the binary idea of an assist

Our key innovation is that we decided to use a win probability model to award or penalize players for in-game actions. We evaluate the win probability before and after specific events occur, and if your team gained win probability through the event (like if you just get an untraded kill) you will gain rating - if your team lost win probability (perhaps you traded 1 for 1 in a 2v3, leaving your last teammate in a 1v2) you will lose rating.

The advantage to incorporating a win probability model is that it gives us a way to measure the importance of each kill in the context of each specific round, rather than assigning some universal value to a kill, a point of damage, or a flash assist. Most importantly, we can take two key variables into account when calculating the impact of each event in the round:

  1. The economy of each team at the time of the kill
  2. The number of players alive on each team at the time of the kill

An important thing to notice about a win probability model for this purpose is that it is not trying to be the perfect live-betting bot. We intentionally do not include things like specific positioning or specific skill levels of players, because a player over-performing in a round should be rewarded with points from our system. If our model knew that s1mple was more likely to win a 1v2 than the average player, then he would not be rewarded for doing so.

We apply our win probability model whenever a key event happens. Key events are kills, a round ending with players alive on both teams, or a round starting where one team has saved some gear. When kills happen in quick succession, they are added to a kill chain. This allows us to allow an entire fight to play out before evaluating the impact on the round’s win probability for each respective team, and the contributions of any player involved. This is integral to our goal of shifting the focus of this rating away from individual kills and instead onto the degree to which each player helped or hurt their team's odds of winning the round.

To still reward the players that contribute the most to a kill, we use a weighting system that looks at contributions to kills in duels and distributes the total round win probability difference as points for the teams based on those contributions. Specifically we give the following weights to different actions related to kills:

  • Getting the kill - 35%
  • Damage dealers - 30%
  • Traded players - 20%
  • Flash assisters - 15%

Quick recap: Each kill corresponds to change in win probability for your team. Depending on how you contributed to a kill, you will be awarded some fraction of the win probability gained in the form of Leetify Rating. This means that at the end of the game, Leetify Rating is a reflection of how a player  tended to impact their team's odds of winning each round.

That should give you the general idea, but keep reading if you want more details and some great examples illustrating how Leetify Rating innovates over other advanced metrics for CS:GO.

How context impacts Leetify Rating

To show why it’s important for context to be included in a performance metric like Leetify Rating, let’s take a look at two rounds that are similar on paper, but where a player’s impact on the round & match is very different:

Player Kills Deaths Damage K/D Ratio Leetify Rating Watch
broky 5 0 481 5.0 +9 Clip
refrezh 5 0 393 5.0 +94 Clip

Leetify Rating got an upgrade! The ratings you see in the next few sections are using the old method of computing rating, which was changed on 2022-03-11. Check out this post for the full details.


HLTV Rating (both 1.0 and 2.0) makes little to no difference between the impact of these rounds since it’s almost exclusively based on Kill-Death Ratio. While some things like clutching are included in their Impact Rating, it is simply a sub-metric and small part of HLTV Rating. What’s more, Impact rating also includes kill related metrics such as multi kills, making the importance of a clutch even more watered out. Below we’ll show how Leetify Rating, unlike HLTV Rating 2.0, is able to distinguish between the massive differences in the importance of these kills, and reward / punish players accordingly.

Broky 5K

broky's ace and how his Leetify Rating for the round was calculated. Click the image for a larger version.

While broky’s ace offers up some crisp aim, the result of this round is almost a foregone conclusion given the big difference in economy (FaZe on a full buy, Mouz on glocks). The odds of FaZe winning the round start off at 91% due to their extreme equipment advantage, and broky’s first kill takes this all the way up to 97%. After the initial kills, the importance of each kill is lessened and broky (or anyone else that might get a kill at this point) is given less and less Leetify Rating, while other systems such as KDR or HLTV Rating would amp up the level of reward given to broky due to the high focus on kills & multi-kills.

While an ace is certainly flashy, broky getting all of the kills here ultimately didn’t change his team’s odds of winning the round by very much. As you will see in an upcoming example, Leetify Rating handles this situation very differently if a player gets an ace in a situation where their team was less likely to win the round.

In the end, broky is given 8.94 Leetify Rating (6 + 2 + 0.64 + 0.20 + 0.10) from this round given his impact on the round win probability and karrigan being given a small part of the credit for the kill on dexter due to his molotov damage.

Above is what the full scoreboard for that full match looks like. With the added context awareness on Broky’s anti-eco ace and other rounds such as olofmeister's 1v3, we are able to more clearly separate olofmeister, Twistzz and broky’s performances. For reference, Leetify Rating can be both positive and negative, with a higher rating being better, and zero being average. The colors in the image show you which ratings are exceptional (green), below average (orange), and poor (red).

Refrezh 5K

refrezh's ace and how his Leetify Rating for the round was calculated. Click the image for a larger version.

In our second example, refrezh performs one of the key clutches in recent memory. It’s a 1v5 with a spot in the semis of ESL Pro League Season 14 on the line. Of course, Leetify Rating does not know the importance of the match, however it does do a good job of appreciating the importance of refrezh contribution to the outcome of this round.

Heroic starts off the round with a 42% win chance, much due to them being on a Mixed buy on T vs Liquid’s Full CT buy. Liquid gets the first 4 frags, bringing the situation to a 1v5 with 1% win chance for Heroic (and consequently refrezh).

Refrezh then goes on to outperform everyone’s expectations drastically, and with some fantastic positioning (along with some mistakes on Liquid’s side) is able to isolate the players in man-to-man duels until he’s left in a winning 1v1 with Grim to close out the round and bring the match to overtime, and eventually a semi-final spot for Heroic.

For greatly overperforming in this round, refrezh is given 93.25 Leetify Rating (0.91 + 3.00 + 11.23 + 33.11 + 45.00) after sharing some of the credit for his impact on the win probability with sjuush, cadiaN and stavn for previously dealing damage to some of the opponents.

A stark difference to the 8.94 rating given to broky, and an order of magnitude difference in the reward given out to the two aces compared to other rating systems (who would rate both aces almost the same), that better reflects the massive difference in impact the two players had in their respective rounds.

Above is the full scoreboard for the map this round was played in. Refrezh had a great map and this round is one of his key impact rounds in this match. That, along with him consistently getting 2Ks in even odds situations and more consistent impact in every round, separate his performance from TeSeS. TeSeS had a few really big rounds, but also more rounds where he contributed negatively to the round win probability (therefore losing rating). With more context on how the players got their frags, we’re able to separate two players who were given an almost identical HLTV Rating and very similar K/D Ratio for this match.

The best players at ESL Cologne, by Leetify Rating

ESL Cologne players Rank 1-25 by Leetify Rating. Click image for larger version.
ESL Cologne players Rank 26-50 by Leetify Rating. Click image for larger version.
ESL Cologne players Rank 51-75 by Leetify Rating. Click image for larger version.

Above is the ranking of players at ESL Cologne 2021, according to their Leetify Rating. Also included is their HLTV Rating 2.0, and how their Leetify & HLTV rankings differed. We notice quite a few differences in ranking between Leetify & HLTV, here’s a few notable examples:

  1. Interz, who’s disciplined & smart support play makes him very underrated by other systems. See a full breakdown on what makes him, and other support players, so underrated by Glaze here.
  2. yuurih, who’s consistent clutching ability (seriously), especially in 1v2, as well as lack of big mistakes makes him jump 39 ranking positions (from bottom half to #3) when using Leetify Rating instead of HLTV Rating 2.0.
  3. AmaNEk, who Launders calls the most underrated player in CS:GO. His virtues are too many to mention but among other things, his ability to open up rounds that are on even / man-down odds (example 1, example 2, example 3), gives him a much higher Leetify Rating.
Finally, stats and AmaNEk can co-exist!

See the rating in action

What to use Leetify Rating for and what not to use it for

It’s important to keep in mind that Leetify Rating is a performance metric. That means it’s great for measuring impact in a single match, or a narrowly scoped context (e.g. a tournament with similar skill levels, such as ESL Cologne above).

Performance metrics are heavily impacted by the skill level of your opponents and as such are not great for comparing yourself to a pro player, or figuring out if you’re improving, and what you need to improve at.

Hence we recommend you pay most attention to Leetify’s skill-related data, such as our Aim, Utility, Clutch, Map, Trading and Opening Duels data. Use Leetify Rating to see your impact in a match, your form over the last 2-3 weeks or for comparing performance with that friend you always queue with.

Give us feedback!

We want to work together with all parties in the community; players, professionals, tournament organizers and everyone else to make Leetify Rating as good as it possibly can be. If you have feedback or would like to make use of Leetify Rating, please contact us through Discord or email.

If you are interested in talking/writing about Leetify Rating and have questions, interview or data requests, feel free to email us.

Acknowledgements

Leetify Rating incorporates many different components which have been applied in traditional sports and even previously proposed in CS:GO. While no such system has yet been implemented and adopted, and Leetify Rating was built ground-up by Leetify and with added components that are uniquely Leetify’s, we do want to give credit to SixteenZero for originally proposing PRI, a system which inspired what eventually became Leetify Rating.