Results 1 to 4 of 4

Thread: [Suggestion] Performance Bars Calculation (By Gaussian Dist, Free of K/D or W/L stat)

  1. #1
    Basic Member
    Join Date
    Nov 2012
    Posts
    38

    [Suggestion] Performance Bars Calculation (By Gaussian Dist, Free of K/D or W/L stat)

    1. Introduction

    Hello guys!
    I wanted to confess that Iím a little disappointed with the new performance bar system.
    So, I decided to give here my two cents about a performance system that could really show how well you played a hero. And not just compare it randomly with other people, because I think that in each game a hero role is situational.

    If you get bored just jump to the end. =)

    Note that Iím against these parameters being part of a hero performance analysis:

    - Number of Kills. Why?
    They couldíve been stolen from your carry.

    - Number of Deaths. Why?
    You couldíve sacrificed yourself to save a more important ally.

    - Number of Wins. Why?
    You may suck, but not your team.

    - Number of Loses. Why?
    Youíre awesome. Your team brainless.


    2. The ďScore CardĒ Idea

    My idea starts with the creation of global average results of certain heroes in given conditions.
    This can be public or not, whatever the creator decides.

    - What do you mean? Give me an example.
    For example, I will have the average stats of wards placed, gpm, xpm, assists, dmg done, etc of all Lina players consolidated in an Score Card.

    - This wonít work. Lina can be played in many roles.
    Exactly, thatís why Lina will have many Score Cards. Like:

    > Solo mid lane.
    > Solo long lane.
    > Dual safe lane as the supporter.
    > Dual safe lane as the farmer.
    > And as many others as the community / developers thinks thatís neceseray.

    - And how will we identify how she was played?
    Thereís already a script that identifies which lane youíre in (given the auto messages). So, I believe if this is combined with creep kills / denies, her role can be automatically defined.

    - I got it. Anything else?
    Yes. I think this should also be divided by winner and loser team. So we end up with:

    > Linaís Winner Team Solo Mid Score Card
    > Linaís Loser Team Solo Mid Score Card
    > Linaís Winner Team Safe Lane Support Score Card
    > Linaís Loser Team Safe Lane Support Score Card
    > [Hero] [Match Result] [Role Played] Score Card

    Got it?


    3. Score Card Parameters

    - Ok, now what each of these Score Cards contains exactly?
    Imagine it as a table, containing the following columns: Parameter, Global Avg Result Per Min, Global Avg Std Dev.

    - Pretty columns names, now in English please?
    Here, in three sections:


    3a. The Parameter

    Itís anything that is relevant for analyzing a real performance with the given hero, example:
    > Total Damage Done
    > Total Healing Done
    > Total Enemies Disabled
    > Wards Placed
    > Wards Destroyed
    > EtcÖ (A lot of things)

    Most of these things are already in the combat log, the only thing necessary will be a counter to know at the end of the match how much of each of them happened.


    3b. Global Average Result Per Minute (GARM)

    The name says it all.

    - Dafuq?
    Suppose Lina has been played as a Safe Lane Support 1 million times in the history of DotA 2.
    In these games the total wards placed by her were 3 millions.
    The average duration of a game containing a Safe Lane support Lina was 50 min.

    Great! Now we have:
    3 million / 1 million = An average of 3 wards per match when Lina is played as Safe Lane Support.
    3 wards / 50 min = An average 0.06 Wards placed by a Lina when played as Safe Lane Support.

    The 0.06 is our GARM!
    Now we only have to repeat this procedure for each parameter in every type of Score Card.


    3c. Global Average Standard Deviation (GASD)

    This will work the same way as the above: Grab global average results and convert to a number.
    It will be the deviation of GARM.

    Iím sorry but I think itís too complex to explain for those who are not familiar with Std Dev, so I will leave these link for the curious minds:
    http://en.wikipedia.org/wiki/Standard_deviation
    http://en.wikipedia.org/wiki/Normal_distribution

    - Anyway, whatís this s*** for?
    It will help us to identify if you exceeded the average result a lot, or just a miserable portion.



    We know that most players will be at the darkest blue area, so our goal is to determine:
    From left to right, what's the percentage that my current result represents?


    4. Your Hero Performance

    After all the previous statistics been calculated, this is the easiest part!

    Using the previous data, we must find a way to convert them into a percentage, where 50% means you played just like an average player.

    Now Iíll make it short, itís up to you to imagine this in a much larger scale, with a lot more of parameters.

    Suppose this random [Hero] [Match Result] [Role Played] Score Card:

    Parameter | GARM | GASD
    Total Damage Done | 200 | 150
    Total Enemies Disabled | 0.5 | 0.2
    Wards Placed | 0.06 | 0.03

    You just played that hero, in that role, and match result is the one we suppose. You got the following results (the match duration was 40 minutes):

    Parameter | Result | Your Average per Minute
    Total Damage Done | 10000 | 250
    Total Enemies Disabled | 12 | 0.3
    Wards Placed | 5 | 0.125

    The hero performance formula should be the average of how much you:
    > Fraction of the Std Dev that you Exceeded + 50% or,
    > 50% - Fraction of the Std Dev that you failed to achieve

    Resulting in:
    > Higher than 50% for Damage Done and Wards Placed
    > Lower than 50% for Enemies Disabled
    > Higher than 50% for the overwall performance at this match
    Obs.: I promise to do the proper calculations and add an Excel example later if you find this idea interesting.

    Your individual hero performance should be the average of all your performances with that hero in any role with any match result.


    5. How This Can Improve Your Game Experience

    In my opinion, using this system or a similar one can bring a lot of features to improve a DotA 2 player experience like:
    > Determine your best role in as a player, as well as the ones you are not so good.
    > Determine your overall rating as a player based on a consolidation of all heroes performance.
    > Create synergies in matchmaking based on the previous statements.
    > Give tips of where you are failing when playing a hero compared to the average community.
    > Display all individual performances at the end of a match, to stop flamers and haters blaming the supports.

    Sorry for the long post and for my English. Share your thoughts!

  2. #2
    Basic Member
    Join Date
    Dec 2011
    Posts
    11,187
    i dont think the performance bars have to depend on ingame statistics.

    take a few examples:

    the average hardlane windrunner might have 100 cs in 20 minutes. however when the enemies are tripplelaning and warding you, creeppulling, falnking, while your mid is played by a rooftrellen, who might not get runecontrol and their ta ganks you with haste+dd rune, you wont end up with those stats despite your real skill level.
    those stats are too dependent on the lane matchup, the enemies general approach to the game (gank, push, farm, counter, etc) and your other lanes.

    you play a roamer who prepares kills for his allies. however none of those allies is capable of doing the lasthit, because they missclick their spells or are just a bit slow. you will fall behind in level despite doing the correct thing and you will not be able to get close to the average stats.

    you are playing a jungler and the enemy tries to gank you twice. however he is on half hp and you get a huge exp and gold boost because he cannot kill you and dies. you will be above the average because you simply were lucky.


    even though i believe that there is a certain way to calculate performance using ingame stats that is at least somewhat correct (maybe comparing stats every 5 minutes, make "scorecards" dependant on game length and somehow combine it with your allies performance).

    until then, i really think that a simple calculation using winrate compared to other players of the same skill level is sufficient. if you are playing hardlaner and are compared to a shortlaner, well tough luck, you picked your lane yourself. it simply rates the efficiency with that hero.
    fancy stuff like ingame score can be an offset to that but not the denominator.
    Make sure to read the Forum Rules as well as the stickied Threads of the Forum Section you are posting in.

    Contributions i'd like to highlight:
    My Suggestion: Coaching System
    My Sticky: Intended Changes List
    My Challenge: Completely Fixed Hero Challenge: Skywrath Mage

  3. #3
    Basic Member frankles's Avatar
    Join Date
    Nov 2012
    Posts
    3,238
    I think they should just scrap the whole hero performance system and add a player performance line graph that shows your performance as a player going up/down using your last 50 games or so.

  4. #4
    Basic Member
    Join Date
    Jun 2012
    Location
    London, UK
    Posts
    678
    I appreciate the effort you put into the post, OP, but I think I would find it easier to visualise it if you crunched some numbers for a few of your matches, based on theoretical averages for the GARMs, and then displayed them in a form like you'd want to see in game (nothing fancy just an excel table or whatever).

    In fact you don't even need the global figures, just tot up some stats from your recent games (assists for Lina, for example).

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •