For a while I have been pondering how the Splinterlands modern ranked ladder really works. With "how it works" I mean where are the players? Are they evenly distributed across the leagues and tiers, or not?
My gut tells me that this is not so. I write this foreword before actually examining the data. I believe that players are very clustered in the Diamond league. I have found that in Diamond I can face anything from very weak opponents to the toughest players in the game. I have always thought that this is really weird, and that it indicates that the rating does not work as an indicator of a player's skill.
There is no easy way to get the rankings of all active players from Splinterlands. We have access to the leaderboard, and top matches in each league, but we can not see a full list of ratings at any given time. I believe the reason why we don't have that is to reduce server costs.

Data gathering approach
With no direct access to the data, we need to be creative. What we can do is to crawl player battle histories. For each player, we can see their latest 50 matches, and extract active players from that. We can keep doing that, going through each unique account we have found so far, and build a big list of accounts. This puts quite a bit of load on the Splinterlands servers, I do not recommend doing it often. Here, I did it once to build my list of accounts.
Once we have that list of accounts, we need to get the ratings of all those accounts. This is another long list of api-calls. I put a delay between them to play nice with the Splinterlands server. Some might be unrated, (50 matches can extent back beyond the current season, or they can be purely tournament matches, etc), so we have to discard those. There are also accounts without spellbooks, and liquidity bots (I'm not sure I'm able to filter all of those, but some of them have account names that are obviously not players). Eventually, we find ourselves with a list of accounts and their ratings.

The data
A total of 2633 accounts had a rating when I sampled. Looking at the ratings of the "top battles" in novice, the rank they have matches well with my number of accounts, so I think I got most of them. (2633 accounts means that roughly half the accounts sampled with the procedure above did not have a valid modern rating for this season).
When I plot their distribution, it looks like this:
So, the accounts are clearly not distributed evenly across the ranks. This was something like what I expected, but I have to admit there are more accounts in gold relative to diamond than I thought. I find it somewhat interesting that there are so few players in Bronze and Silver. I also wonder how much the liquidity bots are shaping this distribution. It does seem to be very easy to climb into gold, even the higher gold tiers.
I plan to sample the ratings two more times for this season, and compare them to see how it evolves over time.
What do battles look like in different leagues?
I will now just pick a few random accounts at different ratings and take a battle from them, this is not exhaustive or anything, but I think its interesting.
Generally what I find is that anything below gold is just junk. A LOT of liquidity bot matches (or at least versus guildless chaos only accounts...), and plenty of them win with only soulbound cards or 1 bcx regular cards. Within gold, we find the full transition from those liquidity bot farming accounts to complete max level Chaos + partially Rebellion decks. Diamond and upwards generally seem to be max level decks of various sorts.
So, in my opinion it looks like our actual ladder starts at 1900 rating. Weird.
Battles:
Mid-bronze battle:
giacumuzzi vs. renoux (liquidity bot??) | |
---|---|
Type | Ranked |
Format | Modern |
Mana | 37 |
Elements | Red, Blue, White |
Rules | Standard |
Winner | giacumuzzi |
giacumuzzi's team:
renoux's team:
Mid-silver battle: 1740 Rating:
coleguilla vs. darthsplint | |
---|---|
Type | Ranked |
Format | Modern |
Mana | 26 |
Elements | Red, Blue, Green |
Rules | Heavy Hitters, Earthquake |
Winner | coleguilla |
coleguilla's team:
darthsplint's team:
Low gold battle 2020 Rating
letsgetdirty vs. scar-85 | |
---|---|
Type | Ranked |
Format | Modern |
Mana | 28 |
Elements | White, Black |
Rules | Noxious Fumes, Up to Eleven, Little League |
Winner | letsgetdirty |
letsgetdirty's team:
scar-85's team:
High gold: 2660 rating
john9inch vs. mranhhoang | |
---|---|
Type | Ranked |
Format | Modern |
Mana | 51 |
Elements | Red, Blue, Green, Black, Gold |
Rules | Heavy Hitters, Briar Patch, Blood and Sunder |
Winner | mranhhoang |
john9inch's team:
mranhhoang's team:
Mid diamond, 3340 Rating
gabbli vs. xiv777 | |
---|---|
Type | Ranked |
Format | Modern |
Mana | 37 |
Elements | Red, Blue, Green, White |
Rules | Reverse Speed, Healed Out, Armored Up |
Winner | xiv777 |
gabbli's team:
xiv777's team:

Final words
The battle summaries above were all created with the spltools app. If you find any bugs with it or have suggestions, please reach out to me here, or find me in the Splinterlands discord server. Thank you for your attention!
If you are interested in more posts about the spltools python package, you can find the previous ones here:
spltools update posts:
9. Updates to the spltools battle analyzer
8. spltools launches as a streamlit app
7. spltools functions and classes for battle data
6. spltools setup guide
5. Best brawler code
4. spltools update: Classes for Brawl data
3. spltools update: Reward chest classes
2. spltools update: Checking which set a card belongs to
1. Initial spltools commit
If you have not yet joined Splinterlands please click the referral link below to get started.

Join Splinterlands

Best wishes
@Kalkulus
