Understanding League of Legends Data Analytics

Saar Berkovich
Snipe.gg
Published in
10 min readApr 1, 2019

For the last couple of years, League of Legends analytics sites like op.gg, champion.gg, and League of Graphs have been consistently seeing tens of millions of visits a month, each averaging a length of 5 minutes (according to SimilarWeb). Why do gamers spend so much time looking at stats and graphs when they could be spending that time playing the actual game?

This post is the first in a series on data analysis in League of Legends and will answer the aforementioned question while introducing League of Legends and its data analysis methodology.

op.gg has harnassed 244M page views in the month of February (source: SimilarWeb)

Understanding League of Legends

League of Legends (aka League or LoL) is arguably the most played video game on PC and the most watched esports in the world. Strangely enough, it is also an awfully complex game where two groups of five players each compete in a part-arms race part-battle. Kind of like the cold war, but with magic (and it’s actually a war).

The goal of the game is to destroy the opposing’s team base before they destroy yours. You play one of 140+ distinct characters (known as champions), each with their unique abilities and properties, yielding them different advantages and disadvantages. Each of the two identical bases is protected by arrays of defensive structures and AI-controlled monsters (known as minions).

The map of a League of Legends game (source: Wikipedia). As can be seen, the map is symmetrical, and the way to the other team’s base is through one of three lanes, where each lane is defended by turrets (colored dots) and minions.

The idea is that each team’s efforts are split between advancing towards the enemy base and halting their advance to yours. In the heart of each base is a Nexus. The game ends when one of the Nexuses (…or Nexii) are destroyed. There are also neutral objectives scattered around the map — taking those objectives will either make you stronger or give you gold. Collect enough gold and you can buy one of 100+ items that will make you stronger in different ways.

Are you confused? So is the average League of Legends player. When there are so many different decisions that need to be made real-time (when to defend, when/where to push, what items to buy, etc.), it becomes virtually impossible for the human brain to handle (though some gamers may hint that it has to do with the ability of said brain). This leads gamers to spend time revising their strategy before the game starts, granting them a “mental roadmap” to follow while in game, minimizing the number of considerations needed to make decisions, and increasing their odds of winning. As it stands, visiting analytics sites is one of the most efficient ways to revise one’s strategy.

Strategy in League of Legends; The ‘meta’

League of Legends is full of choices and decisions. In a game of League, there are, for five players a team, hundreds of different champions to pick from, hundreds of different items to buy, and at least three things you can do at any given point (defend, attack, take neutral objectives). There is seemingly an infinite amount of permutations of how a game could be played out.

Not all of these permutations and decisions are viable, however. For instance, running alone into the enemy team in its entirety is always a bad idea (you will die — meaning your enemy gets gold and you are inhibited from playing for a minute or so). A less obvious example is that if you’re playing a tank champion (a champion whose advantage is being durable and its disadvantage is dealing relatively low amounts of damage), the consensus is that you shouldn’t spend gold buying items that increase your damage, but rather buy items that further increase your survivability, leaning in on your natural advantage.

The distinction between decisions that are viable and those who aren’t, streamlines the strategy so that it can be put together, discussed and evaluated by human minds.

The discussion on viability is known as “the meta”, or metagame — the game about the game. Shaped by players, the meta dictates how viable a decision, thus helping focus the in-game decision-making process of players.
Making a play that is considered to be nonviable, or “out of meta” is usually a no-go as it lowers your odds of winning.

The concept of meta is not specific to League of Legends, it actually exists in every game, including Chess. A Chess player does not have to execute a fancy opening when playing, but when playing against somebody that executes a “meta” opening, their odds of winning drop dramatically. The sole existence of the metagame forces a player who wants to win to play by it.

Nonetheless, this goes both ways. Since your enemy is expecting you to make a meta move (consciously or not), sometimes executing an unpredictable move can gain you the upper hand by catching them off guard.

The meta is shifting consistently

Since the meta is being dictated by humans, new strategies are being discovered, and things that were once thought of as unviable, suddenly become viable. For example, decision A and decision B may be unviable on their own, but executing both decisions consequently together with C may prove viable. Oddly enough, even a game as old as Chess’ meta shifts.

Unlike Chess, League of Legends changes once in 2 weeks. Riot Games (the company behind League) releases gameplay updates (known as ‘patches’) that alter the strength of abilities and items in the game and occasionally add new champions and content. The premise of these updates is twofold: keeping the game fresh, and keeping the game balanced (more on that later). The complexity of the game and the regularly shifting meta make it essential for players to be able to draw conclusions on what’s currently viable, and as with everything, the faster it can be done — the better.

Enter Analytics Websites

League of Legends allows developers to access data of past games through an API. Developers collect masses of data from games played by high-ranking players and perform automated batch data-processing jobs over time, resulting in statistical reports that are published in the form of web applications. These websites provide gamers the means to evaluate the meta at a glance, and they, in turn, flock to them by the millions.

How it works

The goal of every game (League included) is to win. Given that, it should come as no surprise that the baseline to measure a decision’s viability its win rate. That is — out of every game where that decision was made, what percentage of players making them eventually won the game. Statistically speaking, if you were to execute an array of decisions that yield a high win rate, your chances to win grow.

Pre-game

The two core decisions made in every League game, before it starts, are what champion am I going to play, and what role am I going to play them in. As stated above, the League roster boasts over 140 champions with distinct abilities. It is universally recognized (both officially by Riot Games and by the meta) that each of the 5 players in a League group plays one of 5 roles: Top, Middle, Jungle, Carry, and Support. Each of the roles has different tasks, and their performance is deterministic of the game’s outcome. Every champion can, in theory, play every role, but since each champion has different abilities, their viability differs by role. Let’s look at an example.

Win Rates by champion and role, patch 9.6 (source: u.gg). U.gg has seen 100M+ page views in the month of February.

The table on the side was taken from League analytics site u.gg, it depicts the win rate of 11 Role-Champion combinations. From it, we can learn that playing Top (represented by the dotted-rectangle with bright top-left sides), it is favorable to pick Pantheon over Ornn, as doing so increases our chance to win by 6%.

We can also learn that playing Pantheon Top is more viable than playing Pantheon Jungle (represented by the plant-thing), as when played Top, Pantheon’s win rate is increased by 2%.

A core assumption that’s being made is that the game is balanced, thus a decision that’s made before the game starts should not impact the win rate, meaning the win rate should be 50% (you win some, you lose some, right?). We can indeed see from the table that most Role-Champion combinations yield a win rate very close to 50%, hence, a deviation of 2% is substantial. A Role-Champion combo with a win rate of 48% or 52% is considered weak or strong respectively. A champion with a win rate of 45% or 55% is considered broken.

Knowing this, if we look again at the 6% win rate delta between Pantheon Top and Ornn Top, we can understand that this 6% is absolutely massive, it presents that Pantheon Top is strong, while Ornn Top is exceptionally weak.

Deviations from the 50% win rate are the main reason behind Riot Games’ bi-monthly game updates. Although it is virtually impossible to keep a game as complex as League perfectly balanced, Riot strives for it to be as balanced as possible. As with most other game developers, Riot has a Balance team that constantly tunes abilities and items with the premise of balancing champions or combinations that are too strong/weak. Doing so, they will likely cause a butterfly effect breaking other combinations which will need to be furtherly tuned in the future.

Peering through tables like the one above (aka ‘tier lists’) provides an unbiased look at the current meta, and so they are frequently sought by players (amateurs and Pros alike) who want to have the best odds of winning.

Build analytics

After choosing a champion and role, the next choice would be to choose a build order. The “build” relates to a set of major decisions that need to be made every game (for contrast, taking a certain objective is something that will not be done every single game). Usually, the build is your choice of Summoner Spells, runes, skill leveling order and items to buy. Let’s take a look at a recommended item build for the six items each champion can have.

Gnar’s recommended build order in patch 9.6 (source: u.gg).

The above is a build order for Gnar. To keep on point, I’ve cut the “starting items” portion of it. We can see that in 2184 matches, Gnar players have built Black Cleaver first, Ninja Tabi second, and Frozen Mallet third, and 56.78% of these games were won. This is despite Gnar’s overall win rate being 48.28%, meaning that building these items gives a significant statistical edge over building others.

The first three items are considered the core build — they usually don’t change on a game-by-game basis. From the fourth item onwards, options are being given, meaning the item should be chosen depending on how the game is going.

Let’s look at options for the fifth item — We are being recommended to choose between Randiun’s Omen, Spirit Visage, and Thornmail. The first two are items that increase resistance to physical or magic damage respectively, and the third one is an item that prevents attackers from healing while they’re attacking you. If you’re having trouble with magic damage (i.e, enemies that deal magic damage kill you often), you should probably pick Spirit Visage. However, if none of your enemies deal magic damage, it makes a lot less sense to build Spirit Visage, even despite its win rate of 57.5%.

The Pitfalls

Visiting League of Legends analytics sites is a great way to keep up-to-date with the meta and get advice on what decisions to make during the game. Yet, due to the game’s complexity, taking their numbers for granted can be misleading.

For example, champion Azir’s win rate has been consistently well below 49% since January 2018 (according to League of Graphs, a site that saw 45M+ page views during the month of February). An observer noticing this may think that Azir is very weak. However, Azir was the 11th most picked champion in the 2018 NA LCS Spring Season. Also, looking up Japanese player StrawberryCookie on op.gg, a website that gives player-based analytics, we can see that StrawberryCookie currently has a whopping 69% win rate playing Azir.

The explanation to the above is simple - Azir is not a weak champion, it’s a champion that is hard to play. Meaning, the average player will not do well with Azir, but expert and Pro players will be able to play him effectively nonetheless.

Developers of League analytics sites face many challenges, too. To begin with, Riot’s API, while very comprehensive, is far from perfect — it has many limitations in the form of convoluted flows and overly specific rate limits that requires the developers many days and hours of work before being able to collect data.

The data analysis phase is not straight forward either, aggregating build orders and sorting them by win rate is one thing, but it can be difficult to decide what build to actually recommend. For instance, let’s say we’re looking at a total of 20,000 occurrences of Gnar builds, and one build that occurred 10 times had a 100% win rate. Should we recommend that build to users? At such a small sample size, probably not. It’s more likely that someone got lucky than Riot’s Balance team has let there be a build with a 100% win rate.

Also, as with the Azir example, what applies to expert and Pro players does not apply to the average player — giving an iron (the lowest rank in League) ranked player a build used by a Pro may actually be detrimental to their performance in-game.

The Meta of Gaming

In 2019, being a gamer has a meta of its own. Gaming is no longer just about playing games, it’s about the ecosystem of playing games. Gamers nowadays visit analytics sites, watch live streams, consume offline content and hire coaches. As the gaming market grows, the staggering numbers we’re seeing will only continue to rise. Thus, as professionals and avid gamers, we at Snipe.gg believe the gaming is the industry to be in 2019.

This is the first post in a series on data analytics in League of Legends. The next posts will focus on our own endeavors, and how we overcame some of the technical difficulties listed above using machine learning, deep learning, and other exciting buzzwords!

--

--

Saar Berkovich
Snipe.gg

Software Engineer with data scientific tendencies. Passionate about science, music, video games, traveling, and building stuff.