League of Legends Statistics and Mathematical Modeling - The Most Unsexy Title Ever

PvtBarnfart··3 votes·2,495 views

It would appear that I thought a really lame title was the best way to attract attention to read my thread. Here's hoping it worked. I've been taking the different champion base stats by level progression and seeing how different champions stacked up at different levels. It's all driven off my need to actually "see" power curves. I built visualizations for Power Curves, a Trade Calculator (how different champions trade against each other in lane), and played with reclassifying Champion's Primary and Secondary roles. It's in a Tableau presentation found below. Take a look and tell me what you think. Beware, there are long boring methodological parts prefacing each chart. Enjoy.

https://public.tableausoftware.com/profile/nicolas.reinhart#!/vizhome/LOLChampionComparison/Nevermore

12 Comments

MothraTL2 votes

I like this.

PvtBarnfart1 votes

That's awesome. I hope it comes in use when you are picking champions or making lane decisions!

CheeseOdeath2 votes

Wow! That's really cool!! It had to take a lot of time. Where did you find all this data??

PvtBarnfart1 votes

Glad you like it! I put more time into it than I probably should have!

To create the data I went to the LoL wikia and extracted the per level stat advancement for damage, armor, etc, for all champions. The data is slightly dated and covers patch 4.17. I then derived a lot of the indicators. For instance, DPS is attack speed per level multiplied by damage per level (obvi). Inside of the Tableau you can see all my notes about how I derived/generated the data. Thanks again for taking a look and glad you liked it.

VerrKol2 votes

I'm also one of the geeks that likes to math out the comparisons in games for efficiency. Your take is very interesting, but I can see you've really limited your scope for obvious reasons. You've got a solid handle on the statistical analysis, but I think one of the reasons your results are coming out rather skewed is your choice use only base stats.

I know including item stats opens a huge set of it's own problems, but I'd suggest including runes and/or masteries in your comparisons. There is certainly some variation amongst players, but I think generalizing the builds for role/position would be standard enough to be relevant. The normal builds could be developed through popular guides like Mobafire and other sites and cross referenced with pro players. This might help "fix" things like your role predictor which I noticed it has a particularly difficult time with ADCs in the early levels.

I know you're looking at abilities next, but I suspect that including typical runes/masteries and even including a way for users to build their own selections would be relatively easy and fairly informative.

Overall, I can tell you're smart enough to do this and ambitious enough to do it right. I've thought about trying to quantify some things in LoL myself like I have other games, but the variables are pretty mind boggling to come up with something realistic enough to be useful. I really, really want to do some work on how jungle pathing affects successful ganks and gold generation, but I don't have the time with university and work to even come up with a way to collect data. Actually, finding a way to record the massive quantity of data generated in an individual game in an easily accessible way would be a massive project in it's own right.

Good luck and keep it up!

PvtBarnfart1 votes

Thanks for your in depth comments. Items and runes/masteries are on my list of things to tackle and, consequently, how to integrate them relatively painlessly. I think I'll need a very different platform than Tableau to do it; or really tool about with the underlying architecture to make it work. Thanks for you "attaboy" though... it gives me hope to keep pushing forward to make it happen!

You're note about items and runes/masteries is something that I've actually been putting a fair amount of brain cycles towards. What's interesting about items, runes, and masteries (IRM from now on), is that any champion can theoretically take any of them. While it may not make sense for a Janna to take a Infinity Edge, she could theoretically take one. As such, if a Caitlyn takes an I-Edge then a Janna could take one too, meaning that in net, there is no change to their DPS (assuming they got it at the same level - a fairly stretched logic, but I hope you see where I am going with this.). The same could be said about runes, meaning that the effect of the runes would have a net 0 impact to the underlying base stat structure. So what am I hinting at? Is that the base stats are still fundamentally the great indicator of champion power spikes and general curve, since any champion could mirror anothers build. Now we know this is crazy, but I think it's a fundamental thing to hedge the analyses on.

Your note about building templates of runes and masteries is a good one and may end up having champions be better specified to their roles. I think it's not hard to say this champion typically is in role X so we use template X. I think what we would see would be a great shift in the early levels, say 1 through 6, but the effects of the runes would probably degrade somewhat over time. But it's worth attempting. I'll definitely make this a future avenue of integration. And your suggestion of sort of "crowdsourcing" the templates ala Mobafire is a good one as well.

Your jungle pathing project sounds really interesting. My understanding of what the Riot API provides is not robust enough to measure directly. You could though maybe do it indirectly by utilizing the kill map that they have recently been producing in the match summary webpage. Presumably, I would think, more kills occur near the more successful gank spots on average (if I'm addressing your research interests correctly). But that may not be easy to extract. If you would ever like to talk about it and try to figure out a reasonable way to measure it, I'd be happy to discuss with you.

Thanks again for your encouragement, it really helps!

VerrKol2 votes

The idea isn't to compare the different champions with the same runes or masteries, but with the typical ones for their role. You then have a wider variance in AD for ADCs, AP for APCs etc. Of course this is primarily an early game distinction because of diminishing returns as base values rise. The other thing I meant to ask about, is are you including "base" stats from skills? For instance, every bruiser (except Darius) gets defensive steroids and it's part of what defines that role. I assume you're not but I suspect it's part of the discrepancy between your calculated roles and the realistic ones, but I'm sure you'll get there in time. Passive abilities only might be a decent place to start there.

I actually took a look at Riftwalk.gg which was used to make the NYT path of 10k games. I think there's potential to combine the data there for some really interesting correlations if not causation. If I could get enough data to parse it based on champion and then look at the correlations between pathing and gold generation/kill participation/objectives, especially early game, I think it would be very instructive.

PvtBarnfart1 votes

I hear you about the Runes and Masteries. My point was only that runes and masteries could potentially provide some false distinctions/power curves among champions, considering that they are not inherent to the champion. Rather they are intervened upon by the player meaning that the player, in some ways, "taints" the base stats. At the end of the day though, I don't disagree that Runes and Masteries need to be integrated. As I am imagining this, I'm thinking about building another Tableau slide that has the champions without Runes and Masteries and then with, so you can compare their before and after performance.

The point you bring up about Darius is an unfortunate reality at this point. To generate some of these figures (for instance, the trading calculation) required about 1.2 million calculations in long form data (yuck). Subsequently I had to do some quality control on the figures and thusly didn't have time to go about integrating passives. For instance, Vayne is totally out of whack in my figures specifically because her passive true damage isn't included. I'm not sure yet how to make the true damage cross champion comparable... yet. I think once I start tackling the abilities/burst potential calculations I'll get some better ideas on how to work on them.

I wasn't familir with Riftwalk.gg, but am now. What a wonderful website! I do some work with statistical computer vision and it seems to me you could take the minimaps of deaths and if you could sort by who killed who it seems like something that could illuminate where Junglers have the best kills. At the end of the day the minimap is just a set of pixels and each pixel is a feature. If a kill colors the pixel a certain intensity then it is a discoverable underlying structure. This seems good indeed. Would require a lot of front end work but is definitely doable.

VerrKol2 votes

Yes it "taints" champions, but I'd argue that's only really a problem when there are multiple viable options for individual champions (or you're not lvl30). No one plays the game (except pre-30s) without a set of ruins and masteries so looking at champions without them might be pure, but also deceptive. At this point we both know that it has to be done so I'll quite talking about it lol.

There are really only 2 ways to deal with true damage and penetration stats.

  1. Compare damage against an immobile straw dummy with defined armor/mr based on relevant game points
  2. Compare against other champions as in the trading potential

The unfortunate, from an analysis perspective, reality is that there are so many highly relevant permutations that it's a struggle keep the results relevant without hopelessly convoluting the results from a user perspective.

It really is an awesome website and it's potential really didn't hit me until I saw http://www.nytimes.com/interactive/2014/10/10/technology/league-of-legends-graphic.html

It's certainly identifiable from a graphic and I did a simple version of a feature finder using ImageJ at work over the summer, but I'm hoping their generating the graphic from a more readily usable data set. The processing power to run through that many images (enough for a large data set of games) would be prohibitive without a server and parallel processing...

PvtBarnfart1 votes

I just replied to another comment above saying I apologize for the delay in responding. I just got married and my mind has obviously been elsewhere. As youve said we both agree it just needs to get done at this point. I've been thinking about it and have an idea how to do it. Shouldnt be too time intensive. Ill share the results when Iwork on it next week... When Im back from my honeymoon hahah.

As for your true damage notes I like them. I think it ultimately needs to be done like your option two. The good news is that the trading rubric already exists. I wold just need to create a "Vayne" column and recalcuate. Not a trivial exercise but doable nonetheless.

Ive never heard of ImageJ. Im going to look into it this afternoon. Do you still have any of your data or results laying around? Id be interested in seeing them. As for generating rnough results... Its pretty cheap to buy space and processing power in the amazon cloud... Maybe we combine forces and attack the problem? Let me know what you think.

High Variance2 votes

Has anyone considered doing a logistic regression using various parameters such as kills, gold, etc. as co variates, where outcome was 0 (defeat), 1 (victory)?

PvtBarnfart1 votes

Sorry for the late reply to your message. I got married this last week and haven't been near a computer at all. I've definitely thought about the odeling of LoL matches but it makes for a tricky thing. At the end of the day, my suspicion is that what determines the winner of a match is the number of kills and objectives taken. This however is slightly obvious and sort of difficult to model before a match begins. You cant say I expect to have x number of kills and take this amny objectives. Modeling a match is really more of a time series problem. We would instead probably like to say if this number of kills occurs by this time who is likely to win and when. You could also model it as a logistic regression using the champions on the teams as covariates. This would be a huge model though with tons of interacting effects. Have you thought about modeling the matches and if so what has come to your mind?

More from Community Creations