• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 08:23
CEST 14:23
KST 21:23
  • 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
Serral wins HomeStory Cup 2914Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
Balance hotfix patch 5.0.16b (July 16)44Reynor: GSL Loss Wasn't About Preparation Format16[IPSL] Spring 2026 Grand Finals - This Weekend!5Weekly Cups (July 6 - 12): Protoss strike back12BSL Season 22 Full Overview & Conclusion8
StarCraft 2
General
Balance hotfix patch 5.0.16b (July 16) [D] Wireframe Casting Removed Clem: "I don't have that much hope in Blizzard" Reynor: GSL Loss Wasn't About Preparation Format Is the larve respawn broken?
Tourneys
Master Swan Open (Global Bronze-Master 2) WardiTV Summer Cup 2026 GSL CK #5 Race War RSL Revival: Season 6 - Qualifiers and Main Event HomeStory Cup 29
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 534 Burning Evacuation Mutation # 533 Die Together Mutation # 532 Nuclear Family
Brood War
General
ASL22 General Discussion BW General Discussion Pros Debate: Zerg Unfairly Nerfed? (ASL S22 map) Etiquete rules in Asl? Recent recommended BW games
Tourneys
Escore Tournament - Season 3 [Megathread] Daily Proleagues Small VOD Thread 2.0 [IPSL] Spring 2026 Grand Finals - This Weekend!
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
Path of Exile General RTS Discussion Thread Nintendo Switch Thread Beyond All Reason Stormgate/Frost Giant 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
TL Mafia
TL Mafia Power Rank NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread The Games Industry And ATVI Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Req][Books] Good Fantasy/SciFi books Series you have seen recently...
Sports
2024 - 2026 Football Thread MLB/Baseball 2023 McBoner: A hockey love story Tennis[sport] Formula 1 Discussion
World Cup 2022
Tech Support
Simple Questions Simple Answers FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard?
TL Community
Northern Ireland Global Starcraft The Automated Ban List
Blogs
Poker (part 2)
Nebuchad
The Experiences We Want and …
TrAiDoS
An Exploration of th…
waywardstrategy
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7832 users

GSL Code S Membership statistical analysis - Page 2

Forum Index > StarCraft 2 Tournaments
Post a Reply
Prev 1 2 3 Next All
Plutonium
Profile Joined November 2007
United States2217 Posts
Last Edited: 2010-12-10 08:16:53
December 10 2010 07:14 GMT
#21
I understand that you do not have the data required to separate between failing to qualify and not registering. All I'm suggesting is that you at least attempt to compensate for that, instead of trying to handwave it away.



Koshi
Profile Blog Joined August 2010
Belgium38799 Posts
Last Edited: 2010-12-10 07:30:37
December 10 2010 07:29 GMT
#22
Data is just data. People should stop trying to find holes or errors in raw data.

I always appreciate any sort of data collecting. I always check first if it is legit, and the Bayesian Bradley-Terry model is. Then I just read it as it is presented, and remember the things that seem useful.

Do not forget that data is always misleading and sometimes even misrepresented. Just try to gather as much as possible and compare.
I had a good night of sleep.
Mip
Profile Joined June 2010
United States63 Posts
Last Edited: 2010-12-10 07:40:05
December 10 2010 07:38 GMT
#23
@Plutonium The model is not a problem at all and the results are not all that flawed. The Bradley-Terry model is ideally suited for this kind of data, there's no issue with that. You're not truly complaining about the model either, what I'm hearing from you is a complaint about the data, and that is not something that I have control over.

I don't even know why this is such a issue for you. We are talking about the same assumption that is built into the current ranking system. They give no points for any round prior to the Ro64 and they make no attempt to adjust for it for their rankings, they believe that only the Ro64 onward is rank-worthy, and because I have no data other than what they give me, I inherit that assumption implicitly by the data that is available, and there is nothing I can do about that.

This isn't even a tremendous problem like you are trying to claim it is. There are a couple players that it affects adversely, I'll give you that, but all the top players are ranked appropriately with reasonable skill levels estimated for each. It's not a greater problem than what the point system imposes though, so there's no loss as compared to the current alternative.

There is no feasible way for me to even gather data on >100 players that played in the 3 seasons. There is no central source to find which players didn't sign up, and which players failed to qualify. So even if I wanted to make your irresponsible arbitrary data additions, I could not do so. If you'd like to start making house calls to all the players to find out which tournaments they played in, then we can start to talk about measuring that sort of effect.
nath
Profile Blog Joined May 2010
United States1788 Posts
Last Edited: 2010-12-10 07:48:02
December 10 2010 07:43 GMT
#24
love how people who don't know shit are talkin to this kid. he used a good model that has good results. people complaining about the data have to realize that the data gets better and better...

also whoever talked about jinro 'trying the other two times, he entered more than once' LOL its clearly only ro64 and beyond...theres nothing about qualifications in this model.

gj man I love the model you chose; am not a stats major but i've worked with a lot of statistical methods in research and i liked what you did.

On December 10 2010 16:14 Plutonium wrote:
Talk all the statistical academics you want, It doesn't change the fact that your results are massively flawed by your unsound assumptions.

This took a lot of work, and I applaud you for that. However, your model is wrong.

I understand that you do not have the data required to separate between failing to qualify and not registering. All I'm suggesting is that you at least attempt to compensate for that, instead of trying to handwave it away.




He doesn't want to take that into account; it would cause more problems. Better to let the issue resolve itself over time as more data is collected than untwist your panties.
Founder of Flow Enterprises, LLC http://flow-enterprises.com/
Mip
Profile Joined June 2010
United States63 Posts
Last Edited: 2010-12-10 08:10:28
December 10 2010 07:51 GMT
#25
To all supportive people, thank you guys, you guys are awesome.

@skipgamer Let me clarify what I mean by, "Not ideally suited for prediction." What I mean is that I only gathered data on the GSL.

If I wanted to get prediction accuracy, I should gather as many outside tournaments as I can do add that data to the GSL data so that I have as much information about each player as possible.

On the other hand, if I want to do a fair ranking system for just the GSL (which is so far what I've been after). I absolutely must base my results only off of GSL data. So when I created these results it's under the context of, "Let's only rate these players based off of their GSL performance."

The next step is to pull in more data, and since no one has volunteered to help me yet, it might be a slow process. When I have all possible available data, then we can start talking in terms of "ideal prediction accuracy" (ideal according to our current state of knowledge anyway).

People keep calling these results "inaccurate." That may have some truth to it, but against the benchmark of the GSL point system, these results are at worst on par with that, so I really wouldn't worry about that at this point. The model and methodology are sound and the accuracy of the results will get better as more data comes in.

-----------------------------------------------------------------------------

Think about what we're trying to do, we have a bunch of progamers and they are all playing SC2. We want to know, what is their skill level, how do their compare to the other players?

Well we can't go measure their skill level directly. It's not something I can go stick a ruler on or anything. What I can see is what happens when they play a game. I can see whether they win or lose. This will provide hints at their skill level.

Take season 2 for example, We know FruitDealer is amazing because he won Season 1. FruitDealer loses to Foxer in Ro32, that's going to tell me that Foxer is at least skillful enough to beat FruitDealer, which is quite substancial. Then Foxer goes on to lose against NesTea in a nearly dead even match. That's going to hint toward thinking Foxer and NesTea are about at the same level.

When you take all the data together, you'll get hundreds of hints about how the players compare to each other. You'll still be uncertain exactly how much different their skills are from each other, but you should have an idea.

In simplistic terms, that is how this model is working, the wins and losses point toward the skill that that player has compared to who they are playing with.

So the issue with not having pre-Ro64 data is that everyone who losses in early rounds may get unfairly ranked downward because there's no data showing that they won their way through the Ro128, Ro256, etc. This is a real problem for players like IdrA and JookToJung like we've said before, but there's no available data to fix it. I'm sure someone at GomTV has it, but it's not publicly available.
Plutonium
Profile Joined November 2007
United States2217 Posts
Last Edited: 2010-12-10 08:09:37
December 10 2010 07:55 GMT
#26
I'm talking to my roomate who's a biostatistician and an avid GSL watcher.

He's taken a look at your data and analysis and assures me that everything you say is correct, and that I am "so wrong".

However, he says that releasing this data can be misleading because us people are stupid and don't understand what you're doing.

A few key points he makes:

1) The amount of uncertainty in this analysis needs to be emphasized. The results are going to be extremely noisy, and these results should not be taken too seriously.

2) Saying that not making it to the Ro64 and not registering is an acceptable assumption, given that we do not know this data.

3) It would be nice to "reward" those who qualify for the Ro64 multiple times. How much you reward this, however, is unclear. There are mechanisms for this - increasing initial means and reducing standard errors. However, the question is what values should be assigned to this, unless one wants to be more arbitrary about it.

4) He then starts talking reaching these values by integrating the chances of getting in to the Ro64 for GSL1,2, & 3, and using that data to create initial skill levels for players. This is a tricky proposition, and it may overcomplicate the model.
Hazuc
Profile Joined August 2010
Canada471 Posts
December 10 2010 07:57 GMT
#27
I'm currently studying actuarial science so this kind of stuff really interests me. Keep up the good work.
roadrunner343
Profile Joined November 2010
148 Posts
December 10 2010 08:06 GMT
#28
I just wanted to join in with the haters and tell you that this is not a perfect algorithm.

On the serious side, you already knew that (And admitted it) and I applaud the work you've done and love the data. Obviously we can't take it as 100% truth, but it gives us a lot of good data to work with. Thanks.
Mip
Profile Joined June 2010
United States63 Posts
Last Edited: 2010-12-10 08:35:23
December 10 2010 08:28 GMT
#29
@Plutonium They are not giving me a master's degree in "sucking at statistics" so I would trust me. =)

But yeah, since posting these last two threads, I've definitely experienced people misunderstanding me. It's hard to be perfectly clear on a forum where you kind of have to throw it all out there to see what people do and do not understand right away and what things need to be clarified, especially when I mostly converse with people who have been working for years on the same educational course that all speak the same language as me, so to speak.

When I came up with this idea, I thought it would be a good way to show much uncertainty there is in the model, it's like yeah, Jinro is awesome, but based on what we know about him from the data, there's a 25% chance that he might not actually be in the Top 32 best players in our pool. Maybe we'll know better the match that starts in an hour and a half =). Compare this to NesTea, where we think that there's a 1 in 200 chance than he might not actually be in the top 32, because he's won games against top players across multiple seasons.

The beautiful thing about Bayesian statistics is you can actually speak in the language of probability unlike in classical statistics where we speak in terms of meaningless confidence intervals.

In the data for this post, when you look at that spreadsheet, you can say that based on our current state of knowledge, assuming the model with it's assumptions (everyone cringe a little bit at the assumptions), we can say that Player Whoever has a whatever % chance of being in the top 32 most skilled.

Then you look over the list and say, "But player X doesn't have a %20 chance of being top 32." and to you I say, "You're probably right, but the data doesn't know that." The data doesn't troll the TL forums analyzing the crap out of everyone's play, it just considers the wins and losses that it's given.

Once the GSL gets going with Code S tournaments, we will see a great refinement in our estimates for all Code S players, because we will get so much data about each of them because all tournaments will feature them.
Mip
Profile Joined June 2010
United States63 Posts
December 10 2010 09:05 GMT
#30
Sometime this weekend or early next week I'll post my finals predictions, though I expect it will be somewhere close to 50/50, =).
Skytalker
Profile Joined October 2010
Sweden671 Posts
December 10 2010 09:27 GMT
#31
Keep the awesome work up! Add data! :D
Jaedong HWAITING!
Mip
Profile Joined June 2010
United States63 Posts
December 10 2010 11:25 GMT
#32
So, just watched the GSL. It was... awesome, I guess. I thought I'd throw in the new data and calculate probabilities for the final. If they were interesting I was going to make a new thread. Instead, here they are:

+ Show Spoiler +

Names ProbWinFinal
1 Rain 0.5055279
2 MC 0.4944721

Yeah, so how do you like that, 50/50, the data has no idea who to favor for these two. Had it been NesTea instead of Rain, it would give only a 35% chance to MC, but vs Rain, a dead even split. So go flip your coin, Heads bet Rain, Tails bet MC

roadrunner343
Profile Joined November 2010
148 Posts
December 10 2010 11:47 GMT
#33
Sorry if this is a retarded question, but I have no clue about statistics so...

Is there anyway to make the algorithm take which race they are playing into account? For example, I'm sure some pros have much higher win rates against certain races than others. Is this simply impossible, way too much work, or is it doable? Either way, I like your spreadsheet.
hybridsc
Profile Joined November 2010
United States63 Posts
December 10 2010 12:56 GMT
#34
You put TheWind in there twice, and also he is an S-class player if i recall correctly.
greycubed
Profile Joined May 2010
United States615 Posts
December 10 2010 13:34 GMT
#35
Same thing but with race color coding- https://spreadsheets.google.com/ccc?key=tH96B6ipTE7zgBFcbZ2MTAw&authkey=CPOA28ME#gid=0
http://i.imgur.com/N3ujB.png
GeorgeForeman
Profile Joined April 2005
United States1746 Posts
December 10 2010 13:44 GMT
#36
The real problem with the spreadsheet is that you don't list any error estimates. You can state assumptions all you want, but good statistical analysis of any type, Bayesian or Frequentist necessarily includes error estimates. If you as a statistician (or someone performing statistical analysis) doesn't give error estimates, there's little difference between what you're results and that of a strip mall psychic.
like a school bus through a bunch of kids
confusedcrib
Profile Blog Joined August 2010
United States1307 Posts
Last Edited: 2010-12-10 13:50:50
December 10 2010 13:48 GMT
#37
I think it's too early to be using algorithms to determine the best player, 3 GSLs and an unfigured out game mean anyone could do well. Idra once said "anyone in the top 32 could win the tournament" and he's a neigh sayer. But this may pan out over time, keep on it. And I agree with the above poster, is there any way you could implement a 2 sample Z-test or T-test and determine which player may be better than another, and do rankings that way?
I'm a writer for TeamLiquid, you've probably heard of me
Mitosis.
Profile Joined November 2010
Sweden16 Posts
December 10 2010 17:45 GMT
#38
Not sure if this is a recurring problem, but TheWind is listed at 0.5529 and not qualifying. At the same time there is a player at the bottom named "TheWinD" listed with only 0.0438 and marked as qualifying. I assume this is a glitch?
aristarchus
Profile Blog Joined September 2010
United States652 Posts
December 10 2010 18:39 GMT
#39
Suggestion for fixing the failing to qualify/not registering problem:

Why not add another fake player, something like "average person who lost in the final round of qualifying." Anytime someone qualified, give them a win over that player. Anytime they failed, give them a loss. It might be better to use a different fake player for each season, since the qualifying pool's difficulty presumably changed.

Obviously that wouldn't be ideal, but it might be less bad than ignoring the qualifying rounds entirely. (I have a math background, but no stat, so I trust your judgement, but thought I'd throw out the suggestion.)
Mip
Profile Joined June 2010
United States63 Posts
December 10 2010 20:46 GMT
#40
@roadrunner343 Yes, there is, it's not even difficult, I just add a couple terms to the model. I just need the proper data. In my other thread (linked to in the first post of this one), I go into what format my data is in currently and then later in the thread say what format I'd like it in. As soon as someone helps me get it in that format, or when I get around to doing it myself, race-matchups will be adjusted for and we can start talking about race advantages, and even map-race advantages, that will be a much more exciting discussion I think.

At the end of the day, I think I'm much more interested in how the races and maps are balanced than which players seem to be better right now.

@enjoyx and Mitosis Thanks for pointing that out, it's a pain in the butt to catch all of those. The TL brackets are inconsistent about how the capitalize names and whether or not their include clan tags etc. and it's caused a lot of players to get split into two people. I wish I had a data source that had data that didn't need cleaning, but alas no.

@GeorgeForeman and confusedcrib I'm glad you paid attention in your intro stats classes, but in Bayesian statistics, you can integrate over the uncertainty in your estimates to obtain a single number that takes into account all of the uncertainty you have in your estimate. We can say with Bayesian statistics that based on our current state of knowledge (priors + data provided) that the probability of Player X actually being Top 32 is Y%.

That you would bring up a t-test for this model immediately puts you at an intro stats level in my brain. Your instinct is correct for that level of stats knowledge, but in this case, it should not be a concern to you. You should think of those percentages in terms of what I described at the end of the paragraph above.

However, to appease you guys, I added a column of Standard Errors. If you are using your intro stats knowledge,however, you will misinterpret them because they mean different things if your data are not from a normal/gaussian distribution.

For a binary outcome, the variance is prob * (1 - prob), and then the standard error is the square root of that, but you have to throw away any thoughts that, for example, 3 standard errors gives you a confidence interval or any nonsense like that that you are taught in intro stats. For example, for NesTea, if you tried to do that, you'd get a confidence interval that included probabilities greater than 1. To do it properly, you'd have to convert to a odds ratio, compute confidence intervals, then convert back to a probability metric.

@aristarchus I could definitely make an indicator variable adjustment for that problem, but I don't even have data on who registered and didn't qualify vs who didn't register. Some of the players it's easy to find that information, like if they are on a major team, the liquidpedia site has all that. But for the less known people, I don't even know where to look, and I really don't want to look in a hundred different places to track down that information because if I start, I don't know that I can find everyone, and if I can't find everyone, who whole thing is a waste.
Prev 1 2 3 Next All
Please log in or register to reply.
Live Events Refresh
WardiTV Invitational
12:00
Summer Cup 2026 - Group A
WardiTV446
LiquipediaDiscussion
CranKy Ducklings
10:00
Master Swan Open #105
CranKy Ducklings60
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Ryung 926
Lowko456
Rex 103
BRAT_OK 73
MindelVK 32
RushiSC 19
StarCraft: Brood War
Calm 6669
Rain 2610
Shuttle 2045
firebathero 889
Jaedong 852
Horang2 554
Hyuk 473
BeSt 383
Mini 370
Larva 216
[ Show more ]
Rush 194
Stork 181
ZerO 151
Last 151
Hyun 119
hero 115
ggaemo 77
Pusan 73
Sharp 72
Killer 70
Mong 62
Aegong 56
Free 43
JYJ 41
ZergMaN 41
JulyZerg 34
Shine 33
soO 31
sorry 26
Movie 21
Hm[arnc] 21
HiyA 17
Barracks 17
yabsab 16
ajuk12(nOOB) 12
IntoTheRainbow 8
Noble 7
Yoon 3
Dota 2
Gorgc5424
XcaliburYe242
League of Legends
Doublelift2518
Counter-Strike
byalli1173
allub205
Heroes of the Storm
Trikslyr21
Other Games
gofns17693
singsing1657
B2W.Neo841
RotterdaM188
XaKoH 115
ZerO(Twitch)7
Organizations
Other Games
gamesdonequick2299
BasetradeTV154
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 17 non-featured ]
StarCraft 2
• epiclan19
• musti20045 15
• Adnapsc2 14
• CranKy Ducklings SOOP8
• sooper7s
• Migwel
• LaughNgamezSOOP
• IndyKCrew
• Kozan
• intothetv
• AfreecaTV YouTube
StarCraft: Brood War
• Pr0nogo 3
• FT.aCt)Sony2
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos2604
Upcoming Events
Epic.LAN
37m
IPSL
3h 37m
Dragon vs Hawk
RSL Revival
20h 37m
Classic vs Trap
herO vs SHIN
Sparkling Tuna Cup
21h 37m
OSC
1d
IPSL
1d 3h
Bonyth vs Ret
WardiTV Weekly
1d 22h
Monday Night Weeklies
2 days
PiGosaur Cup
3 days
The PondCast
3 days
[ Show More ]
Replay Cast
4 days
CrankTV Team League
4 days
Replay Cast
5 days
CrankTV Team League
5 days
Korean StarCraft League
6 days
RSL Revival
6 days
Liquipedia Results

Completed

Escore Tournament S3: W3
HSC XXIX
Eternal Conflict S2 E2

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
CSL 2026 Summer (S21)
KCM Race Survival 2026 Season 3
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026

Upcoming

Escore Tournament S3: W4
ASL S22 SEASON OPEN Day 2
Escore Tournament S3: W5
CSLAN 4
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
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.