• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 02:06
CEST 08:06
KST 15:06
  • 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 #21: Voting7[ASL20] Ro4 Preview: Descent11Team TLMC #5: Winners Announced!3[ASL20] Ro8 Preview Pt2: Holding On9Maestros of the Game: Live Finals Preview (RO4)5
Community News
Weekly Cups (Oct 6-12): Four star herO65.0.15 Patch Balance Hotfix (2025-10-8)79Weekly Cups (Sept 29-Oct 5): MaxPax triples up3PartinG joins SteamerZone, returns to SC2 competition325.0.15 Balance Patch Notes (Live version)119
StarCraft 2
General
Revisiting the game after10 years and wow it's bad 5.0.15 Patch Balance Hotfix (2025-10-8) TL.net Map Contest #21: Voting How to Block Australia, Brazil, Singapore Servers The New Patch Killed Mech!
Tourneys
RSL Offline Finals Dates + Ticket Sales! SC4ALL $6,000 Open LAN in Philadelphia Crank Gathers Season 2: SC II Pro Teams LiuLi Cup - September 2025 Tournaments Sparkling Tuna Cup - Weekly Open Tournament
Strategy
Custom Maps
External Content
Mutation # 495 Rest In Peace Mutation # 494 Unstable Environment Mutation # 493 Quick Killers Mutation # 492 Get Out More
Brood War
General
[Interview] Grrrr... 2024 Question regarding recent ASL Bisu vs Larva game BW General Discussion BW caster Sayle Map with fog of war removed for one player?
Tourneys
[ASL20] Semifinal B [Megathread] Daily Proleagues [ASL20] Semifinal A SC4ALL $1,500 Open Bracket LAN
Strategy
Current Meta Relatively freeroll strategies BW - ajfirecracker Strategy & Training Siegecraft - a new perspective
Other Games
General Games
Stormgate/Frost Giant Megathread Dawn of War IV Nintendo Switch Thread ZeroSpace Megathread Path of Exile
Dota 2
Official 'what is Dota anymore' discussion LiquidDota to reintegrate into TL.net
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
SPIRED by.ASL Mafia {211640} TL Mafia Community Thread
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine Men's Fashion Thread Sex and weight loss
Fan Clubs
The herO Fan Club! The Happy Fan Club!
Media & Entertainment
[Manga] One Piece Series you have seen recently... Anime Discussion Thread Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion MLB/Baseball 2023 NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
Inbreeding: Why Do We Do It…
Peanutsc
From Tilt to Ragequit:The Ps…
TrAiDoS
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1556 users

Easy to use Software for SC Elo Rating Calculation

Forum Index > BW General
Post a Reply
Normal
GreyShades
Profile Joined September 2017
Denmark40 Posts
Last Edited: 2019-05-04 16:16:43
March 23 2019 18:40 GMT
#1
UPDATES

5/4/2019
Main updates:
- Using this new version 1.0.0.6, the program should no longer crash when attempting to add new content to an older elo system database version.
- Added a team filter option to the player stats list (see image in spoiler below).
- Ranks in the player stats list are now automatically updated when games are added or removed from the database.
- Fixed a bug that meant that the win ratio shown was not always the correct one.

4/1/2019
I have made a few updates to the program. The main updates are:
- the data base now correctly handles older matches being entered later than matches from more recent dates. However, matches from the same date still needs to be entered in the order in which they were played.
- the GUI can now display map stats and player stats (see new images in spoiler below)

Note:
- matchup percentages in map stats are corrected for the elo rating of the players, so a 5-5 statistics for TvZ, for example, could show below 50% if the terran players had much lower rating in those matches.
- the "Development" column in player stats shows the player's development in main elo rating over the past four months.

You can download the data base files here.


3/25/2019
For anyone interested I have uploaded the full data base and image resources I have developed during the previous six months or so. Probably some nice information there for STPL team captains and others :-)
The folder "EloSystems" with the data base files should be placed as a sub folder to file where the SCElosystemGUI.exe file is placed.


ORIGINAL POST

As part of a bigger project I am working on, I have written some software that can calculate elo ratings for StarCraft players. It currently has a very simple GUI that allows you to add players, maps etc. and start reporting match results, and the program will calculate the Elo Ratings.

The primary features of the software are:

- calculates elo ratings for SC players
- both seperate elo ratings for each type of opponent (Z, T, P and Random) and one overrall rating
- easy to use UI for reporting match results
- allows for adding visual content (national flags, pictures of maps and players, tournament logos)
- calculates map statistics for the different races matchups
- corrects map statistics from players' elo ratings
- mechanisms for quick elo rating calibration based on the first games entered into the data base
- and more to come, the project is work in progress...

It is an open source project, and everyone should feel free to use it and/or contribute.

If you would like just to try it out, you can get the program here


If you would like to contribute or pull the source code, you can find it on github here


The following are some screen shots from the program. :-)

+ Show Spoiler +

[image loading]
[image loading]
[image loading]
[image loading]
[image loading]
[image loading]

Jealous
Profile Blog Joined December 2011
10198 Posts
March 23 2019 18:45 GMT
#2
Holy shit this looks sick. Great stuff.
"The right to vote is only the oar of the slaveship, I wanna be free." -- бум бум сучка!
oxKnu
Profile Joined December 2017
1210 Posts
March 23 2019 20:06 GMT
#3
How did you feed in the player and match data?
FakeFin
Profile Joined December 2018
Germany392 Posts
March 23 2019 20:38 GMT
#4
That was a really great idea! I tried it out and it works very good. My only problem with it is that it doesn't take the date of the matches into account when calculating elo. Everything else is great!
GreyShades
Profile Joined September 2017
Denmark40 Posts
Last Edited: 2019-03-25 01:05:02
March 24 2019 01:29 GMT
#5
On March 24 2019 05:38 FakeFin wrote:
That was a really great idea! I tried it out and it works very good. My only problem with it is that it doesn't take the date of the matches into account when calculating elo. Everything else is great!


Yes, it will just take the matches in the order they are entered. That needs to be changed.

There is currently a workaround. The list with matches always shows the matches ordered by their DateTime. After entering these in random order and wanting the elo rating to be correctly calculated after the dates when games were played, then do the following:

1) Under the "Report Match" tab select "Edit" as the select Mode. Now you can select and edit previous entered matches.

2) Now select the match with the "oldest" date and change something about it, but do not change its date. For example, change one of the results.

3) Click the button that says "Keep changes"

4) Now select the same match again, and change it back to how you actually want it.

5) Again, click the "Keep changes" button.


At step (3) and (5) above the program will destroy all entries in the data back to and including the one that was edited (keeping a working copy of them in memory), and then reenter them in order of their date and recalculate all elo ratings. Effectively, this gives you elo ratings calculated after dates where matches were played.

If you can't see all the matches in the "Recent Match Report" list, you can currently only fix this by opening the "SCEloSystemGUI.exe.config" in notepad, and change the number of matches are put into the list. Look up the part saying:


<setting name="NoRecentMatches" serializeAs="String">
<value>110</value>
</setting>

And change the 110 value to however big a number will ensure you see as much as you want.

Its a workaround, until I get it fixed.
GreyShades
Profile Joined September 2017
Denmark40 Posts
March 24 2019 02:01 GMT
#6
On March 24 2019 05:06 oxKnu wrote:
How did you feed in the player and match data?


HOW TO USE THE PROGRAM AND ENTER DATA

I entered in the data manually (using the program's UI) as I watched the matches or looked up results in cases where some matches weren't streamed.

You can report matches to the data base as long as you have two players, the races they played and who won. Map, tournament, and season are always optional.

If by "you", you mean "how someone should" do it, the steps are:

1) Before entering any matches, you need to enter the players into the data base. You do this under the "Add Player" tab. You minimally need to enter a name and then click the "Add to system" button.

2) If you would like to enter the players associated country or team, you first need to enter that country or team into the data base. You do this under the "Add Country" and "Add Team" tabs. After doing this, the country and team will now appear as options to choose from the the respective combo boxes in the "Add or edit player" section.

3) If you would like to set the map a match was played on (and have the data base begin storing map statistics), you need to enter maps into the data base. Create new maps under the "Add Map" tab.

4) Before you can select a tournament as a context for your match report, you need to enter that tournament into the data base. This is done under the "Add Tournament & Seasons" tab. Once you have added a tournament, you can (also under "Add Tournament & Seasons" tab) begin to add different seasons for each tournament.

5) As soon as you have at least two players to select, you are able to report a match. Map, Tournament and Season are all optional. Match reports are added under the "Report Match" tab. There are two modes: "Add new" allows you to add new matches, and "Edit" allows you to select already reported matches from the "Recent Match Reports" on the right and edit them. Select the two players in the combo boxes ("Player 1" and "Player 2" - it is not important for elo ratings who is player 1 or 2). Set the Match Context (Tournament, Season, and Date) as you want it. Now click the "Add Game" button to add as many games as the match consists of. Select the races, and maps (if known) for each game, and click the radio buttons to indicate who won. When done, click the "Enter Report" button at the top of the tab window the enter the match into the data base. If the button is disabled, you either failed to select two players, set races for all games, or have games where the winner is not set.

When you select the race for a player in one game, all other games will be set to the same race (this generally saves you a lot of clicking). However, when a winner has been reported for a game, changing a players race in other games, will no longer affect games where you have already set the winner. This comes in handy, in the rare cases where a player actually changed races between games.
TT1
Profile Blog Joined December 2008
Canada10011 Posts
March 24 2019 21:30 GMT
#7
:o this is really neat
ab = tl(i) + tl(pc), the grand answer to every tl.net debate
Ty2
Profile Blog Joined March 2013
United States1434 Posts
March 24 2019 22:20 GMT
#8
--- Nuked ---
Writer
GreyShades
Profile Joined September 2017
Denmark40 Posts
Last Edited: 2019-03-25 00:31:52
March 25 2019 00:05 GMT
#9
On March 25 2019 07:20 Ty2 wrote:
I got this error when I tried to save it. Any idea on how to fix it?

[image loading]


It looks like you need to manually give the program the rights to make changes on your hard drive (create a save file). This can be done by running the program with administrator rights.

Steps to solve the problem:

1) Locate the SCEloSystemGUI.exe file (should be located in a folder named "SC Elo System Setup").

2) Right click on the file and select "properties" from the drop down menu.

3) Select the "Compatibility" tab

4) Check the box saying something like "Run as administrator"


Please let me know if the problem persists after this.
dM-White
Profile Joined February 2007
Chile340 Posts
March 25 2019 19:15 GMT
#10
This is really nice job dude, going to try it !!
Op dM- @West || http://DisturbedMind.net || https://discord.gg/ePERqJp
kogeT
Profile Joined September 2013
Poland2040 Posts
March 25 2019 19:22 GMT
#11
Mb talk with Zulu for some master data? Or Radley as he is working with STPL data.. and put it to work online.

https://www.teamliquid.net/forum/brood-war/524995-foreigners-elo-ranking
https://www.twitch.tv/kogetbw
Ty2
Profile Blog Joined March 2013
United States1434 Posts
March 26 2019 05:15 GMT
#12
--- Nuked ---
Writer
dM-White
Profile Joined February 2007
Chile340 Posts
March 26 2019 07:33 GMT
#13
Where we can see the standings of the ELO after adding players/match and everything?
Op dM- @West || http://DisturbedMind.net || https://discord.gg/ePERqJp
BlueStar
Profile Blog Joined August 2005
Bulgaria1168 Posts
March 26 2019 13:38 GMT
#14
That's really great tool - played a bit with it this weekend.

The only thing I miss is some kind of export functionality so to easily report standings and share data with stakeholders/particpants.

Kudos !
Leader of the Bulgarian National SCBW/SC2 team and team pSi.SCBW/SC2
GreyShades
Profile Joined September 2017
Denmark40 Posts
Last Edited: 2019-03-26 18:25:01
March 26 2019 18:23 GMT
#15
On March 26 2019 16:33 dM-White wrote:
Where we can see the standings of the ELO after adding players/match and everything?



Currently, the program mainly has functionality in terms of entering and editing data in the data base. List showings of ranks, player ranked lists, map stats, head to head stats, player by map stats, player rating change over time etc. are all to come step by step when I get the time.

Atm you can only see players' ratings by selecting them individually in the combo boxes on the match report screen, so it is still somewhat cumbersome to compare player rankings.
GreyShades
Profile Joined September 2017
Denmark40 Posts
April 01 2019 11:27 GMT
#16
As described in my edit of the original post, I have as of today uploaded a new version with better stats displays in the UI. It's not an april's fool.
FakeFin
Profile Joined December 2018
Germany392 Posts
Last Edited: 2019-04-06 13:44:36
April 06 2019 13:06 GMT
#17
I get an error message everytime i try to add a new player or tournament that says "The object reference was not set to an object instance."
Edit: It only happened when i used an elo System from the old Version
I created a new one and it works now
GreyShades
Profile Joined September 2017
Denmark40 Posts
Last Edited: 2019-05-04 15:47:32
April 07 2019 17:52 GMT
#18
On April 06 2019 22:06 FakeFin wrote:
I get an error message everytime i try to add a new player or tournament that says "The object reference was not set to an object instance."
Edit: It only happened when i used an elo System from the old Version
I created a new one and it works now


Should be fixed now with version 1.0.0.6
GreyShades
Profile Joined September 2017
Denmark40 Posts
May 04 2019 15:42 GMT
#19
As described in the original post above, a new update fixing some bugs and adding functionality is now available.
GreyShades
Profile Joined September 2017
Denmark40 Posts
Last Edited: 2020-02-05 01:29:24
February 04 2020 19:25 GMT
#20
VERSION 1.0.1.1 IS NOW AVAILABLE WITH SEVERAL GREAT IMPROVEMENTS!

I can't edit my original post, but please refer to that post for links to the installation files and a database file and a file with graphical content. There is also a new database uploaded with more players and data from all the big tournaments since last update.

Improvements to the program include:

- new player profile page displaying player info, individual statistics, rating development, overall performance as well as specific map performance (example below)

- easy accessed head-to-head statistics

- an A to F ranking system based on the elo ratings (U ranking when a player's activity does not meet the criteria for being ranked)

- much easier options to edit matches after they have been added to the database

- activity filter for the player stats ranking list

- search option for quickly locating players on the player stats ranking list


A few screen shots in the spoiler below :-)

+ Show Spoiler +

[image loading]

[image loading]


SouL)Z(Silver
Profile Joined September 2019
Russian Federation347 Posts
February 04 2020 20:46 GMT
#21
awesome stuff!
SouL Gaming team | The organizer & admin large online & offline of tournaments on SC:R | Top1 National Caster
GreyShades
Profile Joined September 2017
Denmark40 Posts
Last Edited: 2020-07-17 19:51:42
July 17 2020 00:22 GMT
#22
VERSION 1.2.1.3 IS NOW AVAILABLE WITH MORE IMPROVEMENTS!

A new version of the Elo System GUI is now available. Also, I have uploaded an updated database with games from all the major tournaments. About 4,000 games in total.

Improvements include:

- the player profile page has been updated. Games can now be filtered by their tournament association.

- a map profile page that allows you to see a list of all individual games played on any map.

- tournament profile page where you can see all games from the tournament or a particular season.

- a help file which explains the different types of statistics, the ranking system, tips for navigating the UI etc.

- everywhere, lists of games/matches have become more interactive. Try it out or read in the help file about how to use this feature.

- a number of bugs have been fixed, and I've added some improved cache which should make the UI feel much more responsive and decrease loading times.

Download links are the same as provided in the original post. Remember to use both the link to download of the program, as well as the separate link for download of the database that you can open from inside the program (unless you just want to create your own database of course).

As always, there are a few screen shots of what is new in the spoiler below :-)

+ Show Spoiler +

[image loading]

[image loading]

[image loading]


TelecoM
Profile Blog Joined January 2010
United States10682 Posts
July 17 2020 02:09 GMT
#23
Wow I can't believe I am not seeing this until now, really good work!
AKA: TelecoM[WHITE] Protoss fighting
dark.matter
Profile Joined April 2017
179 Posts
July 17 2020 18:45 GMT
#24
Cool man!
BlueStar
Profile Blog Joined August 2005
Bulgaria1168 Posts
November 05 2021 15:07 GMT
#25
Hey GreyShades I'm not sure if you still work on this one but would like to share some experience and got some issues that I'm not sure how to approach.

1st and foremost - thanks for developing this tool and sharing it with all of us! As a data geek, I can only say that I love it!

Throughout the past couple of years, I've been using it as a tool to measure the skill of the Bulgarian players and gather data on their matches from the Bulgarian events that happened during this period.

After aggregating results from ~250 different matches, I got an issue of some results not being calculated properly in the ELO system.
If you see this message and want to help me investigate please drop me a message.

Kudos for all the effort that you've put into developing this and sharing it with a wider audience.

Leader of the Bulgarian National SCBW/SC2 team and team pSi.SCBW/SC2
pood
Profile Joined July 2020
7 Posts
November 11 2021 10:04 GMT
#26
BlueStar, if you stil haven't got a response from GreyShades try opening an issue on the github page, there might be a chance that he will get the notification:
https://github.com/rdongart/EloSystem/issues/new

GreyShades
Profile Joined September 2017
Denmark40 Posts
December 25 2021 11:12 GMT
#27
On November 06 2021 00:07 BlueStar wrote:
Hey GreyShades I'm not sure if you still work on this one but would like to share some experience and got some issues that I'm not sure how to approach.

1st and foremost - thanks for developing this tool and sharing it with all of us! As a data geek, I can only say that I love it!

Throughout the past couple of years, I've been using it as a tool to measure the skill of the Bulgarian players and gather data on their matches from the Bulgarian events that happened during this period.

After aggregating results from ~250 different matches, I got an issue of some results not being calculated properly in the ELO system.
If you see this message and want to help me investigate please drop me a message.

Kudos for all the effort that you've put into developing this and sharing it with a wider audience.




Thank you, its great to hear someone is using this! Sorry for my late response.

I am currently not working on this program, but I have plans for future minor updates like making it possible to export data to excel.

Can you tell me what version you are using? You can see it in the Help->About menu.

Also, do you get an error message? If so, I would like to read all the text from the error message, that should help me locate the problem.
Normal
Please log in or register to reply.
Live Events Refresh
Next event in 4h 54m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 131
StarCraft: Brood War
PianO 251
actioN 116
Bale 34
NotJumperer 11
Icarus 8
Dota 2
XcaliburYe493
League of Legends
JimRising 752
Counter-Strike
Stewie2K577
m0e_tv382
Coldzera 253
Other Games
summit1g8437
gofns3198
C9.Mang0347
Mew2King85
RuFF_SC249
ViBE43
Models5
Organizations
Counter-Strike
PGL5252
Other Games
gamesdonequick1628
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH121
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Diggity3
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1941
• HappyZerGling111
• Jankos50
Upcoming Events
Wardi Open
4h 54m
CranKy Ducklings
1d 3h
Safe House 2
1d 10h
Sparkling Tuna Cup
2 days
Safe House 2
2 days
Tenacious Turtle Tussle
5 days
The PondCast
6 days
Liquipedia Results

Completed

Acropolis #4 - TS2
WardiTV TLMC #15
HCC Europe

Ongoing

BSL 21 Points
ASL Season 20
CSL 2025 AUTUMN (S18)
C-Race Season 1
IPSL Winter 2025-26
EC S1
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual

Upcoming

SC4ALL: Brood War
BSL Season 21
BSL 21 Team A
RSL Offline Finals
RSL Revival: Season 3
Stellar Fest
SC4ALL: StarCraft II
CranK Gathers Season 2: SC II Pro Teams
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
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 © 2025 TLnet. All Rights Reserved.