• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

[WIP] Elo Ratings System

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
good stuff.

so as we're getting ready to really accomplish this, here are some things we still need to figure out:

--criteria: what are going to be included? I think we should do singles only. I don't think we should have a age cuttoff, I think it be a lot easier if we just used smaller K-values for more historical matches. And obviously only matches played as a "main" tournament (no low-tier, items on, falcon-only, whatever). We still need to figure out whether pools are going to be used or not. We need someone who's really familiar with the intricasies of the ELO system to help us out. Zivilyian Bane has offered to lend some analysis. Does anyone else want to step up to be the ELO-consultant (algorithms, k-values, figuring out pools). ZB has also offered (and begun!) taking old nationals and making .tio files for them from the posted results, which is a nice thing to do.

--db format: what exactly are we going to store in the Db (other than score and gamertag). Location? Real name? Email? SSN (kidding), but yeah...

--Tio plugin: Do all TO's use Tio? (try saying that ten times fast). If not, what do they use and how can we make that work. Or can we safely ignore them. Is Nealdt going to lend support/source/documentation to the plugin team?

--serverside stuff: we're going to need a folder on the server that the submit_tio.php script can write to. there's probably going to be three php pages:

submit_tio.php : TO's use to submit a tourney result file (needs a writeable directory for .tio files)
review_tourneys.php: ELO Gods use to analyze and approve tournaments (needs a writeable directory for .elo files. also needs to have our update_elo binary (with +x permissions) in its running directory ) )
view_ratings.php: Shows the ratings (just needs to read)



k sorry bout the long post
 

Nintendude

Smash Hero
Joined
Feb 23, 2006
Messages
5,024
Location
San Francisco
good stuff. --criteria: what are going to be included? I think we should do singles only. I don't think we should have a age cuttoff, I think it be a lot easier if we just used smaller K-values for more historical matches. And obviously only matches played as a "main" tournament (no low-tier, items on, falcon-only, whatever). We still need to figure out whether pools are going to be used or not. We need someone who's really familiar with the intricasies of the ELO system to help us out. Zivilyian Bane has offered to lend some analysis. Does anyone else want to step up to be the ELO-consultant (algorithms, k-values, figuring out pools). ZB has also offered (and begun!) taking old nationals and making .tio files for them from the posted results, which is a nice thing to do.
I think pools should absolutely be used, and I agree that for old results we can just lower the K-factor in some way. I want to get ZB in here to help us out with this thing. Cactuar, do you have any issue with that? I'm asking cause I feel like I'm letting all sorts of people into the MBR and I want to make sure it isn't getting out of hand. I think he's the only non-programmer I'd want to let in here anyway.

--db format: what exactly are we going to store in the Db (other than score and gamertag). Location? Real name? Email? SSN (kidding), but yeah...
I'd go with ID Number (are we still in disagreement about this?), Gamertag, Location, Real Name, Smashboards name (sometimes it's not the same as someone's tag), and Email. Of course, people will only need an ID Number and Location (at least down to a state / province level); everything else is optional.

For ratings, I think we should be able to have multiple ratings per person (one for each Smash game, with console and online Smash 64 as separate ratings. The tio plugin needs to add online smash 64 as a game option). It would be really neat if down the road we had actual profile pages, where people can edit their personal information and maybe view match history. That's not a priority though.

--Tio plugin: Do all TO's use Tio? (try saying that ten times fast). If not, what do they use and how can we make that work. Or can we safely ignore them. Is Nealdt going to lend support/source/documentation to the plugin team?
I think almost all TOs use tio (besides like MLG). If not, they probably use Tournament Maker 2. I don't think it is unreasonable to require TOs to use tio, and if there's a good reason they can't, we can recreate their brackets.
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
i agree with everything nintendude said, except for id numbers. i just don't see the point, there are already unique identifiers that people have memorized (emails, real names, gamertags, etc.) People are not going to want to have to start memorizing a number. If TO's mispell a gamertag, it won't come up. And we are going to require people to approve of the brackets anyways.
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
^^ awesome man, glad to have you on board.

basically, we'd like to use (a slightly tweaked) version of your app as the server-side updater for the ELO db. Some questions though:
-does your app support pools as well as brackets?
-are you using the "standard" elo updating algorithms (normal or logistical dist.)?
-what are you doing about k-values?
-are there any pathological .tio files (files with more than one event in them) that break your program?
-any other problems with it?
 

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
also

@Bionic: can you help me out with some details about custom php pages. how do we upload them. what libraries/API's are we using? Is there a template? What access do we have to the file system? To an SQL database? Sorry if this is too many questions
I could probably set up an editor back here, though it would probably be confined to a single link like: http://www.smashboards.com/misc.php?do=page&template=meleeELO and then you could add in things like &action=update or &action=submit or something.
 

Cactuar

El Fuego
BRoomer
Joined
Mar 10, 2006
Messages
4,823
Location
Philadephia, PA
I don't have a problem letting in whoever you need for the project. They are your responsibility in the end, so if something were to happen, you would be the one to feel the mighty wrath of my needles, but I highly doubt there will be any sort of incident.
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
I don't have a problem letting in whoever you need for the project. They are your responsibility in the end, so if something were to happen, you would be the one to feel the mighty wrath of my needles, but I highly doubt there will be any sort of incident.
hahahaha <3

but yeah ZB definitely, and eet maybe if him and tierno talk and want to do that
 

UTDZac

▲▲▲▲▲
BRoomer
Joined
Sep 28, 2005
Messages
6,646
Location
Judgment Count: 856
Does your app support pools as well as brackets?

Currently it only supports brackets. I didn't implement pools for two reasons:

1) I didn't want pools to skew true results. They way people play and the characters people use in pools is not always a true reflection of their skill. Occasionally I hear people dropping sets to no-names just so their friend will make it out of pools, or playing bad characters or w/e and losing
2) Coding my program to read in pool data from tio files required extra work, which at the time seemed unnecessary. So I didn't bother. It is, however, completely doable

Are you using the "standard" elo updating algorithms (normal or logistical dist.)?

Can you quickly explain the different between the two distributions? I can't remember off hand what I used.

What are you doing about k-values?

I did some testing with different K-values for different size tournaments and what-not and came to use this setup:

- For decently sized tournaments, K-value of 24.
- For smaller tournaments (low PR attendance, lots of no-names), K-value of 12.

The above K-values are used only for the WINNERS side of a double-elimination bracket. For the LOSERS side, apply half the K-value. So for small tourneys it's 6 and for decent sized tourneys it's 12. In any given tournament, there are nearly twice as many matches in the LOSERS side of a bracket than the WINNERS. If we used the same K-value, strong players who dropped to LOSERS round 1 would gain more ELO than they should.

Are there any pathological .tio files (files with more than one event in them) that break your program?

Because I'm lazy and didn't bother coding "how to handle multiple events," I imposed a requirement of "only 1 event, delete all others" on all tio files it pulls data from. So far I haven't had any issues with this. Worst case scenario you'd have to copy/paste your tio file for each extra event you'd like to use.

Any other problems with it?

Yes, there are two issues. One with the names of players and the other with players who have excessive tournament attendance in small regions. I'll touch on these more later.
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
Pools:
@Nintendude: how do you feel about UTDZac's approach to pools
@Cactuar: Is ZB back here yet? I'd love to get someone who really knows ELO to advise.

I'm inclined to say that UTDZac's K-value thing makes perfect sense, but I'm no ELO pro.

The one file one tourney thing should be fine, that's what I'm having ZB do for his archive of .tio files.

Can you explain the other issues when you get a chance zac?
 

Fortress | Sveet

▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
Joined
Dec 21, 2005
Messages
16,260
Location
Northern IL
I think a big flaw is requiring only 1 event. It should be relatively simple to filter through events that are Singles and Double Elimation (and it would probably be good to filter for game, "Super Smash Bros. Melee")
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
I think a big flaw is requiring only 1 event. It should be relatively simple to filter through events that are Singles and Double Elimation (and it would probably be good to filter for game, "Super Smash Bros. Melee")
I really don't think that's going to be a problem, we're going to have people administering the tio files anyway.
 

Fortress | Sveet

▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
Joined
Dec 21, 2005
Messages
16,260
Location
Northern IL
is it smart to force manual work to do what could easily be done by coding? It seems much more efficient to have the coder put an extra hour into coding it right instead of leaving it semi-functional or with a work around that will make it less appealing to work with for the users.

Also how are the users going to be working with the files? In the future everything should be done via the website with as little clicks as possible. Ideally there would be a submission for the TIO files, code would then extract information and display it for a user (moderator) to view and verify, then with a few clicks the information would be submitted to be processed by the ELO. Forcing multiple uploads and downloads of the TIO file is inefficient and unnecessary.


tl;dr do it right the first time
 

Nintendude

Smash Hero
Joined
Feb 23, 2006
Messages
5,024
Location
San Francisco
I'm with sveet on that particular flaw.

I think that pools should absolutely count. In addition to increasing the amount of rated matches tremendously, rated pools would encourage people to take pools seriously. It would discourage pool manipulation and fooling around, which are bad practices.

I'm not sure about changing the k-factor for the losers bracket. It might screw over players who rely on the losers bracket to increase their rating because they lost round 1 due to their seeding. Players who stay in the winners bracket should be getting bigger rating boosts than normal because they are beating better people, which might offset the number of matches played. Basically, I have no idea if this is fair or not. I'm curious what ZB thinks.
 

UTDZac

▲▲▲▲▲
BRoomer
Joined
Sep 28, 2005
Messages
6,646
Location
Judgment Count: 856
I think a big flaw is requiring only 1 event. It should be relatively simple to filter through events that are Singles and Double Elimation (and it would probably be good to filter for game, "Super Smash Bros. Melee")
This isn't a flaw. This is how I designed my program to work for my state's PR. We don't have a PR for doubles or for side events, just singles. There will never be more than one event per tournament in this case. This is by design.

is it smart to force manual work to do what could easily be done by coding? It seems much more efficient to have the coder put an extra hour into coding it right instead of leaving it semi-functional or with a work around that will make it less appealing to work with for the users.

Also how are the users going to be working with the files? In the future everything should be done via the website with as little clicks as possible. Ideally there would be a submission for the TIO files, code would then extract information and display it for a user (moderator) to view and verify, then with a few clicks the information would be submitted to be processed by the ELO. Forcing multiple uploads and downloads of the TIO file is inefficient and unnecessary.


tl;dr do it right the first time
For this project, if you want ratings for all things like doubles, side events, and pools, then you'll need to add code to support that. A way to look at the tio file and determine which event is which. Are the events named "Singles, 1v1, Melee" = 1v1? What about the events named "Doubles, Melee Doubles, 2v2, Teams" = 2v2?

(regarding future stuff) While this idea is excellent, fleshing out its design is a bit tricky and takes time.

@tl;dr, for my purposes, i did. There was nothing more I needed or could ever need.
 

UTDZac

▲▲▲▲▲
BRoomer
Joined
Sep 28, 2005
Messages
6,646
Location
Judgment Count: 856
Any other problems with it?

Yes, there are two issues. One with the names of players and the other with players who have excessive tournament attendance in small regions. I'll touch on these more later.
#1 - Issue with the names of players

What I mean by this is, more often than not, different tournaments will have the same two people but with different names. This might be because of a misspelling "UTDZac" vs "UTDZack" or an abbreviation "Ultimaterazer" vs "Razer" or a completely different name "DMG" vs "Wind Warrior".

I've handled this issue manually, which has been a pain. There are several TOs in TX and I need to manage all the tio files from all their tournaments, making sure the names entered in their events are the same as on my PR list. I don't know everyone, so sometimes I miss people or just don't recognize them.

In terms of resolving this automatically with code, it's not exactly straightforward. The best solution I thought of merely counts how many of each character are in one name and how many are in another. Then compare by obtaining a "similarity percentage." Likely candidates can automatically be merged or shown to a mod for review. Again, I'm not really sure what the best way to approach this if you don't want to manually review names in tio files.

Oh, and if this project is going to be national, you may run across people who share the same name/gamertag. You'll need a way to distinguish them... maybe location too?


I'll touch on the second issue later, gotta run.

EDIT: Sorry for the double post, I was just trying to group my thoughts
 

Nintendude

Smash Hero
Joined
Feb 23, 2006
Messages
5,024
Location
San Francisco
That's exactly one of the issues that the ID number system targets. UTD have you read about that yet?

As for the one event thing, I was just thinking that the code can take a tio file and recognize which one is singles. Then it'll use just those results and ignore everything else. This way you don't have to manually alter tio files before putting them through the system.
 

UTDZac

▲▲▲▲▲
BRoomer
Joined
Sep 28, 2005
Messages
6,646
Location
Judgment Count: 856
That's exactly one of the issues that the ID number system targets. UTD have you read about that yet?

As for the one event thing, I was just thinking that the code can take a tio file and recognize which one is singles. Then it'll use just those results and ignore everything else. This way you don't have to manually alter tio files before putting them through the system.
I have not read about it yet, where can I do so?

Recognizing which one is singles is the tricky part, that's all I'm saying. For my purposes I never needed anything but singles. Putting in extra work to make this automatic was pointless for my PR.
 

Nintendude

Smash Hero
Joined
Feb 23, 2006
Messages
5,024
Location
San Francisco
The basic premise is that when someone gets entered into the Elo database for the first time, the system generates an ID number for them. It would be an account number just like anything else in life. I'm a proponent of ID numbers because it avoids problems with gamertags (misspellings, duplicate tags, unusual characters) and real names (it isn't any kind of personal info). My original ideas on ID numbers are viewable in the first post.

There's some obvious issues with it that would have to be addressed, such as the fact that nobody wants to have to remember an ID number. I just think that at the very least, the system should use ID numbers internally to distinguish between players.
 

Cactuar

El Fuego
BRoomer
Joined
Mar 10, 2006
Messages
4,823
Location
Philadephia, PA
We all already have smashboards ID numbers. We could see if they could add a column to the database that stores elo or set up another table with the ID number being the primary key and only having an elo field. The elo application would have permission to modify that table.

That same table could be given separate elo columns for potential use in brawl as well.

Just an idea.


Recap:

-See if we can set up a table linked to existing smashboards accounts table using the ID number and permissions for the elo application to modify those tables.
-Issue: No internet at venue.

-Hypothetical:
TO Sets up a tournament.
Players register for the tournament through smashboards. This simply adds them to the list of players that might be attending, but conveniently links their actual ID to the player in the tournament.
- Let them register under whatever name they want, their ID number is still linked.
Tournament day, TO grabs that player list.
List is loaded into TIO, giving the TO a pre-reg list, and giving TIO the elo of each registered player as of that morning.
Players that show up and pay the TO have their status changed to Paid.
Players that don't show up or don't pay don't get entered because they are defaulted to Unpaid. Pretty sure this is already in TIO.


-Issue: Players that don't register and show up.
-- Players could provide the TIO their ID after the tournament? This would mean the TO would have permission to fiddle with the username/ID table, which I'm not sure is a great idea. That also means they are going into the tournament without an elo, and will be seeded as such.


Doing this, we would probably have to set up a table for tournaments...

This could add functionality to smashboards that is similar to AIB though, in that you could track what tournaments a player went to naturally based on what tournaments give elo inputs to a player...


I'm taking a break, I gotta do some work lol. I don't know how much flexibility we have with agora, could use some input from Bionic about all this. There is an assload of potential for features and functionality for smashboards that comes with this...
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
so much to address here:
-On pools: I agree that they should be rated. Zac, we should work on handling this
-On multiple events per tio file: I don't think this happens, so I'm with Zac that this ia not a problem, it's a design decision. Since we're only ranking melee singles (ATM), I don't think we're going to have any problems
-On tio interfaces: We're going to build a web interface that lets a TO Submit review and approve .tio files. It should be streamlined so that it requires "minimal clicks"
-On naming: I think cactuar's idea to use smashboards as much as possible is a good one. Any database will have a primary key, so if we keep our own ELO DB seperately from the main smashboards user accounts, they'd have a new primary key. Condensing these as much as possible is a good thing. Ideally it would be good to use the smashboards ID # as the ID #, and just try to add an additional field for ELO ranking. Then when someone is registering for a tournament, they could use any info to find their account (if they already have one). If there's a conflict, they can look at the info to figure out which one is which (i.e. am I from new york or LA, is my smashboards username mytummyhertz or UTDZac, etc).

If there's no internet a tournament venue, the TO could download a copy of the DB beforehand.


@Cactuar: We've approved ZB to come back here? Because we could really use his opinions to sort of K-Values and make sure that using pools for ratings won't somehow break everything (as well as figuring out what K-values to use for pools)
 

Nintendude

Smash Hero
Joined
Feb 23, 2006
Messages
5,024
Location
San Francisco
I'm pretty sure multiple events happen in a tio file all the time, especially because when you have huge tournaments with several rounds of pools and a bracket, each round of pools is handled as a separate event, and so is the bracket. At locals, doubles will be the most common second event in the tio file.

Linking smashboards ID numbers is a neat idea. What do we do about people without accounts though? Or people like Mango who were banned? Or people who use more than one account?

ZB should have access to here now. I'm surprised he hasn't posted yet.
 

Fortress | Sveet

▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
Joined
Dec 21, 2005
Messages
16,260
Location
Northern IL
I havent read all the details, but i know when creating an event in TIO they ask for the game and whether its singles or doubles. If needed, i could find the information in the XML for you.
 

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
I don't know how much flexibility we have with agora, could use some input from Bionic about all this. There is an assload of potential for features and functionality for smashboards that comes with this...
we basically have a lot of space and bandwidth so its not a problem

but for non-existent users, you can't create new users on the forum itself unfortunately. It's easy to make a "search list" of usernames and resulting userIDs but if a player doesn't exist, you can't create a new one.
 

Zivilyn Bane

Smash Master
Joined
Nov 18, 2004
Messages
3,119
Location
Springfield, MO
Sorry it took me a few days to post in here. I've been insanely busy and didn't want to post in here without reading everything so far. So anyways, thanks for bringing me in and here are my thoughts on several issues.

Ratings of pools: Pools should absolutely be rated. I understand that players will drop sets or not try hard and that could skew complete accuracy. However the one thing elo depends on the most for accurate ratings is quantity. By not rating pools, we end up with pro players that tend to stay in brackets longer having pretty accurate elo's, but everybody else all clumped together and only getting 2-3 rated matches per tournament. I wouldn't be entirely against using a smaller K value for pools though. Even then though I think a half K value might be too drastic. Maybe 75% would work. Only way to know on that one is to try it. That's something that could be changed down the road if we felt necessary.

Another thing to consider in pools was mentioned earlier. There's no way to tell the order of the matches. When I do the elo's for my monthlies, I use two different calculators. For pools, I use the USCF Ratings Estimator and base an individuals matches off his opponents rating from the beginning of a tournament. Basically the same as using a formula that Tirno mentioned earlier: R_A' = R_A + K(S_A - E_A). This way you don't have to know the order of the matches and you still get accurate results. The nice thing about pools that you don't get from brackets is an exact set result, like 2-1, 2-0, 1-2, 0-2. I experimented with the option of giving a player in pools partial credit for a 1-2 loss, but no penalty to the player that won. What I did was give a player with 2 wins in a set one full point, a player with one win a 1/3rd point, and a player with 0 zero points. It's an interesting idea and seemed to help make pools just a little more accurate. The downside? Players catch wind of it and let a friend get that 1 point off and somebody gets a boost. Also players already do that to help friends get out of pools. It has it's ups and downs. What do you guys think about that idea? Here's an example:
Player rated 1200 plays five guys in pools. Their ratings are 1000, 1100, 1200, 1300, 1400. He goes 2-0, 2-1, 2-0, 1-2, 1-2 (3-2 or 3.66-2). By using the USCF Ratings Estimator and a zero for a 1-2 loss the player ends up at 1227. If you give the player a 1/3rd win each for his two 1-2 losses, he ends up at 1280. There's a pretty big difference there and what it helps us to accomplish is recognizing a close set vs one that a player was dominated in. Any thoughts?

Rating Brackets: For brackets, I chose to use UTDZaks software and manually enter each result. This updates a players rating after each individual match. It is extremely important to calculate these results in chronological order to ensure accuracy. Somebody early explained how to do that: do each of the winners' bracket sets in ascending order, then do each of the losers' bracket sets in ascending order, then do the grand finals. Due to how the brackets work, this ensures correctness time-wise for all players involved in any ratings changes for a given match anyway. So whatever we do the software has to know how to do that.

Another thing I would like to recommend is not using a smaller K value for losers bracket. I understand a player sent the the losers bracket early on plays more matches, but the fact is the players lasting longer in the winners brackets are playing higher rated players for the most part. That should balance that issue out. Here is the problem with using smaller K values for losers bracket: Player A and Player B have the same rating. Player A loses round 1 winners, then wins 5 games in losers before dropping a final match. He gets 5th and ends up 5-2. Player B wins two games in winners and then loses two in a row, one in winners and one in losers, getting 9th with 2-2. By using a smaller K value in losers, Player B could actually end up with a higher rating even if they played opponents of the same average elo. This is just something that should not happen.

Money Matches: Somebody earlier mentioned potentially rating money matches. They should definitely not be rated. I know earlier I said more matches = more accuracy. The problem with money matches though is that a lot of the time it's "I'll MM your Pichu vs my Bowser." Those kinds of limitations on a players choices will do no good in keeping accurate ratings.

ID Numbers: I like this idea a lot. We do have a problem though with either using XXYY0000 codes that we create and players have to remember, or using smashboards IDs in which players without smashboards accounts cause a problem (and there's lots of them). What about using the 0000 section to allow the player to chose their particular unique id code? Or using last 4 of SSN? Or phone number suffix? Basically my thought is to use something that the player WILL remember. Just a thought.

Backlog: As far as backlogging tournaments goes, I personally don't think there should be a limit as to how old a tournament can be. I know with that there are going to be players like Ken who is rated just as high as HungryBox. The fact is though, that elo will reflect metagame. Ken was the best then, and his rating would reflect that. If you look at chess, Bobby Fischer is still the 3rd highest rated USCF player of all time. But what happens if you look up the top 100? He's not on there. What they do when making these lists is only show active players. USCF keeps a database of all players, active or not. But on their lists they only show active. They use a 12 month system. We could adopt that or use something like 6 months. For my monthlies, I was using 4 months. For our online database, we could have it sortable by "All" or "Active Only." Thoughts?

I will however state that I'm not completely against using a lower K value for tournaments past a certain age. But I wouldn't want to make that point be too soon, like 2011. I'd say Dec 2009 at the earliest would make sense in my opinion.

Ratings Decay: Another idea I am opposed to. Players come and go but what they have earned, they have earned. If somebody reaches a high elo of say 2000 and disappears for a long time, of course there is a good chance they'll come back weaker. The fact is though that elo can handle it and it'll adjust itself. Just let the math do it's thing. Besides there's no telling if a player will come back out of nowhere stronger than ever.

AKAs: Just a random thought. Starcraft: Brood War has a program called BWChart that can keep a database of players and their "AKA's." This way, Chillin, ChillinDude, and chillindude829 all get recognized as the same person. Is that something we'd be able to do? Here is what it looks like.

A Few things that should or should not affect K values: Of course, these are my own opinions. But I believe K values should not changed based off:
  • location in bracket (whether it's winners/losers or finals or round 1)
  • tournament location
  • attendance
However, K value could or should be changed based off:
  • Number of previously rated games by a player
  • Bracket vs Pools
  • Age of event
  • Rating of a player (higher rating = lower K value)

A Few More Random Thoughts: If anybody has TioPro, I will need some assistance converting a TioPro file to regular tio. I got the file for Zenith and I can't open it with regular tio.
For TOs that don't use Tio, I'd be happy to convert their files or bracket images.
Elo's for doubles: Shouldn't be any. Chess has a 2v2 variant called "Bug House" and in BH tournaments, teams are seeded by the average elo of their two players. Makes sense to me. But elo's should not be affected by the results of these events, and thus elo is for seeding only in 2v2. Maybe the plugin can have the option to automatically rank and seed players based off the average elo of the two players.

So yeah, those are my thoughts so far. Sorry it's such a long post but I had a lot to catch up on. There was one more thing I was thinking that shouldn't affect K value but I forgot. It's really late so please excuse me if anything I typed up makes no sense at all. Point it out and I'll explain it better lol.
 

Cactuar

El Fuego
BRoomer
Joined
Mar 10, 2006
Messages
4,823
Location
Philadephia, PA
Set win counts, no partials. No credit goes to a losing team, even if the game was close...


I would prefer you guys not use the backlog of tournaments for initial ratings.

we basically have a lot of space and bandwidth so its not a problem

but for non-existent users, you can't create new users on the forum itself unfortunately. It's easy to make a "search list" of usernames and resulting userIDs but if a player doesn't exist, you can't create a new one.
Yeah, I wouldn't want to be creating new players purely for the tournament. A prereq to being eligible for the elo listing would be a smashboards account, so I don't think that is an issue.
 

Nintendude

Smash Hero
Joined
Feb 23, 2006
Messages
5,024
Location
San Francisco
Player rated 1200 plays five guys in pools. Their ratings are 1000, 1100, 1200, 1300, 1400. He goes 2-0, 2-1, 2-0, 1-2, 1-2 (3-2 or 3.66-2). By using the USCF Ratings Estimator and a zero for a 1-2 loss the player ends up at 1227. If you give the player a 1/3rd win each for his two 1-2 losses, he ends up at 1280. There's a pretty big difference there and what it helps us to accomplish is recognizing a close set vs one that a player was dominated in. Any thoughts?
I have to go to work soon so I'll reply just to this point for now. I disagree with taking into account the score of a set because of the counterpick system. Sometimes people take a game off of someone way better because of a counterpick, and then get dominated in round 3. Others use game 1 to feel out their opponent and then win easily in the next 2 matches. I don't think that showing a set as 2-1 is better at indicating that a set was close because a 2-0 could have been two last stock high percent games.
 

Zivilyn Bane

Smash Master
Joined
Nov 18, 2004
Messages
3,119
Location
Springfield, MO
Ok that's cool I'm just as happy if not more so with a 1-2 loss being a zero.

However I have to disagree with Cactuar's opinion on not using a back log to get this whole thing started. Even if we do a cutoff point where events before a certain timeline won't be rated it will still help with accuracy. Like not using anything pre 2010 or something like that. The fact remains that elo is only as accurate as the quantity of results it computes. If we start rating tournaments the day the software is finished, it could take at least a year for players to have accurate ratings. If we can compile tournaments from Jan 2010 and onward, we'll start off with a very accurate measurements of where everybody stands.

If anything Cactuar, could you provide some insight as to why you don't think we should make these ratings retroactive?
 

Fortress | Sveet

▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
Joined
Dec 21, 2005
Messages
16,260
Location
Northern IL
Why not have an automatic cutoff time-range. For example 1 year or 18 months. Whenever the ELO is calculated (either at set intervals or programatically as the page is viewed) the program should just check the date of each tournament against the range.
Code:
foreach(Tournament t in tournamentArr)
{
if(t.Date > (TODAY - RANGE)
GenerateELO(t);
}

edit- in pools, it might be good to gain ELO in a game-by-game basis. I say this because pool ranking is goes Wins, Losses then Head to Head. This means, a player that is 9-5 would advance over a player who is 8-4 regardless of head to head or set count. For pools (and only pools) it would probably be best to count each game as an individual point value/ratio (obviously fractional of what the full set would be).
 

Cactuar

El Fuego
BRoomer
Joined
Mar 10, 2006
Messages
4,823
Location
Philadephia, PA
You were talking about Ken and I spaced out thinking that you were expecting to use a really dated range of tournaments. One year is fine for a starter imo.





@Sveet:

I don't know who wrote the thing for the pool rules, but it shouldn't actually be the way you have it. Last time I read the MBR recommended ruleset, I remember seeing that and thinking that it was wrong. Then I looked at who posted it and facepalmed.

The priority realistically should be:

Set Wins
In the case of a tie, Head to Head winner continues, no consideration for losses.
In the case of a 3 way+ tie, individual match scores are considered (match wins/losses).
In the case of a 3 way+ tie in all factors, it is played out between those players until the tie is broken.




Making the argument to count individual games in pools and not bracket just because it can be used as a tie-breaker in pools doesn't make sense either way.
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
I don't think we should do ratings decay or have a hard cutoff date, I'm with ZB in just using an older backlog to provide base rankings and updating with newer ones as tournaments come out.

I'm revising my opinion sveet, I think you're right about filtering events rather than demanding one event per file.

I think I'm going to start a google doc to spec this all out, as there are a lot of details and we all need to be able to collaborate. Here's my $.02:

If we want to have a complex involving ID#'s or something, that it imposes that the .tio files are going to have to store some of this data (at least the ELO ID) so that the updater knows what's going on when it reads the .tio file.

Because of that, I think what would make the most sense is to use a mix of gamertags and aka's with an ELO db. Here's how it would work: The elo DB keeps track of all the info (real name, rating, location, gamertags, smashboards ID, etc). Instead of having one unique gamertag for a given entity, you can have as many as you want. When .tio files are entered into the system, it looks up a player by checking each of the entries aka list until it finds a match, and that's the player. This has the advantage of :
1) Not requiring modifying .tio files to carry extra data
2) Protecting against spelling mistakes: (i'm often entered into tournaments as mytummyhurts, so that would just be one of my AKA's)
3) Not requiring gamers to memorize any new info

It has a disadvantage, which is that it doesn't allow non-unique gamertags. But I think once we get the system up and running, when someone is registering either a new account or adding an AKA, its very easy to check against existing records and tell them that they have to pick a new one. The only time we potentially could have a problem is when we're doing our initial rankings from backlogs, but if we're careful to build a good aka list, and to resolve duplicates (if there's a tommy in mississppi and in ny, one of them becomes tommy1), we should be fine
 

Cactuar

El Fuego
BRoomer
Joined
Mar 10, 2006
Messages
4,823
Location
Philadephia, PA
We should get into a skype conference call at some point to quickly move through some of this stuff.



Obligatory cheerleader troll.
*:troll:*
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
skype conference call is a good way to discuss, google doc is a good way to build a spec. we probably need both. i'll make a google doc later tonight
 

Zivilyn Bane

Smash Master
Joined
Nov 18, 2004
Messages
3,119
Location
Springfield, MO
You were talking about Ken and I spaced out thinking that you were expecting to use a really dated range of tournaments. One year is fine for a starter imo.
Ok that sounds fine. If everybody agrees with that, we should all agree on a start date in which events prior would not be included. I'm inclined to either go with January 1st, 2010; or July 9th, 2009 (first day of the first Genesis).
 
Top Bottom