Back in mid-July, Valve released a WebAPI for Dota2. I decided to have some fun with it.
By the time of the API release, Dota2 had already had some pretty interesting websites and articles devoted to game stats, stats.dota.be stands out in particular, but the downside was that all of these approaches used complete aggregation. We could see that Treant Protector had the highest win percentage, but we couldn’t really isolate the factors that lead to this. We could see that Ursa and Lycan were the best performing ‘carries,’ but are they just low level pubstompers or is there something more substantial to their success?
What interested me most about the WebAPI is that it had filters based on Valve’s skill ratings that could allow me to break down the results according to relative skill levels. This allows us to create a statistical progression in hero usage rates, hero win rates, item popularity and much more. It’s not surprising in the least that strategies change as the skill level increases, but now we can get a glimpse into that strategic shift without relying solely on our often misleading intuitions.
I should be clear that nothing that follows should be treated as evidence for “the right way to play.” Building an item because of a number in a spreadsheet is just as dumb as building it just because you saw a pro do it. Probably dumber. All statistics can do is measure trends. This measuring has a certain value, but if you genuinely want to be a good player you have to be the one creating trends. Maybe a < 45% win rate is indicative of an underpowered hero, or maybe that’s just a hero that the general population hasn’t quite figured out yet. In case that left any ambiguity, let me be completely clear: if you try to use any of my writings to throw your teammates under a bus, you’re a greater detriment to your team than any possible hero choice or item build. That’s not what this site is for. Don’t do it.
To end on a lighter note, I’d like to show some appreciation to winxp from the Dota2 Dev forums. Without his Python WebAPI interface I may not have gotten started with any of this.