Tag Archives: laning

League of Legends’ Sustain Problem

There’s a pursuit that’s been going on in high level League of Legends for years. No one brings it up, no one talks about it, I’m not even sure most people realize what they’re doing when they’re looking for it, but it is constantly in play: it is the persistent search for the next great source of free or cheap early game sustain.

You could argue that this goes back to the days of Doran’s Blade, Crystalline Flask, or even Long Sword/Boots + Health Pots, but for the first half of League of Legends’ lifespan the options remained fairly stagnant. It was really the introduction of Warlord’s Bloodlust at the start of Season 6 that made people realize just how powerful early game sustain could be. And thus began a cycle: high-level players would discover a source of early game sustain, one that was cheap or free, and they would use it to bridge champions’ weak early games, or make their oppressive laning even stronger, by mitigating opponents’ ability to trade against them.

How Did We Get Here?

If sustain is such an early-game inhibitor and Riot wants to encourage early-game aggression and player-to-player engagements, why have meaningful early game sustain at all? Well, the answer is simple: sustain feels good. Continue reading League of Legends’ Sustain Problem

Improving CSD – A better way to measure effectiveness in lane

The Creep Score Difference statistic is commonly used to evaluate a player’s laning phase; however, it’s far from a perfect stat. One of the main problems I have with the stat is that it doesn’t account for the champion matchup, which may give each player advantages or disadvantages before the game even starts.

To account for the strength of matchups in CSD, I have created a matchup-adjusted CSD stat which is calculated by taking the actual CSD and subtracting the matchup’s average CSD from it.

Adjusted CSD = CSD – Matchup CSD

Since this formula uses matchup averages for CSD, it is important to set some limitations on what can be used as the matchup average. I’ve set the sample size limit for each matchup to 5 games: if a matchup has been played 5 games or more, then the average CSD over those games will be used, but if the matchup has been played for fewer than 5 games then the matchup CSD will be registered as 0, meaning that the adjusted CSD will equal the actual CSD.

One issue that arises from implementing a minimum number of games for a matchup is that there may not be enough data on a lot of the matchups. While I only want to use pro play for the matchup CSD value, I also need to ensure that I can get a value for almost all matchups. To do this in the calculations that follow, I’ve decided to use data from the CBLoL, LCK, LCS, LEC and LMS. All of the data used from these leagues is from games played on the same patches (9.01, 9.02, 9.03, 9.04, 9.05) during the Spring Split 2019 regular season.

To illustrate, the size of the adjustments that can be made using this approach, the tables below show the 5 matchups for each role that have the largest average CSD at 10 minutes with a minimum of 5 games played. Continue reading Improving CSD – A better way to measure effectiveness in lane