• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 06:36
CEST 12:36
KST 19:36
  • 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
Code S Season 2 (2026): RO4 and Finals Preview7TL.net Map Contest #22 - Voting & Ladder Map Selection5Code S Season 2 (2026) - RO8 Preview5[ASL21] Finals Preview: Two Legacies21Code S Season 2 (2026) - RO12 Preview2
Community News
[BSL22] Non-Korean Championship from 13 to 28 June2Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0StarCraft II 5.0.16 PTR Patch Notes may 26th151Weekly Cups (May 18-24): MaxPax wins doubles0Crank Gathers Season 4: BW vs SC2 Team League6
StarCraft 2
General
TL Poll: How do you feel about the 5.0.16 PTR balance changes? Code S Season 2 (2026): RO4 and Finals Preview What kind of tool would you be interested in? Oliveira Would Have Returned If EWC Continued TL.net Map Contest #22 - Voting & Ladder Map Selection
Tourneys
WardiTV Mondays GSL Code S Season 2 (2026) Maestros of The Game 2 announcement and schedule ! Crank Gathers Season 4: BW vs SC2 Team League Sparkling Tuna Cup - Weekly Open Tournament
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3
External Content
Mutation # 529 Opportunities Unleashed The PondCast: SC2 News & Results Mutation # 528 Infection Detected Welcome to the External Content forum
Brood War
General
[BSL22] Non-Korean Championship from 13 to 28 June FlaSh's ASL S21 Finals Review BW animated web series: seeking contributors 25 Years Since Brood War Patch 1.08 FlaShFTW vs A.Alm Grudge Match Event
Tourneys
[BSL22] Grand Finals - Sunday 21:00 CEST [ASL21] Grand Finals [Megathread] Daily Proleagues Escore Tournament StarCraft Season 2
Strategy
Any training maps people recommend? Why doesn't anyone use restoration? Muta micro map competition [G] Hydra ZvZ: An Introduction
Other Games
General Games
Path of Exile Nintendo Switch Thread Stormgate/Frost Giant Megathread Warcraft III: The Frozen Throne ZeroSpace Megathread
Dota 2
Looking for a Dota Mentor 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 Trading/Investing Thread Dating: How's your luck? Russo-Ukrainian War Thread How cold is too cold to be outdoors?
Fan Clubs
The herO Fan Club!
Media & Entertainment
[TV/BOOK] *SPOILERS* Game of Thrones Discussion Movie Discussion! [Manga] One Piece
Sports
Formula 1 Discussion 2024 - 2026 Football Thread McBoner: A hockey love story TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Esportsmanship: How to NOT B…
TrAiDoS
Why RTS gamers make better f…
gosubay
ASL S21 English Commentary…
namkraft
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7262 users

[I] Kespa Ranking Points Calculation Formula

Forum Index > BW General
Post a Reply
Jaester88
Profile Joined September 2009
United States143 Posts
Last Edited: 2010-04-02 05:40:54
April 02 2010 04:39 GMT
#1
Source: http://www.fomos.kr/gnuboard4/bbs/board.php?bo_table=best&wr_id=5765

Note: None of this is my work. Full credit goes to username 와이엘 (YL) within the Fomos forums, who apparently did all this work by himself (using previous Kespa rankings) to figure out exactly how the Kespa ranking points are calculated (His OP is the link above). His post was written January 4, 2010, presumably immediately before the January Kespa ranking was released, and he predicted that Jaedong’s Kespa points in Jan 2010 would be 2806.0 points. Sure enough, he was correct, down to the decimal. Since then, Kespa hasn’t confirmed or denied the validity of his methods, but it seems to be more or less considered truth, since it’s now stood the test of time for four months and has not yet failed.

If anyone just wants a general idea, but not the rather tedious details, I’d just read up to the <Fundamental Rules> section.

In brackets are my interpretations of what he says, because some of them are kind of confusing. If anyone finds better explanations for those, let me know and I will change it if I think you're right.

-----


<Leagues that are counted towards the calculation of Kespa points>

• Individual Leagues: OSL, MSL, Survivor, Offline Qualifiers (Including the now non-existent Dual Tournament, StarChallenge)

• Team Leagues: Proleague [including Winners League], Post-Season (including WL PO)


<Fundamental Rules>

• Points are only added; there are never any subtractions

• For Individual League points, whether or not they advanced is all that counts. It doesn’t matter if someone advanced 3:0, or if they only barely advanced through Wild Card or something; as long as you advance, you get the points.

• Team League Points depend only upon the number of wins.

• The past three months’ results count 100%, each month after that go down by 10% at a time, so that the 12th month past counts 10% [and any months prior, 0%].

• There are no other factors.

• The points displayed in the Kespa Homepage are the points that have been rounded to the 2nd decimal.


<Team League Points>

• A win is worth 30 points.

• Ace match and Post-Season (including WL PO) match wins are worth 45 points (30pts * 1.5).

• Post-Season ace match wins are worth 67.5 points (30pts * 1.5 * 1.5).

• The players with the most wins after a proleague season [i.e. Jaedong and Flash from 08-09, etc] get an additional 100 points (Other awards seem to not count, but this may be different every season).

• Games that were in a certain month count towards that month’s calculations.


<Individual League Points>
[This section will be fairly confusing for those who don’t know the structures of OSL and MSL very well, including myself. Consulting the [R&S] threads for each league will probably help some.]

• Basically, if you make it to RoXX, then you will be awarded YY points. Therefore, even if you don’t show up to a game, there is no effect on the points you have already accumulated for that league.

• Points are awarded starting with Offline Qualifiers Ro8; anything below doesn’t count.

• If you are seeded into a certain point of a league, then you are accordingly awarded points for all levels below your seeded point in that league, same as if you had played and won up to that point (Points are awarded when all members of that equivalent seed have been decided, [i.e. if there are 12 seeds into the Ro36, then points for seed into Ro36 are awarded only when all 12 seeds have been confirmed.])

• If equivalent level matches are played through the course of a month, then points are awarded when the all equivalent matches have been played. [I’m not completely sure what he means here, but my interpretation is: e.g. hypothetically, if Semi-Final A for OSL is played on the last week of January and Semi-Final B for OSL is played on the first week of February, then the winner of Semi-Final A for OSL will not receive points until the March Kespa ranking.]

• The points awarded for each level are as follows:

Offline Preliminaries Ro8: 5.625
Offline Preliminaries Ro4: 11.25
Offline Preliminaries Finals: 22.5

OSL Ro36 round 1, Survivor: 37.5
OSL Ro36 round 2, MSL Ro32: 75 (37.5 * 2)
OSL/MSL Ro16: 112.5 (37.5 * 3)

OSL/MSL Ro8: 75
OSL/MSL Ro4: 112.5 (75 * 1.5)
OSL/MSL Finals: 187.5 (75 * 2.5)
OSL/MSL Champion: 150 (75 * 2)

• In the case of OSL, when the Ro8 ends, points for seeding into the next OSL Ro36 (37.5 + 75 = 112.5) are awarded to those who dropped out at the Ro8/16. Also, those who advanced to the Ro4 are awarded points for seeding into the next OSL Ro16 (37.5 + 75 + 112.5 = 225). [This, I think, is mainly the reason for the huge inflation of points for those who make it deep into the leagues.]

• In the case of MSL, when the Ro16 ends, points for seeding into the next Survivor are awarded (37.5) for those who made Ro16/32 but not Ro8. Likewise, those who advanced to the Ro8 are awarded points for seeding into the next MSL Ro32 (37.5 + 75 = 112.5). [As many expected, I’m sure, points for seeding into MSL are lower than for OSL.]

-----


Applying the above criteria, let’s analyze Jaedong’s December 2009 points.

Total: 2549.0 / Individual League: 1395.0 / Team League: 1154.0

<Individual Leagues>

Nov 09: None
Oct 09: None
Sep 09: None
Aug 09: MSL Ro4(112.5) + OSL Finals(187.5) + OSL Champion(150) = 450 * 90% = 405
Jul 09: MSL Ro16(112.5) + MSL Ro8(75) + MSL Ro36 Seed (37.5+75) + OSL Ro8(75) + OSL Ro4(112.5) + OSL Ro16 Seed (37.5+75+112.5) = 712.5 * 80% = 570
Jun 09: None
May 09: MSL Ro32(75) * 60% = 45
Apr 09: OSL Champion(150) * 50% = 75
Mar 09: OSL Finals(187.5) + OSL Ro4(112.5) + OSL Ro16 Seed (37.5+75+112.5) = 525 * 40% = 210
Feb 09: OSL Ro8(75) + Survivor Seed (37.5 - MSL16 ended this month) = 112.5 * 30% = 33.75
Jan 09: OSL Ro16(75+112.5 - OSL Ro36 rounds 1,2 calculated simultaneously) + MSL Ro32(75) = 262.5 * 20% = 52.5
Dec 08: OSL Ro36(37.5) * 10% = 3.75

405 + 570 + 45 + 75 + 210 + 45 + 75 + 33.75 + 52.5 + 3.75 = 1395.0

<Team League>

Nov 09: 3W(90) + Ace 2W(90) = 180
Oct 09: 2W + Ace 1W = 105
Sep 09: None
Aug 09: PO2W(90) * 90% = 81 -> It should be PO1W + PO Ace1W = 112.5, but it seems Kespa made a mistake
Jul 09: 1W + Most Wins (100) = 130 * 80% = 104
Jun 09: 7W + Ace 2W = 300 * 70% = 210
May 09: 5W + Ace 1W = 195 * 60% = 117
Apr 09: 2W + Ace 1W = 105 * 50% = 52.5
Mar 09: 1W + WL PO 7W = 345 * 40% = 138
Feb 09: 13W = 390 * 30% = 117
Jan 09: 4W = 120 * 20% = 24
Dec 08: 4W + Ace 3W = 255 * 10% = 25.5

180 + 105 + 81 + 104 + 210 + 117 + 52.5 + 138 + 117 + 24 + 25.5 = 1154.0


If the points are calculated in the same way for January 2010,
Jaedong’s Kespa points should be… IL: 1650 / TL: 1156 / Total: 2806 points.
[This is correct in all three counts.]

Edit: Just looked up liquipedia and apparently this was more or less already known. Nevertheless, if anyone for some reason wanted the specific numbers, well, here they are.
Zona
Profile Blog Joined May 2007
40426 Posts
April 02 2010 05:00 GMT
#2
Wow, finally someone reverse engineered the arcane formula they used. Thanks for translating.

I think it's a reasonable ranking, even though sometimes it's divorced from actual skill.
"If you try responding to those absurd posts every day, you become more damaged. So I pay no attention to them at all." Jung Myung Hoon (aka Fantasy), as translated by Kimoleon
Djabanete
Profile Blog Joined May 2008
United States2786 Posts
April 02 2010 05:29 GMT
#3
How was this figured out --- did they just solve a system of a gazillion equations or something?
May the BeSt man win.
TwoToneTerran
Profile Joined March 2009
United States8841 Posts
April 02 2010 05:33 GMT
#4
I don't know, I figure they took multiple scoring differences between months and took everything that could be relevant to the ranking and worked from there by just plugging in numbers.
Remember Violet.
Zona
Profile Blog Joined May 2007
40426 Posts
April 02 2010 05:36 GMT
#5
Nah, Liquipedia didn't have the specific numbers for points earned for each game type, so this is new information.
"If you try responding to those absurd posts every day, you become more damaged. So I pay no attention to them at all." Jung Myung Hoon (aka Fantasy), as translated by Kimoleon
TheYango
Profile Joined September 2008
United States47024 Posts
April 02 2010 06:09 GMT
#6
So wait, Kespa doesn't even *consider* the skill of the opponent when determining points for a win?
Moderator
peidongyang
Profile Joined January 2009
Canada2084 Posts
April 02 2010 22:41 GMT
#7
On April 02 2010 15:09 TheYango wrote:
So wait, Kespa doesn't even *consider* the skill of the opponent when determining points for a win?


Thus, making decaying ELO with weighting due to the importance of a match a far more accurate and up-to-date ranking of a player's skill.
the throws never bothered me anyway
Heyoka
Profile Blog Joined March 2008
Katowice25012 Posts
April 02 2010 22:52 GMT
#8
On April 03 2010 07:41 peidongyang wrote:
Show nested quote +
On April 02 2010 15:09 TheYango wrote:
So wait, Kespa doesn't even *consider* the skill of the opponent when determining points for a win?


Thus, making decaying ELO with weighting due to the importance of a match a far more accurate and up-to-date ranking of a player's skill.


This is how we should probably have elo calculated in TLPD but right now its just a straight score. I ran some simulations last year and came to the conclusion that KeSPA is actually more accurate in trying to determine the winner of future matches, its a better measure of 'who is more in form at the moment' generally, but with some tweaking an elo can do the same job from what I understand. One of my longterm goals is to mess with how we treat this stuff in our database but I'm really not well read enough on it anymore to do it.

This is fucking awesome, thanks a ton for the post.
@RealHeyoka | ESL / DreamHack StarCraft Lead
Cambium
Profile Blog Joined June 2004
United States16368 Posts
April 02 2010 22:56 GMT
#9
Did he mention how he did it?

I'm quite certain he used a machine learning algorithm, I'm just curious which one. Data gathering was probably a major pain in the butt.
When you want something, all the universe conspires in helping you to achieve it.
nonduc
Profile Joined May 2009
Russian Federation405 Posts
April 03 2010 12:37 GMT
#10
GJ Jaester88! Really!
티라노사저그 렉스 화이팅~!
writer22816
Profile Blog Joined September 2008
United States5775 Posts
April 04 2010 00:03 GMT
#11
Kespa gonna change it now
8/4/12 never forget, never forgive.
Please log in or register to reply.
Live Events Refresh
Next event in 25m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Lowko240
StarCraft: Brood War
Sea 8637
Killer 1626
Hyuk 891
Mong 466
EffOrt 310
Larva 307
Mini 290
Horang2 270
Jaedong 253
actioN 244
[ Show more ]
Rush 171
Pusan 135
Shuttle 124
Leta 91
Light 88
Hm[arnc] 73
ggaemo 63
scan(afreeca) 44
ToSsGirL 43
Shine 31
Sharp 30
Free 28
JulyZerg 28
Backho 26
Soulkey 25
Liquid`Ret 24
NotJumperer 24
yabsab 23
sorry 20
zelot 19
910 18
Barracks 16
Sacsri 16
GoRush 15
SilentControl 12
Movie 7
Dota 2
XcaliburYe38
Counter-Strike
olofmeister1941
shoxiejesuss819
markeloff101
Other Games
crisheroes211
B2W.Neo182
Mew2King77
Organizations
Other Games
gamesdonequick640
StarCraft: Brood War
UltimateBattle 56
lovetv 14
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• LUISG 40
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 5
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis2628
• Jankos1834
Upcoming Events
Wardi Open
25m
Monday Night Weeklies
5h 25m
Replay Cast
13h 25m
Sparkling Tuna Cup
23h 25m
Replay Cast
1d 22h
Kung Fu Cup
2 days
Maestros of the Game
2 days
Classic vs Lambo
Clem vs Maru
Replay Cast
2 days
The PondCast
2 days
Maestros of the Game
3 days
Serral vs Rogue
herO vs SHIN
[ Show More ]
Replay Cast
3 days
Maestros of the Game
4 days
Replay Cast
4 days
CranKy Ducklings
4 days
uThermal 2v2 Circuit
5 days
Sparkling Tuna Cup
5 days
uThermal 2v2 Circuit
6 days
Replay Cast
6 days
Liquipedia Results

Completed

BSL Season 22
2026 GSL S2
Heroes Pulsing #1

Ongoing

IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
SCTL 2026 Spring
WardiTV Spring 2026
Maestros of the Game 2
uThermal 2v2 2026 Main Event
Murky Cup 2026
IEM Cologne Major 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
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
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.