Tag Archives: laning

GXD – A clearer way to communicate player diff stats

Some time ago, I introduced the concept of “slash lines” as a way to measure players’ early game performances. The idea was to move away from creep score difference (CSD) stats, especially for junglers, and begin looking more at gold and experience differences.

Gold and experience diffs have several advantage over CS diffs. They capture the actual value of each CS, instead of treating a siege minion as having the same value as a caster minion. They also handle the rewards from jungle camps in a more consistent way, compared to the challenges that existed with the past approach of counting every jungle monster as 1 CS, or the current approach of counting every camp as 4 CS.  Gold and experience also do a better job of normalizing measurement of oddball lanes like the current Spellthief’s Sona, or last year’s Spellthief’s/Klepto Zilean.

There are some problems with the slash lines approach, though, and I’d like to move forward with another step that should help.

What problem are we trying to solve?

First, let’s understand the challenges with using slash lines. The biggest issue is that slash lines are messy to read and write. When I say that Lira has +132/-68 GD10/XPD10, that’s a whole lot of characters on the screen. It can definitely feel pretty cryptic.

Continue reading GXD – A clearer way to communicate player diff stats

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