How we compare your play-style to pro-players


Find out which player is similar to you!


It is assumed, that players are similar to each other if they prefer to play on similar characters. For each player, GOSU.AI uses the information according to the last hundred matches played by him. Based on this information, a frequency vector of heroes used is created:

Hero Pick rate in the last 100 matches
Abaddon 3%
Alchemist 0%
Witch Doctor 7%
Zeus 23%


115 heroes 100%

The more two players are alike, the less the Euclidean distance between their frequency vectors.

Euclidean distance

chart.png–  frequency vector of the first player.

chart (1)– frequency vector of the second player.

Here’s chart (2)– the percentage of the last 100 matches, in which the first player used the hero at number 1 – Abaddon.

chart (3).png

Items, Fighting

The similarity of the two players on the basis of the used objects is considered absolutely analogous to the case with the heroes used, but now items are used as a component of the frequency vector.

In the case of Fighting, the idea remains the same, but instead of frequency vector, a vector is used that consists of the following components, calculated on the basis of the last one hundred matches played by the player.

  1. Average damage dealt to enemies
  2. Average damage dealt to buildings
  3. Average healing done on allies
  4. Average number of kills
  5. Average number of deaths
  6. Average number of assists


Each player has an analog of a person’s fingerprints. As a ”fingerprint” is a heat map of the mouse cursor. The longer the player’s cursor is at this point in the screen, the more red the dot on the picture.

pasted image 0

It’s easy to notice, that a large number of players often buy items with a mouse. Someone moves the screen by clamping the mouse wheel and someone moves the cursor to the edge of the screen. Based on the signs received, we can distinguish players from each other. If people can do this, then neural networks will be able to! Сonvolutional neural network is trained on the participants of the tournament.

pasted image 0 (1)

At the input, the neural network receives a picture with a heat map of the mouse cursor of the player and on the output, it returns the probability, that this heat map belongs to a given professional player – this is mouse-similarities.


Similarity on the basis of positioning on the map can be considered absolutely analogous to how similarity was considered on the basis of heat maps of mouse cursors. Instead of the coordinates of the mouse cursor on the player’s screen, the coordinates of his hero on the map in Dota 2 match are used.

Find out which player is similar to you!

P.S. follow us on Twitter.

GOSU.AI against Dota 2 cheaters

Every Dota 2 player faced a cheater at least once. Recently, their number has increased significantly. Cheaters appear not only in a public games but even on a semi-pro stage. We can no longer be indifferent to this situation, that’s why we started to develop our anti-cheat system.

Try it out and check if you’ve played with cheaters.

At the time of writing this article we analysed approximately 200k matches that were played by about 1 million unique players. Here we share with you some stats and tell how this system works. Further we will tell you how the anti-cheat works and share some stats.

Cheats for Dota 2, are you serious?

There are a lot of them, see this review. For the beginning we have implemented algorithm that detects cheats that could be identified by tracking mouse movements and clicks in replay.

Camera hack

Having enabled this cheat, unprincipled player is able to look at the distant places on a map with less mouse clicks and movement and faster respond to events taking place outside the screen. Note that the wide monitor does not make you a cheater, because the allowed extension of the view only works in width.
This is the most popular cheat, we found its use in 12.24% (sic!) of all matches. Approximately 1.1% of all players abuse this hack and 76% of them play with unacceptable zoom in each game.

6uCbhF4TqD (1).gif
The player clicks outside the standard camera view, an additional click appears. Match ID: 3754671634

We found zoomout (camera distance) in 12.24% of all matches. Unique users with cheats – 1.02%, 76% of them used zoomout in each game.

Automatic creep blocking

Creep blocking is an important technique that allows mid-lane player to farm effectively at the start of the game. But what if the program will instantly click for you in a right place to stop creeps without any of your attention? Obviously, this kind of automatization is unfair.

Good news, there are only 0.1% of players (one of 1000) who use this cheat in public matches, but you can meet cheater in 0.5% of matches (one of 200).

Look at fast clicks to distant points. Match ID: 3754671634

Automatic items dropping

Quick drop and pickup of some items under certain conditions could give your hero additional bonus. For instance, dropping and picking back Arcane Boots having Soul Ring gives the hero 75 freebie mana points, but actually to do so you have to spend a time to move mouse to the inventory bar and return it to the map.

At least 0.035% (350 of one million) players make those actions automatically, without real mouse movement. This adds injustice to 0.328% of matches.


The player automatically throws items from the bag to get an additional bonus from pressing certain items. Match ID: 3730565232

How anti-cheat works

To detect cheating we extracted mouse movements and all the actions player perform on a map from replays. To analyse player behavior we aggregate several statistics like the distance between the mouse position on a screen and the place where the player’s real action was registered. Then we use machine learning technique called anomaly detection: the algorithm learns from a sample of “pure” matches (manually checked by our Dota 2 experts for the absence of cheating) and then able to detect “suspicious” deviations from the norm.

To classify cheating behavior and estimate the accuracy of our detection we asked our experts to review random “suspicious” matches manually and make a strong decision — whether there was cheating or not? Statisticians call this technique an acceptance sampling. According to our current estimates, the detector has less than 3% of false positives (situations when the system erroneously blames player for cheating).

An ideal algorithm is hard to build because of the large number of unique situations. We offer our deepest apologies if your play will fall into those erroneous 3%. If it will, let us know by sending a feedback through “This is wrong” button. As mentioned before, our algorithm learns on the labeled replays. So, the more feedback you will send — the more accurate our anti-cheat will be.

Let’s collaborate

We see a big problem with cheating behavior in public games, but we are not going to wait until #valvefixit. So here’s our offer to the Dota 2 community, tournament platforms and other third-party developers: we are ready to give an access to our closed API for cheat-checking. If you are interested, please contact Kirill Chuvakov <k@gosu.ai>.

We’re going to make Dota 2 great again!

Try it out and check if you’ve played with cheaters.

P.S. follow us in Twitter.

Terrorblade items optimization

Hey, GOSU.AI here!

Today we’re going to discuss the itemization of Terrorblade. We collected statistics from 366 professional matches for review, starting with patch 7.07.


Terrorblade with Butterfly has 78% win rate


Terrorblade is a good counter pick against Chaos Knight, Nature’s Prophet, Monkey King
BKB is a great choice against the following heroes: Disruptor, Sand King, Death Prophet
Blink Dagger is a great choice against the following heroes: Tinker, Void, Disruptor
Refresher on Terroblade ≠ reported





Play smarter and improve your skills through the detailed analysis of matches and get personal recommendations – Get your Dota 2 Assistant.

P.S. follow us in Twitter.

Automatically looking for best flashbangs based on demo statistics. Major Group Stage flash efficiency rating

Hello. I work at GOSU.AI where we create different tools for CS:GO and Dota2 that help people to improve their skillz. Here are some of my previous articles: [1] [2]

In my new article I continue to study flashbangs usage with programming and data analysis. This time I download all the demos from Eleague Major 2018 New Legends stage in order to find out the most efficient flashbangs used by participants and show how do they throw it.

Same method is also used in our upcoming open service for CS:GO demos analysis. Feel free to register here


My approach for the article is pretty simple:

  1. In order to define “best” grenades/teams calculate some efficiency metrics
  2. See who is a leader in these terms
  3. Show some examples of their “repetitive” grenades leading to a notable success.

Idea is that each team has flashbangs that they throw round by round, game by game. This means there are patterns in terms of where player stands and places he throws a grenade. Given that it becomes possible to find out such repetitive grenades automatically using mathematical approach called Clustering

Flashbang leaders

I use two very basic and natural metrics for the flashbangs: flash duration time and flash-to-kill conversion. However, there are different ways to calculate them

One could simply calculate overall sum of them and compare those numbers but it makes sense to average overall sum by number of rounds played and number of flashbangs used

cs-5 cs-6

cs-3 cs-4

Many people notice how well prepared Space Soldiers are in terms of aim but charts above show they are good in flashing too. Interesting note is that Astralis were not efficient with their flashbangs during a group stage having 14-16th places in all fb ratings.

Now let’s take a bunch of Space Soldiers demos and see how flashbang Clustering works. I took 2 of their mirage demos since its the only map they played twice during the Group Stage. I would be looking for clusters that have non-zero flash to kill conversion

Here are two flashbangs that SS seem to use on a regular basis




Run, jump and throw


Interesting flash that seems to be really efficient if used in a right moment. Here is a moment from Liquid vs Avangar game where Jame and jdm64 were fighting around this pop flash

Same approach works for any given team or player. Here are two clusters for SK on mirage. Note how you become able to compare different ways to throw a flash over T ramp


Small step forward and throw


Small step forward and throw

I could continue but I guess you’ve got the idea. Upload a bunch of demos, process in a correct way and boom you’ve got grenade clusters.

Here’s how our csgo analyser is going to use that data: based on a single demo (say you upload your game) for all of your grenades analyser could see if there is a cluster that your grenade belongs to most likely and measure your efficiency metrics. If you didn’t do well you get an advice on how you could throw that particular grenade better.

Going to launch soon, registration is open here. You could also follow me on twitter.

Credits to @yohgcsgo from SixteenZero who published similar stuff before I did

Stay tuned

PUBG positioning analysis


We, at GOSU.AI, are committed to help players to increase their skill in competitive games. Using math, match and data analysis, statistics, machine learning methods, we have successfully launched a service for DOTA 2 players, and now it is time for the alpha version of PUBG.
TL;DR: We are going to show you the hazard ratio of the positions in which you die.

Personal hazard map – CLICK


API PUBG gives very little information fow now, that’s why in popular statistical services you can only find out: the distance you traveled by car, the number of murders and from which weapon the victim was killed. Agree with us, according to this statistics, it is simply impossible to give any personalized advice, except: “try to kill more”.
But in one of the latest patches, developers have added the ability to view replays, which is very interesting for us, and we hope, that they will not stop working on their functionality.


Now API has an interesting information – where the player was killed, and from which point the murder was made. We took 65 million pair events: “The coordinates of death and the coordinates from where the murder was made.”

Miramar Kill (blue) and Death (yellow) heatmap

We were surprised to see the whole clusters of locations in which the number of deaths and killing varied greatly, which is quite strange. If we take the hypothesis that “there is a slice & dice in Pecado,” then the number of deaths and murders would be approximately the same. But no – there are explicit zones, where players die more often, and in most cases can’t oppose anything to their enemies. Accordingly, if a player constantly dies in areas, where it is difficult to counter the enemy – you need to think about positioning.


We decided to divide the map into plots, and calculate the ratio of deaths to murders, for each of the plots, having obtained the “hazard” factor of each of the plots.


In the first it was seen the squares 10 by 10 meters.
Several hypotheses have been put forward:

  • The player often dies in the areas with a high risk factor – problems with positioning during firing with the enemy.
  • The player often dies in the areas with a low risk factor – everything is good with positioning, but you need to work on aim / looting.
  • The player often kills an opponent while in a zone with a high risk factor – a high personal skill.
  • The player often kills an opponen while in a zone with a low risk factor – excellent positioning during shooting.
  • The player often kills an opponent who is in a zone with a low risk factor – a high personal skill.
  • The player often kills an opponent who is in a zone with a high risk factor – he knows the vulnerable positions on the map.

These hypotheses can be continuously generated by combining existing events, and when we have the opportunity to receive more information (accuracy of shooting, the ratio of dealt damage to the received, the speed of reaction to the appearance of the enemy on the screen, the quality of the equipment), it will be possible to show personal recommendations. Now we decided to stop at the dangerous areas in which the player often dies.

Die smartly

Consider two examples:

  1. You are a fan of playing in the Сasino-Pecado and constantly drop with twenty aggressive players. Not everyone can survive.
    Consider 2 players:
    a) The first, fell in Pecado, killed everyone, seized the car and went further with top loot. The average danger factor of the zone in which this player dies is – 40%.
    b) The second, dies in the arena of Pecado for five games in a row, during the first two minutes. The average danger factor of the zone in which this player dies is – 80%.It is obvious, that the second player should play more carefully and choose less popular places for the drop. At the same time, the first player can engage in skirmishes in more dangerous areas – he doesn’t die and the average hazard ratio doesn’t not increase.
  2. The player died on the road in the area with a hazard ratio of 80%. Although, he could move a couple of meters from the road, and it would be more efficient position, with a hazard ratio of 40%

Security is a success

The lower the average player’s risk factor, the better the player positions and controls the situation, dies in a later stage of the game, because of taking less dangerous positions.


  1. Customize the zones, refusing the simple squares, going to the buildings, shelters and so on.
  2. To analyze how dangerous the place from which the murder was committed.
  3. Download match results instantly, for all users.
  4. Aggregated rating “positioning” – the average percentage of danger zones in which
  5. Individual hazard maps depending on the time of death (early game, mid game, late game).In the future, we want to give unique tips for each player, detailed statistics of the player’s movements: how to effectively choose the zone for the landing, where to search for useful loot, how to choose the shelters, which weapons are more suitable for a particular game style, and so on.
    All the rest is based on feedback below the post.

Lets go

We will show you bad positions, from where you enter into a gunfight.
You will be able to understand how much safe you play, and also, where you had to move during the final gunfight, to increase the chance of winning.

Enjoy your personal hazard map – GOSU.AI

P.S. subscribe to our Twitter, it will be interesting.