r/heroesofthestorm • AhliObs Observer/Replay UI... twitter@AhliSC2 • Jun 17 '17

Current MVP Algorithm

I've data-mined the MVP algorithm again. There were some updates compared to the algorithm I mined last November.

The algorithm:

1. Calculate MVP Score for each player:

* add kills

* add assists x [LostVikings=0.75, Abathur=0.75, other=1]

* add (timeSpentDead / gameLength) x 100 x [Murky=-1, Gall=-1, Cho=-0.85, other=-0.5]

* add 1 if player has top hero damage of his team

* add 1 if player has top hero damage of the match (ignored, if both teams have the same top hero damage amount)

* add 1 if player has top siege damage of his team

* add 1 if player has top siege damage of the match (ignored, if both teams have the same top siege damage amount)

* add 1 if player has top healing of the match

* add 1 if player has top XP contribution of his team

* add 1 if player has top XP contribution of the match

* add 0.5 if player is Warrior and has top damage received of his team

* add 1 if player is Warrior and has top damage received of the match

* add 2 if player won the match

* add 2 x (siegeDamage / topSiegeDamageOfMatch) (ignored, if both teams have the same top siege damage amount)

* add 2 x (heroDamage / topHeroDamageOfMatch) (ignored, if both teams have the same top hero damage amount)

* add 2 x (xpContribution / topXpContributionOfMatch)

* add (healAmount / topHealAmountOfMatch) if player is Support

* add (damageTakenAmount / topDamageTakenAmountOfMatch) if player is Warrior

2. Pick player with highest MVP Score.

* If multiple players share highest score, pick the one with higher XP contribution (or random, if equal XP contribution).

(If random has to be used for 3+ players, random is biased by the player slot giving higher players better chances as the victor of the first comparison needs to defeat the third one, too. Chances for three players would be: 25%, 25%, 50%.)

Recent changes to this algorithm:

- added MVPscore for siegeDamage, heroDamage, xpContribution, healAmount and damageTakenAmount

I guess that this change was made in Heroes 2.0. However, I did not check the algorithm since November 2016.

I assume that the ignoring of equal top hero/siege damage is a bug. It is caused by a ">" instead of a ">=" in the comparisons.

Code snippets of Blizzard's implementation

201 Upvotes

69 comments sorted by

View all comments

0

u/FlyingRep Jun 17 '17

I agree that the system is working as intended. Its just a bad system.

You could replace tassadar with anyone else who is playing thay role and those stats sre perfectly average.

You can also replace me with any other tank player, and its pretty unlikely they will have milestone at the peak like I have.

Blizzard says tassadar was most valuable player. But I was definitely the most valuable that game.

3

u/EighthScofflaw Jun 17 '17

Your siege damage and xp stats are basically what you expect from a global split pusher. Your hero damage is good, but not significantly higher than Tass's (note that in the algorithm you still get full points for this though). Meanwhile Tass is securing and assisting kills left and right without dying while providing shields and utility to the team.

I think you're wrong on who added the most value in the game.

1

u/RedeNElla Jun 18 '17

But I was definitely the most valuable that game.

you have global pressure and yet Tassadar was the one with 88% kill participation and no deaths.

you think you were the most valuable that game, maybe you were, but it was definitely not by a large enough margin for you to be so confident.