Making us better players with better stats
TL;DR: The Skill Rating system and individual stats in Overwatch are polluted with bad data, are useless and/or misleading, and give little direction to players who want to improve their game. Blizzard needs to mimic pro sport stats to solve the problem, then use those to inform their SR system. Below are easily-implemented changes which makes gauging your performance both easy and relevant to your specific role and hero.
Edit: I'm getting a lot of replies focusing on weighting SR based on these stats. To be clear, here is what I want, in order of priority:
- Clear out the bad data that's misleading us.
- Expose to us better data that will help us improve how we play.
- If better data is found, leverage it to fix problems in the SR system.
This is long, so I'm making it easy for you to read. There's a TL;DR version of every header. Read what interests you.
Overwatch Stats: What's Broken
TL;DR: You can't use an ELO system for a team game and expect to rank individual players. There's too much data noise. You have to distill the data down to 1v1 or 1vMany interactions.
This is a really difficult topic. Programmatically gauging someone's performance in even a simple task requires you to define what good performance looks like, and then a way of measuring against that. Right now, Overwatch has only the crudest definition of whether your performance was good or not baked into the SR measurement: did you win or lose the match? This is laughably easy to measure, since it's a binary result, yes or no.
This works great when you're talking about chess, or bowling, or anything else with an individual performer affecting the result. This is why ELO ratings are so popular for these types of games. ELO is entirely based on wins and losses, because in 1v1 competition, it's all that matters.
However, when you start talking about teams, simple win/loss is too blunt an instrument to gauge individual performance. Instead, you do things like what baseball has done, coming up with (comparatively) arcane statistics like Earned Run Average and Runs Batted In. While they're more complicated than win/loss, they're also worlds more effective in deciding if your pitcher is doing great or if you need to start scouting a replacement.
The reason this works is because you're distilling the activity down to isolate 1v1 performance. Batting Average or Yards Run is something one person does against another person or people resisting them. The stat measures how successful the one person is in accomplishing their goal.
If you take enough of these stats, you can figure out how good their performance has been. You can now make an educated guess about how well they'll continue to perform. The more data you have, the more certain you can be.
Overwatch's Skill Rating system doesn't bother with any of this. It attempts to take a team game and shoehorn an ELO-ish system upon it, using data that is polluted with the performance of unrelated parties. This would be like saying Joe Bob the right-fielder is terrible because his team lost 2/3 of their games this season. That's a gross generality and one that would be laughed down by the baseball community, while they pointed out that he had an Assist score 200% higher than the league average.
Other professional sports have statistics like these. The idea that an eSport doesn't, particularly one like Overwatch that was created specifically as a pro eSport, and when the nature of computer games lends it to being able to capture even the most infinitesimal minutae, is an unfathomable oversight.
Clean Up the Bad Data First
TL;DR: There is garbage data already in the stats that is misleading players into thinking they're doing better or worse than they really are.
Currently, Overwatch players can't gauge how they're doing. The medal system is worse than useless-- it actually feeds you bad information. Many people (including me) have posted laments over how awful it is. I won't repeat them here. What I will do is point out some ways the weak data we have is being polluted by bad game mechanics.
For example, the shot accuracy--this should be easy, right? You shoot, you hit, or you miss. (Hits/Shots = Hit %) Simple? Not in Overwatch! The accuracy you see in-game includes hits against enemy shields. This means that spamming into Reinhardt's shield the whole game makes you (from your stats) look like an aimbot. This watering down of accuracy makes the stat useless for understanding whether your aim is on-point or not. Sure, you'll have a general idea, but there's no way you can say
that your hit percent is five points lower than normal, and that you need some more warmup before jumping into competitive. Shots hitting shields should just be thrown out of the equation.
General DPS and Healer Stats Fixed
TL;DR: Below are simple 1-player-based example stats that are tailored to the widely-accepted, individual hero roles that will inform you and help you play better. Most of the numbers going into these stats are already available to the game, but aren't exposed to the players properly.
Clean up the dirty data, and then add data that's actually useful to us. But what data would be useful? Data that focuses on one-versus-one or -many. That sounds complicated, but it's really not. Example:
-
Damage dealt to killed enemy / enemy max health = % damage on kill. Add these up for all eliminations the player participated in and average. That gives you a global damage dealt per elimination.
-
Damage dealt to surviving enemy. Simply add all these up.
Above you have the definitive stats for a DPS knowing whether he's doing his job or just feeding enemy healers.
Similarly:
-
Healing given to killed ally / ally max health = % healing on death. Add these up for all ally deaths, regardless of whether they were healed or not. No healing means 0%. Average them. You now have global percent healing given per ally eliminated.
-
Healing given to surviving* ally. Again, simply add all these up.
*("surviving" = didn't die before reaching max health again)
There are your vital stats for a healer. The differences here are the splits between what the result of the event was. This, and the DPS stats above tell you in no uncertain terms whether you're being effective in either role. Who wouldn't breathe easier looking at these stats in real time? Using these, you know when you need to up your game, when you're doing well, or when you need to swap.
Okay, but DPS and Healing is easy, but what about weird roles like Reinhardt? Break down what Reinhardt's job is: protecting teammates with his shield, good earthshatters, cleaning up after stun ults, and (sometimes) initiating team fights.
Reinhardt:
-
Damage absorbed / ally deaths. Higher is better. Easy, clear and useful. If this number is low, you're clearly not doing this part of your job. The best part is, it's easy to fix. Get that shield up and in front of your team. I acknowledge that you can't force your team behind your shield, but that doesn't matter for this stat to be useful. Protecting against one Graviton + DPS ult will make this number skyrocket...because you're doing your job.
-
Enemies stunned in Earthshatter / Earthshatters dropped = whether you're capturing large groups of enemies in Earthshatter.
-
Enemies eliminated after Earthshatter / Enemies stunned with Earthshatter = Are you dropping Earthshatters than can be cleaned up by you or your teammates, or are you throwing away your ults?
etc...
Oh, yeah? If you're so smart, do Symmetra!
Symmetra:
-
Sentry turret damage dealt / sentry turrets deployed = Are your sentry turrets doing work, or are you placing them in useless spots?
-
Damage dealt by Sentry turret to killed enemy / enemy max health = %damage dealt per sentry kill. Are your turrets so awesome that they're soloing players, or are they just nipping at their heels while you or your team cleans them up?
-
Damage dealt by Sentry turret to surviving enemy / Sentry turret damage = %feeding enemy supports by sentry turrets. How much are your turrets just providing fountains of support ult charge?
-
Damage shielded / ally deaths = Are you using your shields to protect allies, or are you neglecting your abilities?
etc...
Bet you can't do Mercy!
Mercy:
-
Ally deaths within 10 seconds of resurrection / Allies resurrected = % permanent resurrections. Add up all resurrection events and average. Are you resurrecting into bad positions, or are your resurrection targets winning the fight?
-
Unresurrected ally deaths during Resurrection up time. How many allies have to walk back from spawn while you have your ult?
-
Healing given / Damage taken. A measure of how endangered you are while doing your job. Are you spending too much time in the front line?
-
Damage taken / deaths. You're taking tons of damage, but you're staying alive. Higher is better.
Fixing the Skill Rating System
TL;DR: Fix the unintelligible placement matches and ranked matches by weighting win/loss and the individual stats system above at 50% each.
IDDQD proved that, weirdly and conversely with how ranked matches work, winning matches has almost nothing to do with how your placement SR works. He won two out of his ten matches and placed over 4400 SR. So, does this mean that individual skill informed that SR? Nobody but Blizzard knows for sure, but if they are, then why are we stuck with the blunt instrument of win/loss ranking in regular games? If their algorithms are so effective for placement, why can't they be used to adjust the SR gain and loss? Clearly, IDDQD wasn't playing his best. He has a 65%+ overall win rate, yet he ends up in Grandmaster.
I'd suggest that now that we have the individual system of measurement above, we can use the same data to better adjust SR after a match, just like we can assume that a pitcher's ERA of 2.1 makes him better than a pitcher with a 5.3. You can't throw the win/loss relevancy out the window, but you can admit that such coarse data isn't the only thing that can inform the adjustment. I'd say something like this would work better:
- max SR adjustment * .5 * (Win (1)|Loss (0)) + max SR adjustment * .5 * (hero-specific stat performance) = SR adjustment
That gives half weight to the win or loss, and half to how well you played your role. If you play well, it will adjust up, if you play poorly, it will adjust down, to a maximum of nullifying the win or loss if you sat in spawn and emoted the entire game or were possessed by the vengeful gods of war.
This would keep trolls from ruining games, remove a lot of the stress of playing Competitive, reduce toxicity, and reward players for being mindful of the roles they've chosen for themselves.
The downside is this takes development effort. I've no idea how much, because I don't know what the code looks like. I am optimistic that all the mechanics I've listed here are already in the game in some way, like how eliminations are tallied with a time decay after the event--that can be used to time Mercy's ult effectiveness.
Conclusion
I doubt Blizzard hasn't thought about something like this. They're smart, and the game's been in development for ages now. Yet, we're stuck with crappy stats. They must think better ones aren't needed, and that's a shame. People who love Overwatch and want to get better would be happier with these in place. Hopefully, something like this is in their backlog somewhere. Still, even without the SR system adjustment, I'd be satisfied to just have these types of stats exposed, if not in-game, then give us a service API we can plug into and build our own sites to digest them and improve our own performance.
Posted Feb 16, 2017, 10:37 PM UTC · edited