Visualization of Ladder Data from Last Season

starcraft 6 - Visualization of Ladder Data from Last Season

I made a post not long ago about SC2 breaking 500k ranked players last season and a few people were quick to point out that there probably weren't actually 500k players due to multiple accounts, multiple races ranked, etc, so I decided to dig into the data myself.

Currently I've gathered/processed data for NA only regarding MMR distribution, games played, off race/main race and win rate.

I've only created charts for the MMR distribution and games played so far, but plan to add more soon and also want to include the other regions.

You can check them out at
zephyrus - Visualization of Ladder Data from Last Season

PS: You can select and compare multiple races simultaneously.

Note: The site is not mobile friendly and it never will be. Mobile screens are too small to properly fit charts on and tooltips don't work well with touch screens.


Here's a short summary of some interesting things:

  • 100k unique accounts, 150k total ranked account/race combinations

  • ~50% of players played <13 games

  • ~86% of players played <100 games

  • The highest number of games played was ~5500

  • Zerg's MMR distribution is shifted higher than all other races until ~4.5k, where it evens out

  • This may not come as a surprise to many people, but players heavily cluster around the MMR boundaries for each league. This is especially prominent in Masters

  • All race distributions are tightly grouped from Bronze-Plat and are very smooth curves. Irregularity in Diamond and above could be due to lower population size, racial influence or increased MMR ranges.


What am I looking at?

The MMR distribution is a histogram, which is a way to visualize frequency. Players are put into 100MMR bins, then the number of players in each bin is counted and divided by the population to normalize the data. Points are at xx50MMR as that is the middle of each bin.

The activity graph is a cumulative distribution. Players are binned based on their number of games played, then the number of players in each bin is divided by the total number of players. The process then repeats with the next bin, with all results being added together. Hence, the cumulative part.

If that was a bit wordy the TL;DR is, the first graph shows how the playerbase is spread out over the ladder and the second one shows what % of the playerbase plays x number of games in a season.

Why NA?

1) NA is the easiest server for me to pull data from. The EU API is unreliable for me and both it and KR take a lot longer to access.

2) I didn't want to add extra complexity by immediately collecting data from all regions. 150k records is already enough to handle while I'm working things out.

Can you add x to this?

If you suggest something and I feel like it's worth my time I'll do it. At the moment I'm planning on adding winrate and main race/off race graphs.

How did you do this?

I used a Python script to hit Blizzard's API and gather the data, then a combination of Python and Excel to examine and process it into a more usable format. The webpage is a static site made with React and Recharts (Charting lib).

Hope you guys enjoy!

zephyrus - Visualization of Ladder Data from Last Season

Source: Original link

© Post "Visualization of Ladder Data from Last Season" for game StarCraft.

Top 10 Most Anticipated Video Games of 2020

2020 will have something to satisfy classic and modern gamers alike. To be eligible for the list, the game must be confirmed for 2020, or there should be good reason to expect its release in that year. Therefore, upcoming games with a mere announcement and no discernible release date will not be included.

Top 15 NEW Games of 2020 [FIRST HALF]

2020 has a ton to look forward the video gaming world. Here are fifteen games we're looking forward to in the first half of 2020.

You Might Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *