GlickoMan Player Ratings Manager

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#1
This is no longer under development. Its successor, SkillKeeper, can be found here.













Latest Version: v0.0.7.5
Downloads
Download
.NET Framework Setup

About
The Glicko Player Ratings Manager is a program made for tracking player skill and displaying rankings in an easy-to-use table. It has a relatively easy-to-use interface and allows for revising of player information as well as checking previously entered matches and correcting mistakes. Skill ratings are run on Mark Glickman's Glicko rating system.

Basic Instructions
Importing from Challonge/tio

From the Database tab, select Import tio File and browse to a valid tio file; or, enter your API key in the provided text box and select Import Challonge.


GlickoMan is only capable of ranking for singles, so only singles events will be displayed. Select which event you want to import into the database and at which point in the match timeline to insert it. If you do not have a match timeline yet, it will simply offer to build one from the chosen bracket. You may check or uncheck Add point decay markers to determine whether you want to separate the matches in the imported bracket by point decay markers (both before and after, if applicable). You may also choose whether or not to trust the logic of the program to correlate all entrant names to those of players already in the database (NOTE: Treat this like using Google's "I'm feeling lucky" button). When importing a tio file or Challonge bracket to an empty database, these options will be unavailable.


If you chose not to allow the program to automatically map players, a dialog will appear for each player in the imported bracket. GlickoMan will attempt to find which players might match up and default the menu choice to that player. You also have the option of creating a new player if that name doesn't already exist in your database and you don't want to map it to an existing player.

And that's it, your database should be populated with all the matches from the bracket.

Manually adding players

In the Add New Player tab, fill out the information you need and click Add Player. You do not need a team name. You cannot add nameless players or players whose names already exist in the database.

Modifying/deleting player information

In the Modify Player tab, simply choose a player, adjust the values you want, and click Save Changes. You may also delete players from this tab; deleting a player will also remove all matches that player has played from the match history. Note that you cannot change values such as wins, losses, mu, or sigma. This is because those values are calculated by the program based on the player's initial mu and sigma and the match history, so altering them would be meaningless.

Entering a match result

In the Enter Match Results tab, select the winner on the left and the loser on the right, then Run Match to record the match in the timeline.

Leaderboard

This is where you can view the rankings of your players! You can also export the leaderboard to a CSV file (which can be opened in programs like Excel or OpenOffice Calc). Note that only the columns you checked along the bottom will be exported.

Advanced Stuff
Database settings

This is the area where you'll be able to change database-wide settings such as default mu and sigma, and how much sigma should be weighted against mu for calculating score. The settings that come pre-packaged are what to expect from a typical environment being rated by Glicko, but can be adjusted as seen fit. If you wish to retroactively alter all players already in the database to match your new defaults, select Reset All Players to Default.

Merging players

This function is for dealing with duplicate player entries due to someone entering as different tags and you not finding out until later. Select the player name you want to get rid of on the left, then select the name which the player is also known as, then click Merge Into. This will remove the merged player from your database, and replace all match entries of him in the timeline with the player merged into.

Altering time

The Match History tab allows you to view and edit the overall timeline of matches in your database. You can move a match up or down in the timeline, switch which player won in a given match, or remove the match from history altogether. This is also where you can denote a new ratings period with the Add Period Separator button.



Changelog
v0.0.7.5
- Improved performance by queueing match recalculation until after tab switch, rather than after each change applied.

v0.0.7.4
- Added support for maximum rating periods before a player is considered inactive (and delisted from the leaderboard)

v0.0.7.3
- Leaderboard is now capable of TIME TRAVEL
- Players now have a "Character" field

v0.0.7.2
- Implemented match comments, for better categorization within Match History

v0.0.7.1
- Added support for Challonge sub-domains
- Implemented selection of ranges (multiple) matches in Match History

v0.0.7.0
- Added "Swap Players" button in Enter Matches tab.
- Implemented Challonge import functionality.
- Minor interface revisions.

v0.0.6.4
- Removed Score/Mu sorting, due to its redundance with being able to set Sigma weighting to 0.
- Added "Reset all players to default" in settings.

v0.0.6.3
- Resoved an error that occurs sometimes when creating a new database.

v0.0.6.2
- Added textbox to view individual match records in the Modify Player tab.

v0.0.6.1
- Added new option - you can now set the minimum number of games required to be played before being ranked on the leaderboard.
- Enter Matches tab now has a new field which calculates the chances of the entered match result occurring.

v0.0.6.0
- Added functionality to set sigma weight on score. Higher weight causes sigma to reduce score more, in exchange for a higher confidence of accurate rating.
- File name text box now clears when you start a new database.

v0.0.5.8
- Fixed issue where clicking "Cancel" in the "Export Leaderboard" dialog would still cause it to save to a file.

v0.0.5.7
- Added Mu column to leaderboard.
- Added setting to sort by Mu or by Score in settings tab. This setting is Score by default, but will be saved to database files.
- Moved "Advance 1 Month" button to match history, renamed to "Add Period Separator".
- Renamed "Months to reset R.D." to "Ratings Period Threshold".
- Added Database Text View tab and moved database text to it. This should improve overall performance when loading or importing.

v0.0.5.6
- Fixed logic to handle certain tio pools where match result entries were recorded with no winners.

v0.0.5.5
- Fixed issue where players in a tio file not found in the database were not allowed to be created until you selected a name.

v0.0.5.4
- Added Grade to leaderboard
- Minor aesthetic adjustments to match history and leaderboard tables
- You may now select which categories are exported from the leaderboard
- Leaderboard now sorts by higher score, then higher mu, then alphabetically

v0.0.5.3
- You may no longer rename a player to the name of another existing player
- You may no longer rename a player to have no name
- You are now able to adjust initial mu and sigma values
- You may no longer adjust current mu, sigma, win, or loss values, since they are now calculated through match history
- Resolved issue where tio file importing would not properly handle byes
- Made match history table scrolling more intuitive
- Scores on the leaderboard can no longer go below 0
- You can now have GlickoMan select the default mapping option for all players when importing a tio file
- Added "Merge Players", which can merge one player into another in case of accidental duplicates
- Made "About" tab prettier
- Fixed formulas for matchmaking

v0.0.5.2
- Fixed "existing player" check on importing a tio file

v0.0.5.1
- Implemented support for importing tio file results
- You can now swap winner and loser in match history
- Fixed issue where changing a player's name would glitch out the Modify Player tab a bit
- You are no longer allowed to have a player beat himself
- You may no longer modify or delete non-existent players
- Deleting a player now also removes all instances of matches involving that player from match history
- You may no longer add a new player whose name already exists in the database

v0.0.4.4
- Added checking for loading valid/invalid database files
- Made match history table properly focus on the relevant row that was last affected
- Added a scrollbar to the changelog
- Match results now only allows running a match if players are valid
- Removed confirm button functionality

v0.0.4.3
- Fixed issue where loading a database would not clear previous match history beforehand
- Fixed leaderboard exporting players that were hidden

v0.0.4.2
- Fixed file loading issues
- Implemented marker for month advancement in match history (//reset)

v0.0.4.1
- Implemented match history function, allowing re-ordering and removing of matches
- Database now stores settings
- New database format, old database files are no longer compatible

v0.0.3.3
- Players at maximum sigma are now hidden from the leaderboard (they are still kept in the database, and simply need to play a match to re-rank as an active player)

v0.0.3.2
- Added confirmation button setting for match results
- Reduced ratings deviation weight
- Added "About" section
- Removed silly resizing function

v0.0.2.2
- Fixed score decay calculations

v0.0.1.1
- Initial build.
 
Last edited:
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
#2
This looks cool. As for the ratings, how does that work if there is no central database? Would each TO just use their own copy and their own tournament results?
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#3
Yeah, I guess I can make a central database if people want one, but for the most part I coded it for the purpose of local rankings.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
#4
Yeah, I guess I can make a central database if people want one, but for the most part I coded it for the purpose of local rankings.
See: http://ssbpd.com

It's been "broken" for a while now, but there is apparently a team of people working on remodeling the site and getting it back up and running. Thread here: http://www.smashboards.com/showthread.php?t=318870

Maybe you should contact them or something, it looks like you guys could combine your efforts for the greater good of the community. No sense in fragmentation. :]
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
#6
By the way, there are problems with the current Elo score system in the SSBPD. There is no region balancing, so someone can easily inflate his score by hosting and winning a bunch of local tourneys. Ideally, either regions should be weighted, or score increases would decay upon winning against the same players over and over. Just throwing that out there as food for thought because you seem to take interest in the whole score thing.
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#7
While it is a definite fault of any matchup-based rankings system involving regions largely isolated from each other, any attempt to introduce regional weighting will become a case of overfitting and a loss of impartiality in statistics.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
#8
Then how about the second implementation idea, in which beating an opponent yields greater or fewer points depending on your win/loss record against him in the past?
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#9
If you take the time to read about how the Glicko formula works, you'll see that massing games against people over and over will give diminishing returns already, due to rapidly dropping your ratings deviation playing against people who are rated to be clearly worse than you are.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
#10
If you take the time to read about how the Glicko formula works, you'll see that massing games against people over and over will give diminishing returns already, due to rapidly dropping your ratings deviation playing against people who are rated to be clearly worse than you are.
Awesome, I already like that better than Elo. =] If you join the SSBPD team, please have them implement the Glicko formula!
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#13
Since the guys working on SSBPD declined implementing Glicko instead of ELO and there's not really been any requests, I went ahead and uploaded the final bugfix I made since then. Enjoy.
 
Joined
Apr 30, 2008
Messages
1,081
#14
This is really cool. I assume that this can be used for any local community. Is there a way set up separate databases should the organizer run multiple events?
 

TaFoKiNtS

Smash Lord
Joined
Jul 21, 2005
Messages
1,027
#16
It seems like pools results aren't calculated properly and defaults to a 1 win and 1 loss record against everyone a person plays against
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#17
I... haven't encountered this problem, myself. Can you send me a copy of the tio file where you're getting this issue?
 
Joined
Feb 12, 2007
Messages
1,563
Location
Fairfax, VA
#20
I've been doing Elo rankings for my region, this program could actually be extemely useful and I'm surprised it hasn't gotten more attention.

I have some questions:
This program uses Glicko-2, correct?
Is there a limit as to how far the ratings deviation can drop?
Are tio file dates taken into account? (does it matter in what order I add tio files?)
What exactly is player "score" in the leaderboard tab?
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#21
Score is (mu - (2 * sigma)), for a 95% confidence conservative estimate of skill.
The program uses the original Glicko because by the time I learned of Glicko-2 I was already halfway into building this thing. I actually originally wanted to use TrueSkill but Microsoft never published its exact formula.
Sigma cannot go above the original amount.
tio file dates are not taken into account, but you can specify at which point in the database's current "timeline" to insert the tio bracket's matches.

Yeah, thinking back a few of the things I did don't seem to make much sense, lol.
 
Joined
Feb 12, 2007
Messages
1,563
Location
Fairfax, VA
#22
What exactly is the reasoning behind the score calculation? I feel like that sorta discredits players who are good that don't attend/enter tournaments that often. Also, I'm a little confused as to how ranking periods and the "Months to Reset RD" works. Does this mean that each "//reset" row in match history counts as a month? It would be useful to set stuff like score calculation and how much the downtime between ranking periods is worth.

Are you planning on continuing to update and add features to this program? There are a ton of fairly simple things that I'm sure we'd both like to see implemented, such as player notes, head-to-head history, etc.

I also ran into a bug when I tried to add a single elim bracket to an existing database (no problem when it's added to a new database). I'll PM you the files and hopefully you'll be able to figure out the issue.
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#23
The point of score calculation was mostly a personal addition of mine, which does precisely what you noted - penalizes players who may very well be good, but rarely attend tournaments.

I'm actually kind of surprised that I'm suddenly getting feedback on this now, of all times, as I'd considered the project essentially dead after November, haha.
 
Joined
Feb 12, 2007
Messages
1,563
Location
Fairfax, VA
#24
I think the score calculation would be fine if you could also sort by the Mu (or set the score parameters), that's the biggest issue imo.

I guess the reason I'm so interested in this is because I've wanted a program like this for a long time. Another smasher directed me here when he learned I was doing Elo rankings for the region by hand. IDK why other people haven't paid this attention, seeing as how so many regions have power rankings.
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#25
I'll add in scoring by confidence and by mu in my next version, probably sometime this week.
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#26
v0.0.5.7
- Added Mu column to leaderboard.
- Added setting to sort by Mu or by Score in settings tab. This setting is Score by default, but will be saved to database files.
- Moved "Advance 1 Month" button to match history, renamed to "Add Period Separator".
- Renamed "Months to reset R.D." to "Ratings Period Threshold".
- Added Database Text View tab and moved database text to it. This should improve overall performance when loading or importing.

Hope this gets you the sorting you were hoping for, Sypher :)
 
Joined
Feb 12, 2007
Messages
1,563
Location
Fairfax, VA
#27
MAN, I keep forgetting to thank you for the update, it's already been half a month. @@;

The DB page move was a good change, it really helped speed things up.
 

zeth07

Smash Rookie
Joined
Apr 30, 2013
Messages
3
#28
I registered for this board just to say thanks for making this program. I've been looking for a program that used Glicko and this does exactly what I wanted.

My suggestions:
-Is there anyway to implement a minimum number of games needed for a player to be displayed on the leaderboard? For example in the settings have a minimum number of games option, and allow input for X number of games. Then on the leaderboard only players with greater than or equal to X games will be shown.

-Would there be any way to add a display for expected outcome of two players playing against each other? Like say when you go to input matches and have both players selected before hitting "Run Match" it would display the player's chances of winning against each other under "Current Score". Part of using these systems is so you match players up who are as close to equally skilled as possible, so knowing the expected outcome could help since you would be aiming for the players to have a 50% of winning against each other as close as possible. Possibly incorporate this into the leaderboard as well based off of the highest rated player relative to the rest of the list maybe?

-Bonus: If there was a way to keep track of head to head results (in a separate tab section) as mentioned above I think that'd be great. Have an option to select a player from the drop down menu, then have it display W/L against each player they've played. This would just be icing on the cake for the program, as it really isn't what the program was meant to be used for.

I just want to say thanks again for working on this program.
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#29
1. Yes, this can probably done fairly easily.
2. As long as there's something in the formula that gives an expected outcome, I can probably add it in.
3. I should be able to do this, especially since the data files carry the complete history of head-to-head matchups, but this will take some work before I can think of an acceptable way to build it out. We'll see.
 

zeth07

Smash Rookie
Joined
Apr 30, 2013
Messages
3
#30
Cool sounds great.

For #2, I'm assuming you could just go with the ELO formula and just use "Mu" for the "true strength" of each player.

If Player A has true strength "RA" and Player B has true strength "RB", Elo's original formula for the expected score of Player A is:

EA = 1 / (1 + (10^((RB - RA) / 400)))
Similarly the expected score for Player B is:
EB = 1 / (1 + (10^((RA - RB) / 400)))

I'm assuming that would work at least.
 

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#31
Yeah, as it turns out Glicko calculates an expected value as part of its formula as well... it uses the opponent's ratings deviation as part of it, compared to ELO. By the way, I've implemented #1 and #2 and will upload the new version in a bit.
 

zeth07

Smash Rookie
Joined
Apr 30, 2013
Messages
3
#32
Yeah, as it turns out Glicko calculates an expected value as part of its formula as well... it uses the opponent's ratings deviation as part of it, compared to ELO. By the way, I've implemented #1 and #2 and will upload the new version in a bit.
Awesome. Looking forward to it. Thanks again for all the work.
 

Chrozon

Smash Rookie
Joined
Mar 23, 2014
Messages
5
Location
Østfold, Norway
#33
Great program! I've been having some issues though.. Whenever I try to load a database, the leaderboard doesn't work, and if I try to recalculate matches I get completely wonky results. The program works perfectly if I add every single tournament from a new database, though.

Edit:
wow sorry i didn't see that this was this old, I just got linked to it by a friend, sorry for bumping...
 
Last edited:

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#36
Looking over this, it looks like you were loading an older file with a newer version of my program and I was unable to properly convert, resulting in some really awkward mu/sigma numbers. I'll try to fix this manually.

EDIT: Here, download this latest copy, then open your files, go to Settings, and click "Reset All Players to Default". That will fix whatever happened to your files, at which point you should probably save changes as well.
 
Last edited:

Kadano

Magical Express
Premium
Joined
Feb 26, 2009
Messages
2,160
Location
Vienna, Austria
#39
Challonge support added!
Thank you so much for still maintaining this program! I’ve been looking for something like this for a long time. Until now, I fiddled around with Excel sheets that calculate scores directly from tournament placings, with some extra factors weighed in for balance, but optimizing the formulae would take huge amounts of time I’m not willing to spare. So it’s really great to have an established rating system easily available.

The only thing I miss is meta-information for matches. Is it possible to save the date of the tournament to every match? This would make importing old tournaments much easier. Right now, if I add in a tournament from 2013-03 and one from 2013-11, and then later find a tio file from a 2013-08 tournament, it will be really hard to find the right spot to insert it at. Having a “date” (and, ideally, “tournament name” as well) column in the “Match History” tab and the date written before every match in the import wizard (for example: “2013-03-20 Ares > Dan”) would be really great.

Edit: This would also allow for another tab called “Leaderboard history” where you could have the amount of points for every individual date.

Edit2: Also, I can’t find the option to change between score and mu sorting in the settings tab. Did you (re)move it?
Is there any chance you will implement Glicko 2?
 
Last edited:

Zankoku

Never Knows Best
Administrator
Premium
GRimer
Joined
Nov 8, 2006
Messages
22,992
Location
Milpitas, CA
NNID
SSBM_PLAYER
#40
Nice feature requests, I guess I'll plan out a remake of this program now that I think I've stretched the original mess of code pretty much to its limits. There's no Mu sorting since you can just set the weight on score to 0 for the same effect.
 
Top