
Originally Posted by
Kuntantee
Also I believe hero performance system is broken.
I disagree. The system was recently reworked slightly, and they raised the cap. The old "5" was between 1.5-1.6x average performance. You can get some neat statistics with the dota_hero_standings_debug command. You can find an old list of heroes and their corresponding ID's here.
The performance bars are certainly a hot topic in the DotA community. A lot of people seem perplexed that their 25-0 Gondar with dual Rapiers didn't push their bar up further. At the end of the day only Valve knows how this is truly calculated, but I read a very interesting theory about how it works, I'll give you the TL;DR:
- Valve is gathering a LOT of information (even seemingly useless stats like distance traveled) in each game.
- To get a performance bar, we need to figure out how much each of these statistics factor into a users win ratio.
- Using the previous example (and Lycanthrope as the hero), we place win rate on the X-axis and the distance traveled on the Y-axis.
- For every player that has played Lycan, we plot a point on the graph where X=that players win rate with Lycan and Y=that players average distance traveled with Lycan.
- We now end up with a scatter plot of all the players that played Lycan. This allows us to look for trends.
- Now, there's a number in statistics called a correlation coefficient. This is a measure of how good of a predictor X is for Y. This number ranges from -1 to 1 (1 and -1 being perfectly correlated, and 0 being no correlation).
- If the number is below 0, this indicates a negative correlation. A simple one would be player deaths. Usually the more a player dies the less likely they are to win.
- If the number is above 0, this indicates a positive correlation. A simple one would be player kills. Usually the more kills a player has the more likely they are to win.
- The question is: "Given a players total distance traveled with Lycan, how accurately can we predict the win rate?"
- For the sake of the example, let's assume the winning Lycanthropes run around lots and lots. Because of this, let's assume that the correlation coefficient might be around 0.8 (check the wikipedia article linked before to see what this looks like).
- 0.8 is a very fuzzy looking graph, but it has a clear trend to the upper right.
Now, why does this matter?
- The correlation coefficient tells us how important a specific statistic is in predicting a players win rate with that hero.
- We can calculate a weighted average using all of these statistics using this formula:
Code:
Performance = [(R1 x S1) + (R2 x S2) + (R3 x S2) + ... + (RN x SN)] / (Total Weight)
Where S is a statistic being tracked (like distance traveled), and R is the correlation coefficient for that statistic.
- Some statistics like deaths have a negative correlation which means that as the number of deaths increase, the win rate of a player decreases with it. Thus, a high amount of deaths will decrease a players performance bar for that hero. Makes sense.
- If a player has below the average amount of deaths then his number will be below the mean and his "standard deviations below the mean" will be negative. If the correlation coefficient is negative, and the standard deviations below the mean is negative then the resulting value will be positive which will increase their performance rating.
- Individually, a single statistic doesn't serve as a good predictor of a persons win rate. However, using this method we can determine how important a statistic is to each hero individually, and as a result, produce a unique equation for determining a players performance for that hero.
- The "Kills" statistic would probably be more important for a carry than a support, using this method the equation for a carry hero would place more importance on kills than the equation for a support hero.
- Thus, we can simplify this problem of trying to quantify "skill", an intangible quality, to just predicting win-rate.
- TL;DR of the TL;DR - The game is taking pretty much every possible statistic, seeing if that correlates to win rate, and then combining those statistics into a weighted average. It also appears to factor in your current skill rating.
Another thing that seems to confuse many is how heroes they've barely played are among the top of their performance bars. Simply put, a small sample size skews the results (keep playing for more accurate results).

Originally Posted by
llDemonll
i'm just looking for advice on upping the skill level...i would figure it mostly depends on the game as a whole but if it's a individual-based score....i should stock dicking around when the game is all but lost
The first step towards improving is realizing how much you suck.
Someone over at Team Liquid once made a very interesting series of experiments on Bronze League players in Starcraft 2. Blizzard hides your win/loss ratio in SC2 to not discourage people from playing. This creates an illusion for the lowest tier of players that they are doing better than what they really are and that they do not need to improve. This person hypothesized that part of the issue with the level of Bronze play was that these players simply don't realize how much help they need because they never figure out that Bronze is the lowest league and their loss ratio is hidden from them. Thus, they flat out ignore most of the criticism they get. Pair this with the fact that matchmaking keeps them playing other bad players, they never get stomped hard enough to realize that they might suck.
It might not be your fault your team lost (it rarely is a single individuals fault), but pretend it is. Watch a replay of one of your recent games, put the camera in player perspective. Watch the game on 2x speed or whatever, but try to spot things you do wrong - where you should have committed, where you should have teleported, where you should have backed off. Don't only watch games you lose, watch games you win too!
Now, I don't know how good of a player you are. Here's some things almost everyone can improve on (and what differs an okay player from a good player):
- Watch the minimap more.
- Buy wards. Know where to place them, and when.
- Pick heroes that resonate well with your team composition. Try to win your lane.
- Gank other lanes! When was the last time you saw someone from the side lanes gank the middle lane? You see it in pretty much every high-rated game, but mid-rated players will never see it coming.
- Don't have a static plan before you start the game. Coming in with the attitude "I'm going to play Lycan. I'm going to rush Vladimir's Offering. I'm going to Jungle. I'm going to kill Roshan asap. I'm going to get BKB and win." is not something you want to do. There's never a set in stone way to spec your hero, neither is there a set in stone itembuild, wardspots, et cetera. Don't be the guy that yells out "I AM GOING MID" before the game starts - that shit is not only irritating, but dumb too. If you want to pick a specific hero, fine. Just try to be a little bit flexible.