• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 12:43
CEST 18:43
KST 01:43
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
TL.net Map Contest #22 - Voting & Ladder Map Selection1Code S Season 2 (2026) - RO8 Preview4[ASL21] Finals Preview: Two Legacies21Code S Season 2 (2026) - RO12 Preview2herO wins GSL Code S Season 1 (2026)7
Community News
StarCraft II 5.0.16 PTR Patch Notes may 26th83Weekly Cups (May 18-25): MaxPax wins doubles0Crank Gathers Season 4: BW vs SC2 Team League4Weekly Cups (May 11-17): Classic wins double1Code S Season 1 (2026) - RO8 Results2
StarCraft 2
General
Changing from 12 to 8 is just asking for StarCraft StarCraft II 5.0.16 PTR Patch Notes may 26th TL Poll: How do you feel about the 5.0.16 PTR balance changes? Weekly Cups (May 11-17): Classic wins double TL.net Map Contest #22 - Voting & Ladder Map Selection
Tourneys
GSL Code S Season 2 (2026) Sparkling Tuna Cup - Weekly Open Tournament Crank Gathers Season 4: BW vs SC2 Team League GSL Code S Season 1 (2026) Maestros of The Game 2 announcement and schedule !
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players
External Content
Welcome to the External Content forum Mutation # 527 Hell Train The PondCast: SC2 News & Results Mutation # 526 Rubber and Glue
Brood War
General
FlaShFTW vs A.Alm Grudge Match Event BGH Auto Balance -> http://bghmmr.eu/ VPN experiences Every Matchup's Top 5 Winrates (all ASLs & KSLs) Pros React To: ASL S21 Finals
Tourneys
[ASL21] Grand Finals [Megathread] Daily Proleagues Escore Tournament StarCraft Season 2 [BSL22] WB Final & LB Semis - Saturday 21:00 CEST
Strategy
Any training maps people recommend? Muta micro map competition [G] Hydra ZvZ: An Introduction Fighting Spirit mining rates
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread ZeroSpace Megathread Path of Exile Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine Trading/Investing Thread Dating: How's your luck?
Fan Clubs
The herO Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books
Sports
2024 - 2026 Football Thread McBoner: A hockey love story TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
Customization Drives Loyalty…
TrAiDoS
Why RTS gamers make better f…
gosubay
ramps on octagon
StaticNine
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1924 users

Deriving True Skill from Ladder Points

Forum Index > SC2 General
Post a Reply
farseerdk
Profile Joined May 2010
Canada504 Posts
Last Edited: 2010-12-26 02:57:29
December 26 2010 02:55 GMT
#1
The TL;DR
Let x be: points held + Bonus Pool - division offset
Let u be: average points of everyone in Diamond League + average unused bonus pool - average division offset
Let n be: the number of players currently in Diamond League
Your skill relative to the average diamond player, assuming you are in diamond = (x-u)/[(Sum of all x-u)^2/n)^(1/2)]

I would like to seek the opinions of the community to see if my thinking is correct. I realized that this is an imperfect measure but I believe it is much better than just stating how many points you have. If my thinking is correct, I was wondering if TL could create an automated algorithm that can allow us to calculate this on the spot by putting in our battle.net profile URL.

PS: This is obviously for Diamond players only.

Intro
The purpose of this post is to give a metric that can allow players to understand truly how they rank compared to other players within their league, across divisions and regardless of bonus pool. The reason I'm making this post is because a lot of people say things like "I'm 2100 points, but I play people between 2800 and 3200 all the time, so I must be closer to 3000, really" or "I have 1800 points but over 1000 in my bonus pool, so I should therefore be around 2800 in reality". I want to create a standard phrase that people can say and instantly have people understand where their skill level is without any kind of second guessing. Remember that I am trying to create a relative metric. I am NOT trying to derive the actual MMR number.

So, as we all know, Ladder Points do not adequately show what your actual rating is within the matchmaking system (MMR). This has been done on purpose by Blizzard and it is essentially designed to make you want to continue playing and not destroy your ego. There's already been a lot of analysis and explanation done on this and I would first like to draw the reader to these amazing posts by Excalibur_Z that essentially explain how the system works. This isn't mandatory reading to understand my post, but it's pretty insightful stuff.

SC2 Ladder Analysis Part 1, an overview of the system: http://www.teamliquid.net/forum/viewmessage.php?topic_id=118212
SC2 Ladder Analysis Part 2, greater depth about matchmaking and promotion: http://www.teamliquid.net/forum/viewmessage.php?topic_id=142211
SC2 Ladder Misconceptions FAQ:
http://www.teamliquid.net/forum/viewmessage.php?topic_id=150367

Most importantly, I think everyone needs to read this post (also by Excalibur_Z):
http://www.teamliquid.net/forum/viewmessage.php?topic_id=142211

This last post talks a lot about Division Offset, which basically used information from Blizzard's top 200 rankings compared to the top 200 rankings from sc2ranks.com (which uses pure points to rank players) to calculate a modifier that, when subtracted from your current points, can give you an idea of what your rating is regardless of your division.

What we Know
So let's take stock of what we know so far:
1) Points are not equal amongst divisions, but if we use the Division Offset as calculated by Excalibur_Z, we can come close to understanding our "divisionless" rank according to points.
2) As time goes on, everyone gets a Bonus Pool. This Bonus Pool essentially gives you double points for winning until it runs out. Everyone gets Bonus Pool at the same rate, regardless of whether you play or not.
3) Because of Bonus Pool, the average points across diamond players will constantly rise as time goes on. For example, a few months ago I had 1200 points and Gretorp (who is also in my division) had about 2200. I now have 2200 points and Gretorp has like 3200. Does that mean I am now as good as Gretorp was a few months ago? Hell no. What's important is our relative ranking.
4) As you play more games, the system gets better at matching you against players with the same skill as you - that is, your MMR Confidence Interval shrinks. As this interval gets small enough, you will eventually converge to a 50% win rate, provided your skill does not change faster than the average skill increase of all players in Diamond.
5) From SC2ranks.com, we know how many points every diamond player has.
6) Though not currently displayed on sc2ranks.com, your bonus pool is presumably fetchable from your battle.net profile.

Far's Ranking Metric
So from these 5 things, I suggest that we start using the following metric to measure skill.

Let x be: points held + Bonus Pool - division offset
Let u be: average points of everyone in Diamond League + average unused bonus pool - average division offset
Let n be: the number of players currently in Diamond League
Your skill relative to the average diamond player = (x-u)/[(Sum of all [x-u]^2)/n)]^(1/2)

So for example, if you get a number like 1.5, that means you are 1.5 standard deviations above average (quite a bit above average). If you get like -0.5, that means you are half a deviation below average. If we wanted to get numbers closer to what we're used to with ELO, we could just multiply this by 1000.

Explaining the Metric
Points held + Bonus Pool - division offset
This part essentially gives us your unmodified points ranking. THIS IS NOT YOUR MMR.

Why do we add Bonus Pool?
From points 2, 3 and 4 under "what we know", provided your confidence interval is sufficiently small and your skill is rising at roughly the same rate as the average skill in diamond league, you should have close to a 50% win rate. If that's the case, you would lose exactly as many points as you win, except that when you win you get double points until your bonus pool runs out. If we assume that the system is right about your skill and that your skill has not rusted while not playing and that you've not magically gotten better without laddering, we should add Bonus Pool.

[i]Why do we subtract division offset?[i]
Because not all divisions are equal (what we know #1). So in order to compare across divisions, we have to make them equal.

Average points of everyone in Diamond League + average unused bonus pool - average division offset
This tells us the current unmodified point value of the average player. When we subtract the two, the difference tells us how many more (or less) points you have than the average diamond player.

[(Sum of all [x-u]^2)/n)]^(1/2)
This is basically the unmodified standard deviation of points in Diamond league. Here's why this is important:

Consider two players: A and B. 2 months into the season, A has 100 points more than B. 4 months later, A has 500 points more than B. Does this mean that the skill gap between A and B is now 5x greater than it was before? No! Everyone got more points. What's important is their relative distance in skill from average player. That is what we are trying to measure when we divide your point difference from the average player by this number.

And for those of you not familiar with basic statistics, we need to square all x-u, because if we don't, we will get both positive and negative values, which, when added together, would give us 0 (by definition). So we square them to make the negative values positive and then that the root at the end to "undo" the squaring.

Why this is still an imperfect measure and why there are still some challenges in measuring this
1) Division offset is imperfect and we need more data to make it perfect
2) There are many divisions that we don't have offset values before, simply because nobody from those divisions has ever appeared in the top 200
3) New divisions are being created every day
4) In order for this to be accurate as intended, we need to assume some sort of symmetric distribution. This is most certainly not the case as we probably have a fat lower tail (low diamond players are closer in skill to each other than high diamond players).
5) It is possible to have 0 points in diamond league, lose a game and not get negative points.
6) There are many platinum players with MMRs sufficiently high enough to get into Diamond that simply haven't been promoted yet. There are also some Diamond players with MMRs low enough to get demoted but haven't yet.
7) If the MMR threshold for Diamond is rising (a fair assumption if we conclude that the population is growing and that most new entrants are not diamond players), there should be inactive diamond players that should not be in diamond league, but still are because you can't get demoted without logging on (not sure if this is correct).

This has just been a random thought experiment while I avoid sleeping in order to get to boxing day shopping early enough! I appreciate your comments and feedback. I'm far from certain that everything I typed here is correct.

-Far.257
Perspective is merely an angle.
s.a.y
Profile Blog Joined October 2007
Croatia3840 Posts
December 26 2010 02:59 GMT
#2
Can you pick a division and show a real example?
I am not good with quotes
Drizz
Profile Joined August 2010
25 Posts
Last Edited: 2010-12-26 03:00:29
December 26 2010 02:59 GMT
#3
excellent read u make some valid points
SnowSC2
Profile Blog Joined September 2010
United States678 Posts
December 26 2010 03:03 GMT
#4
Good read, that was interesting,
Parodoxx
Profile Joined May 2010
United States549 Posts
December 26 2010 03:05 GMT
#5
Great read and the best of luck to you and TL in figuring out all this out.

Im no math major and have no idea how people go about deriving these formulas however im very interested in the results as I am one of those 1300 diamond players playing 2200+ people in every game.

So best of luck and thanks for your work.
farseerdk
Profile Joined May 2010
Canada504 Posts
December 26 2010 03:19 GMT
#6
On December 26 2010 11:59 s.a.y wrote:
Can you pick a division and show a real example?

Yeah I'm doing it for my division (Immortal Yankee on NA server) but it's taking forever because I don't have a fetch program to get everyone's bonus pool, so I have to look them up manually on battle.net
Perspective is merely an angle.
Bluetea
Profile Joined August 2010
United States185 Posts
December 26 2010 03:21 GMT
#7
On December 26 2010 12:19 farseerdk wrote:
Show nested quote +
On December 26 2010 11:59 s.a.y wrote:
Can you pick a division and show a real example?

Yeah I'm doing it for my division (Immortal Yankee on NA server) but it's taking forever because I don't have a fetch program to get everyone's bonus pool, so I have to look them up manually on battle.net


Sounds tedious. =[
All these bitches is my sons.
idonthinksobro
Profile Joined December 2010
3138 Posts
December 26 2010 03:35 GMT
#8
this wont work because the bonus pool thingy isnt accurate at all.

You cant assume that people with bonuspool should be ranked any higher than they are right now - because you dont know if they stand a chance against better(higher on ladder) players. If they lose to much the bonus pool just helps that their points dont fall rapidly.

Another big point is that you cant compare a player that has made 100 games and some guy that made 10000 games - they guy with 10000 games should almost always be higher ranked on the ladder no matter how good he actually is as long as he can remain a 50% WLR on the ladder his points will increase.
farseerdk
Profile Joined May 2010
Canada504 Posts
December 26 2010 03:38 GMT
#9
On December 26 2010 12:35 idonthinksobro wrote:
this wont work because the bonus pool thingy isnt accurate at all.

You cant assume that people with bonuspool should be ranked any higher than they are right now - because you dont know if they stand a chance against better(higher on ladder) players. If they lose to much the bonus pool just helps that their points dont fall rapidly.

Another big point is that you cant compare a player that has made 100 games and some guy that made 10000 games - they guy with 10000 games should almost always be higher ranked on the ladder no matter how good he actually is as long as he can remain a 50% WLR on the ladder his points will increase.


The point is that I account for this in the system. I suggest that you read again.

More points =/= more skill.
Perspective is merely an angle.
LegendaryZ
Profile Blog Joined May 2010
United States1583 Posts
December 26 2010 03:41 GMT
#10
Every time I see one of these posts, I can't help but ask, "What exactly is 'true skill'?", "Why does it matter?", and "How exactly would we benefit from measuring this (assuming that it can even be measured or defined in the first place)?"

Don't get me wrong. It's fun to try to quantify these things, but given the number of variables that come into play in determining the outcome of any given game of Starcraft, I really don't think you can make any meaningful conclusions at all, even in a relative context. So what if you're statistically better than another guy? You have no information as to WHY this is so. Is your macro better? Is your micro better? Are you a better decision maker? Does he choke in the late game? Without taking all of these things into consideration, you just end up slapping on a new number in place of the old one, but not doing much to make that number any more meaningful.

Just my 2 cents on the topic. I certainly applaud the effort from a personal project standpoint, but I'm just afraid that people may come to interpret these numbers in the wrong way.
random user
Profile Joined December 2010
85 Posts
December 26 2010 04:05 GMT
#11
Couple of random points.

In #4, it's certainly true it's not a symmetrical curve, simply because the curve continues to slope upwards as you go lower in skill, but that population contains plat players... in other words, if you take the entire population you'll get some sort of symmetrical bell curve, but the population of diamond will be the top 20% of that curve, which is in no way symmetric. I suppose once you introduce a rising hurdle for promotions and inactive players not getting demoted, you may gravitate towards a symmetric curve, but I don't think it's enough to get you all the way there.

After the reset this whole thing goes out the window I think. Right now there is a lot of correlation between bonus pool, actual score, and MMR because everyone started at 0 MMR and 0 points. After the reset, someone (let's call him Player A) could have (numbers made up) 2500 MMR and someone else (let's call him Player B) could have 2000 MMR, with 0 bonus pool. They will both start with 0 points.

Player A might get an extra point or two for every even match over player B, like say 24 instead of 23 (48 or 46 with bonus pool, if any is applicable) for being 2500 instead of 2000, but this difference is too small to say with any confidence any skill difference. This is especially true once you consider losses. Let's say Player A wins 1 losses 1, gains 48 points for the win and then loses 2 points for the loss. Player B plays 1 game, wins 46. Now both players have 46 points, the same amount of bonus pool, but one is clearly better than the other.

At least this is my understanding of what will happen after the reset. I think things will get really wacky and hard to determine because everyone will start with 0 points but variable MMR. After enough games, your score will gravitate to your MMR, but there is going to be a lot of noise in the system before that happens.

Lastly, with the introduction of the Master League, hopefully a lot of this will sort itself out within that league, though I'm not sure if that will happen for sure or not. Certainly the Grand Master League will answer the question for the elite. Personally I wish they would show your global/regional ranking in addition to your division ranking for Master League and above, since I believe anyone who plays at that level could care less about being #1 in their division and really care about how they stack up across the region or world.
JeanLuc
Profile Joined September 2010
Canada377 Posts
December 26 2010 04:13 GMT
#12
How about we just petition Blizzard relentlessly to allow players to view their hidden MMR.
If you can't find it within yourself to stand up and tell the truth-- you don't deserve to wear that uniform
Comma20
Profile Blog Joined October 2010
Australia138 Posts
December 26 2010 04:39 GMT
#13
You probably have to calculate your average diamond players points and remove lower end outliers due to the fact there are a huge number of either inactive or very low players who do not play 1v1s (But are active and play 2's/3's/4's)
farseerdk
Profile Joined May 2010
Canada504 Posts
December 26 2010 04:41 GMT
#14
On December 26 2010 13:05 random user wrote:After the reset this whole thing goes out the window I think. Right now there is a lot of correlation between bonus pool, actual score, and MMR because everyone started at 0 MMR and 0 points. After the reset, someone (let's call him Player A) could have (numbers made up) 2500 MMR and someone else (let's call him Player B) could have 2000 MMR, with 0 bonus pool. They will both start with 0 points.


This should be temporary. After enough games are played in season 2, this should once again be a decent measure.
Perspective is merely an angle.
SCdinner
Profile Blog Joined September 2010
Canada516 Posts
December 26 2010 05:48 GMT
#15
I know the divisions are not equal but why does that make a difference to how valuable your points are? I know if you are in an easier division you'll be able to get a higher placement in your division but as far as I can see you are matched with people outside your division so it doesn't mater how good your division mates are its how good the people you are matched up against. Am I incorrect in my reasoning?
My other car is a battlecruiser.
Arcanne
Profile Joined August 2010
United States1519 Posts
December 26 2010 05:56 GMT
#16
This is pretty much the way of doing it. Thought people knew this but guess now.
Professional tech investor, part time DotA scrub | Follow @AllMeasures on Twitter
farseerdk
Profile Joined May 2010
Canada504 Posts
December 26 2010 07:10 GMT
#17
On December 26 2010 14:48 SCdinner wrote:
I know the divisions are not equal but why does that make a difference to how valuable your points are? I know if you are in an easier division you'll be able to get a higher placement in your division but as far as I can see you are matched with people outside your division so it doesn't mater how good your division mates are its how good the people you are matched up against. Am I incorrect in my reasoning?

I'm not perfectly certain as to how this works either, but we know from the top 200 rankings published by blizzard vs. the top 200 rankings according to sc2ranks.com, points in certain divisions mean more than others. So yes, you are incorrect. Read the post by Excalibur_Z that I link in the OP.
Perspective is merely an angle.
Please log in or register to reply.
Live Events Refresh
IPSL
16:00
Ro16 Group C
ZZZero vs WorsT
Julia vs eOnzErG
Liquipedia
uThermal 2v2 Circuit
15:00
Season 2: Warm Up Cup #3
uThermal457
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
uThermal 457
mouzHeroMarine 416
Ryung 322
ProTech81
BRAT_OK 80
Railgan 0
StarCraft: Brood War
Britney 27100
Zeus 191
Last 108
Rock 31
Sacsri 28
Sexy 26
ajuk12(nOOB) 15
Dota 2
Gorgc5817
qojqva1152
Counter-Strike
fl0m1509
Heroes of the Storm
Khaldor342
Liquid`Hasu284
Other Games
singsing3041
Grubby882
B2W.Neo546
Beastyqt321
Trikslyr41
fpsfer 1
Organizations
Other Games
EGCTV599
BasetradeTV228
Counter-Strike
PGL187
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 13 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Airneanach76
• Michael_bg 11
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos1981
Upcoming Events
BSL
2h 17m
TerrOr vs Dewalt
Bonyth vs eOnzErG
Replay Cast
7h 17m
RSL Revival
14h 17m
Lambo vs Rogue
Clem vs TBD
herO vs TBD
Maestros of the Game
20h 17m
SHIN vs Nicoract
Rogue vs Gerald
ByuN vs Shameless
Cure vs TriGGeR
OSC
20h 17m
IPSL
23h 17m
Dragon vs Artosis
dxtr13 vs Hawk
BSL
1d 2h
Wardi Open
1d 19h
Monday Night Weeklies
1d 23h
Replay Cast
2 days
[ Show More ]
Sparkling Tuna Cup
2 days
WardiTV Spring Champion…
2 days
Maestros of the Game
2 days
The PondCast
3 days
Kung Fu Cup
3 days
Maestros of the Game
3 days
Replay Cast
4 days
Replay Cast
4 days
WardiTV Spring Champion…
4 days
Maestros of the Game
4 days
Replay Cast
5 days
uThermal 2v2 Circuit
5 days
Maestros of the Game
5 days
Replay Cast
6 days
Solar vs Classic
uThermal 2v2 Circuit
6 days
Liquipedia Results

Completed

Escore Tournament S2: King of Kings
2026 GSL S1
Heroes Pulsing #1

Ongoing

2026 KK StarCraft Pro League
BSL Season 22
IPSL Spring 2026
KCM Race Survival 2026 Season 2
KK 2v2 League Season 1
Acropolis #4
CSCL: Masked Kings S4
YSL S3
SCTL 2026 Spring
WardiTV Spring 2026
Maestros of the Game 2
2026 GSL S2
RSL Revival: Season 5
Murky Cup 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026

Upcoming

BSL 22 Non-Korean Championship
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
uThermal 2v2 2026 Main Event
Heroes Pulsing #3
Heroes Pulsing #2
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.