All posts by Jack Park

Previously a Data Analyst for Golden Guardians.

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