Now testing player and match statistics! Search for your stats profile by Steam ID or simply login with Steam. Browse matches or search to find a specific match! Your stats profile includes detailed per hero break down and performance graphs when you login with Steam!

By **Mearis** - **Aug 30th 2012**

I need a hero

Last time, I examined how gold per minute affects the outcome of a match, focusing almost exclusively on this effect at the level of teams. This time, I'll look into more detail about how different heroes are affected by different farm rates, and how the farm rate of each individual hero affects the odds of winning.

**Carries**:

Although Dota2 heroes can be classified in many different ways (initiator, ganker, etc) the most intuitive and simple way of breaking up heroes is between carries and supports. Carry heroes are heroes that rely on farming a lot of gold to buy expensive items, and that are able to win the late game for their team.

Here, in red, we plot how the heroes win rate is affected by match length (red line, with time units shown on top of the graph) and how the win rate is affected by gpm (blue line, gpm units shown on the bottom of the graph).

Let's examine how gold per minute affects the win rate of different carries:

As you can see, for those heroes, the win rate increases tremendously as their GPM increases, and increases moderately as the game duration increases.

Interestingly, for a lot of heroes that are considered carries, this is not necessarily true. For example:

Is considered a hard carry, yet scales very poorly with match duration.

**Supports**:

Let's examine some supports now. Supports tend to scale poorly into the late-game (as measured by match duration) but scale immensely well with GPM. Why? It doesn't seem obvious that putting a lot of farm on CM results in a high win rate. This trend of supports scaling insanely well with GPM however holds true among all hard supports.

Why? Because the GPM of a support is very highly correlated with the GPM of the team, and having a high team GPM results in having a high win rate. This is because a lot of the GPM income of supports comes from destroying buildings - and therefore a high GPM on a support reflects a steam roll game where you destroyed all of your opponent's base in a very short time. Basically, GPM both causes and results in high win-rate.

Interestingly, while GPM affects all supports more or less equally, match duration does not. Some supports stay more or less equally effective throughout the match:

Others, instead, are very strong early on, but their effectiveness drops off very strongly with time:

**Match Length and GPM**

Looking at individual heroes, we saw that heroes that require high GPM to achieve a high win rate typically peak in the late-game. This correlation is however not foolproof - certain heroes, like Huskar, require high GPM, but peak early game.

Let's examine in detail how gold per minute and match length interact in a more in depth fashion. Here, instead of looking at GPM and match duration separately, we look at both together. In this section, since we examine win rate as a function of two variables (match duration and GPM) we show the win-rate using a heat map.

In a heat map, hotter colors (like red) represent a high win rate, while cooler colours (like blue) represent a low win rate. Since the raw win-rate data is a noisy, I smoothed using it using anRBF. This smoothing makes the data a lot more easy to examine by eye, but can create some small artifacts (for example, the small peak in the bottom right hand corner of the CM plot).

Huskar's peak win rate is at 500 GPM and 2000 seconds into the game. For Spectre, his highest win rate is at 6000 seconds into the game.

Let's now look at supports. As you can see, CM and other supports require a much lower personal GPM to have a high win-rate.

An alternative way of looking at this is to examine the optimal fraction of gold that each hero should farm at a given GPM. Here we plot the fraction of GPM (hero GPM/team GPM) and team GPM. While all heroes have a an increasing win rate rapidly with higher team GPM, for hard supports, the optimal GPM fraction is below 0.2.

For carries, instead, the optimal farm rate is typically higher than 0.2.

It's interesting to note that win rate decreases pretty sharply if you farm more or less than the optimal win-rate. With more games, it might be possible to avoid having to use RBF interpolation and to examine in detail if this effect is actually as sharp as it seems from the current data.

Although Dota2 heroes can be classified in many different ways (initiator, ganker, etc) the most intuitive and simple way of breaking up heroes is between carries and supports. Carry heroes are heroes that rely on farming a lot of gold to buy expensive items, and that are able to win the late game for their team.

Here, in red, we plot how the heroes win rate is affected by match length (red line, with time units shown on top of the graph) and how the win rate is affected by gpm (blue line, gpm units shown on the bottom of the graph).

Let's examine how gold per minute affects the win rate of different carries:

As you can see, for those heroes, the win rate increases tremendously as their GPM increases, and increases moderately as the game duration increases.

Interestingly, for a lot of heroes that are considered carries, this is not necessarily true. For example:

Is considered a hard carry, yet scales very poorly with match duration.

Let's examine some supports now. Supports tend to scale poorly into the late-game (as measured by match duration) but scale immensely well with GPM. Why? It doesn't seem obvious that putting a lot of farm on CM results in a high win rate. This trend of supports scaling insanely well with GPM however holds true among all hard supports.

Why? Because the GPM of a support is very highly correlated with the GPM of the team, and having a high team GPM results in having a high win rate. This is because a lot of the GPM income of supports comes from destroying buildings - and therefore a high GPM on a support reflects a steam roll game where you destroyed all of your opponent's base in a very short time. Basically, GPM both causes and results in high win-rate.

Interestingly, while GPM affects all supports more or less equally, match duration does not. Some supports stay more or less equally effective throughout the match:

Others, instead, are very strong early on, but their effectiveness drops off very strongly with time:

Looking at individual heroes, we saw that heroes that require high GPM to achieve a high win rate typically peak in the late-game. This correlation is however not foolproof - certain heroes, like Huskar, require high GPM, but peak early game.

Let's examine in detail how gold per minute and match length interact in a more in depth fashion. Here, instead of looking at GPM and match duration separately, we look at both together. In this section, since we examine win rate as a function of two variables (match duration and GPM) we show the win-rate using a heat map.

In a heat map, hotter colors (like red) represent a high win rate, while cooler colours (like blue) represent a low win rate. Since the raw win-rate data is a noisy, I smoothed using it using anRBF. This smoothing makes the data a lot more easy to examine by eye, but can create some small artifacts (for example, the small peak in the bottom right hand corner of the CM plot).

Huskar's peak win rate is at 500 GPM and 2000 seconds into the game. For Spectre, his highest win rate is at 6000 seconds into the game.

Let's now look at supports. As you can see, CM and other supports require a much lower personal GPM to have a high win-rate.

An alternative way of looking at this is to examine the optimal fraction of gold that each hero should farm at a given GPM. Here we plot the fraction of GPM (hero GPM/team GPM) and team GPM. While all heroes have a an increasing win rate rapidly with higher team GPM, for hard supports, the optimal GPM fraction is below 0.2.

For carries, instead, the optimal farm rate is typically higher than 0.2.

It's interesting to note that win rate decreases pretty sharply if you farm more or less than the optimal win-rate. With more games, it might be possible to avoid having to use RBF interpolation and to examine in detail if this effect is actually as sharp as it seems from the current data.

By **Mearis** - **Aug 25th 2012**

Best friends and arch enemies!

As part of my migration to Dotaholic, I am moving some older work that I carried out looking at different aspects of Dota2 from a statistical point of view. Here is some work I did examining the efficiency of different hero combinations - since this work was done using data taken in May, some of the newer heroes are missing!

Pair-wise Combinations.

I'll begin by describing some of the analysis that I carried out examining which hero combinations do well together, and which hero combinations do poorly against each other.

This analysis is based on a subset of around 1300000 games. It will soon be updated to include all the games in the database, and we'll repost all the results on Dotaholic.com - as soon as it's posted, it will be linked here.

**Methodology:**

For all heroes currently (as of 06/05/2012) in Dota2, we calculated their average win rate in combination with all other heroes, and their average win-rate win rate versus all other heroes. Given the high number of heroes in the game, the number of possible pairs and match ups is very high

$$ {n \choose k} $$.

While certain hero pairs do particularly well, for example Lich together with Ursa, this is hardly surprising. Both \Lich and Ursa have a very high individual win-rate, and the fact that they win a lot of games together is not surprising.

I therefore calculated an expected win ratio, given the individual win rates of both heroes, as such:

\[

ExpectedWinRate(a, b) = \frac{\sum\limits_{i}^{i!=b} W_{a,i} + \sum\limits_{j}^{

j!=a} W_{b,j}}{\sum\limits_{i}^{i!=b} G_{a,i} + \sum\limits_{j}^{

j!=a} G_{b,j}}

\]

Where: $$W_{a,i}$$ are the number of wins of hero a with hero i, and $$G_{a,i}$$ are the total number of games of hero a with hero i. In practice, this is the average of the win rate of hero a with all heroes except hero b, with the win rate of hero b with all other heroes except a, weighted by the total number of games.

It's important to note that this expected value is quite conservative - according to this measure, no hero pair will ever do better than the best individual hero, and no hero pair will ever do worse than the worst individual hero. This measure however, is quite strongly correlated with actual performance:

We then compared the ExpectedWinRate for a given hero pair with the observed win rate in our data set, using a Chi Squared Test. Put plainly, this is a statistical test used to test the probability that the observed frequency in a sample deviates significantly from the expected frequency. For an intuitive understanding, imagine that you are trying to determine if a head is rigged or not. If you expect a non-rigged coin to obtain heads 50% of the time, how sure are you that a coin is rigged if you observe 430 heads out of 1000 tosses? (quite sure it turns out).

We can observe that certain heroes perform significantly better than we'd expect. For example – Skeleton King has a relatively average performance, but when paired with Ursa, his win rate approaches 70%. This is rather intuitive - in pub games, Skeleton King and Ursa can lead to a level 1 Roshan, giving your team a massive advantage. For each hero, we can observe their win-rate, their best team-mates, and their worst team-mates.

Next, we examined the match ups of one hero versus another. To do this, we used a different formula to calculate the expected win-rate in a head to head match up:

\[

ExpectedWinRate(a, b) = \frac{\sum\limits_{i}^{i!=b} W_{a,i} + \sum\limits_{j}^{

j!=a} L_{b,j}}{\sum\limits_{i}^{i!=b} G_{a,i} + \sum\limits_{j}^{

j!=a} G_{b,j}}

\]

In this case, we are averaging out the win rate of hero a versus all other heroes, versus the loss rate of hero b versus all other heroes.

Again, this quantity is highly correlated with the actual observed performance although the predicted performance again has a narrow range than the observed performance.

**Further plans:**

We will continue to look at more and more stats – expect to see:

– The cumulative win rate of hero pairs over time. Which hero pairs are favored in the end game?

– Which heroes benefit the most from being on the dire/radiant?

– An initial look at a small number of hero triplets.

– Bayesian approaches to predict win rate purely as a function of heroes. For the more mathematically inclined – I checked to see if, given a win/loss, the presence of different hero in a team was conditionally independent ( (P (a | W,b) == P(a | W) ) and this didn't turn out to be the case at all unfortunately.

**Conclusions:**

From this initial look at the data, we can conclude that:

– The win rate of two given heroes is strongly correlated with individual win rate of the given heroes. Heroes that tend to do poorly rarely have super strong synergy with other heroes that drastically change their win rate.

– The strongest performing hero pair is Ursa and Skeleton King. This is most likely due to the ability to do Roshan at level 1, and to the fact that Ursa is by far the single hero with the highest individual performance.

– Alchemist does very poorly with more or less every single hero.

Pair-wise Combinations.

I'll begin by describing some of the analysis that I carried out examining which hero combinations do well together, and which hero combinations do poorly against each other.

This analysis is based on a subset of around 1300000 games. It will soon be updated to include all the games in the database, and we'll repost all the results on Dotaholic.com - as soon as it's posted, it will be linked here.

For all heroes currently (as of 06/05/2012) in Dota2, we calculated their average win rate in combination with all other heroes, and their average win-rate win rate versus all other heroes. Given the high number of heroes in the game, the number of possible pairs and match ups is very high

$$ {n \choose k} $$.

While certain hero pairs do particularly well, for example Lich together with Ursa, this is hardly surprising. Both \Lich and Ursa have a very high individual win-rate, and the fact that they win a lot of games together is not surprising.

I therefore calculated an expected win ratio, given the individual win rates of both heroes, as such:

\[

ExpectedWinRate(a, b) = \frac{\sum\limits_{i}^{i!=b} W_{a,i} + \sum\limits_{j}^{

j!=a} W_{b,j}}{\sum\limits_{i}^{i!=b} G_{a,i} + \sum\limits_{j}^{

j!=a} G_{b,j}}

\]

Where: $$W_{a,i}$$ are the number of wins of hero a with hero i, and $$G_{a,i}$$ are the total number of games of hero a with hero i. In practice, this is the average of the win rate of hero a with all heroes except hero b, with the win rate of hero b with all other heroes except a, weighted by the total number of games.

It's important to note that this expected value is quite conservative - according to this measure, no hero pair will ever do better than the best individual hero, and no hero pair will ever do worse than the worst individual hero. This measure however, is quite strongly correlated with actual performance:

We then compared the ExpectedWinRate for a given hero pair with the observed win rate in our data set, using a Chi Squared Test. Put plainly, this is a statistical test used to test the probability that the observed frequency in a sample deviates significantly from the expected frequency. For an intuitive understanding, imagine that you are trying to determine if a head is rigged or not. If you expect a non-rigged coin to obtain heads 50% of the time, how sure are you that a coin is rigged if you observe 430 heads out of 1000 tosses? (quite sure it turns out).

We can observe that certain heroes perform significantly better than we'd expect. For example – Skeleton King has a relatively average performance, but when paired with Ursa, his win rate approaches 70%. This is rather intuitive - in pub games, Skeleton King and Ursa can lead to a level 1 Roshan, giving your team a massive advantage. For each hero, we can observe their win-rate, their best team-mates, and their worst team-mates.

Next, we examined the match ups of one hero versus another. To do this, we used a different formula to calculate the expected win-rate in a head to head match up:

\[

ExpectedWinRate(a, b) = \frac{\sum\limits_{i}^{i!=b} W_{a,i} + \sum\limits_{j}^{

j!=a} L_{b,j}}{\sum\limits_{i}^{i!=b} G_{a,i} + \sum\limits_{j}^{

j!=a} G_{b,j}}

\]

In this case, we are averaging out the win rate of hero a versus all other heroes, versus the loss rate of hero b versus all other heroes.

Again, this quantity is highly correlated with the actual observed performance although the predicted performance again has a narrow range than the observed performance.

We will continue to look at more and more stats – expect to see:

– The cumulative win rate of hero pairs over time. Which hero pairs are favored in the end game?

– Which heroes benefit the most from being on the dire/radiant?

– An initial look at a small number of hero triplets.

– Bayesian approaches to predict win rate purely as a function of heroes. For the more mathematically inclined – I checked to see if, given a win/loss, the presence of different hero in a team was conditionally independent ( (P (a | W,b) == P(a | W) ) and this didn't turn out to be the case at all unfortunately.

From this initial look at the data, we can conclude that:

– The win rate of two given heroes is strongly correlated with individual win rate of the given heroes. Heroes that tend to do poorly rarely have super strong synergy with other heroes that drastically change their win rate.

– The strongest performing hero pair is Ursa and Skeleton King. This is most likely due to the ability to do Roshan at level 1, and to the fact that Ursa is by far the single hero with the highest individual performance.

– Alchemist does very poorly with more or less every single hero.