I have played a lot of games in my life, and debating seemed most like chess to me. There are however, some differences. Where chess doesn’t have arbitrary goals, debates do. Also as the site owner I would prefer more debates as that creates more interest and more traffic. I’ve run into players in various games who don’t play because they want to protect their Elo, and I also don’t like how Elo systems force players to play within a tiny bracket of players to keep the win/loss numbers from destroying your Elo. I’ve seen people get to the top of the leaderboard and just sit there forever and not play. Lastly I didn’t like the small difference in points between a grandmaster and a new player.
My goals for this Elo system are as follows:
Incentives debating more
Punish those who don’t debate
Allow opponents in a bigger range
Expand the range to be more granular
If you don’t want to talk about math you might want to stop reading now because it’s about to get all about the math. So let’s talk about 1v1 debates, to correct the #4 I changed from a 3,000point system to a 10,000point system. (so a little bit more than three times as many points) Chess starts you out at 1,500, I start you out at 5,000. That means I need to change the rest of the chess numbers by at least a factor of 3. So an alternate way to show Elo strength is 10^current Elo/400, this is what’s used in standard chess Elo calculations. My increase from 3,000 to 10,000 should increase to 10^currently Elo/1300 but I wanted a bigger opponent range so I dropped it from 10 to 3 and increased it to 1,500.
The second variable in calculation Elo is K factor. In chess K factor is 32 for new players, then goes down to 24 at some arbitrary point. The higher the K factor the more dynamic the changes in the score. My system should have a K factor baseline of 80. I just wasn’t happy with this when I looked at the numbers. I read an article or two about the pros and cons of increasing the K factor and several suggested 32 was a better gauge than 24. But when I tried 110 it just wasn’t quite where I wanted the numbers to be. I settled with 150 baseline K factor.
To address new player’s K factor difference of +8 that in my system should be +27 in my system. I added a K factor bonus of 60 for the first 25 games, and 30 for games 26 through 50. It’s a bit higher to start out with, but then backs off. The problem I found was a new player shooting up the Elo. So, on the high end and low in I created a K factor minus:
9001 – 10000 – minus k80 
8001 – 9000 – minus k50 
7001 – 8000 – minus k20 
2001 – 3000 – minus k20 
1001 – 2000 minus k50 
0  1000 minus K80 
This way the far ends of the Elo system aren’t as dynamic as the middle section. Hopefully this will create more diversity and keep everyone from clumping up around 5,000.
Another factor is decision. This is taken directly from chess with a win =1, draw = .5 (half a win), and a loss = 0. (this changes when calculating tournaments because there are more grades of winning and losing but more on that in a bit)
Lastly I added a 20% bonus to winning Elo changes. This is the carrot to the decay stick. So, if you don’t debate in a style for a week in ranked or two weeks is causal your Elo will decay. The further from 5,000 you are the more strongly you will be pulled back toward the middle. This will prevent top debaters from gaining a rank, and then just sitting there, and to help to bring back people who did badly when they first started debating.
The decay is applied at 3am daily as follows:
9501 – 10,000 = minus 300 points 
9001 – 9500 = minus 270 points 
8501 – 9000 = minus 240 points 
8001 – 8500 = minus 200 points 
7001 – 8000 = minus 150 points 
6001 – 7000 = minus 100 points 
5001 – 5999 = minus 50 points 
5000 = No decay 
4001 – 4999 = plus 50 points 
3001 – 4000 = plus 100 points 
2001 – 3000 = plus 150 points 
1501 – 2000 = plus 200 points 
1001 – 1500 = plus 240 points 
501 – 1000 = plus 270 points 
0 – 500 = plus 300 points 
Here are some example Elo changes so you can see the system at work:
Example A: 
Creator current Elo of 5,000 new player, Contender Elo of 5,000 

Creator Str = 3^5,000/1500 = 39, and Contender Str = 3^5,000/1,500 = 39 

Creator K factors = 150 + 60 = 210 

Match Strength = 5,000 / (5,000 + 5,000) = .5 

Match change win= (210(1.5)) *1.2 = 126 

Match change draw = (210(.5.5)) = 0 

Match change loss = (210(0.5)) = 105 

So the Creator goes to 5,126 for a win, stays at 5,000 for a draw, and goes to 4895 with a loss. 
Example B: 
Creator current Elo of 6,000 with 100 debates in style, Contender Elo of 5,000 

Creator Str = 3^6,000/1500 = 81, and Contender Str = 3^5,000/1,500 = 39 

Creator K factors = 150 

Match Strength = 6,000 / (5,000 + 6,000) = .675 

Match change win= (150(1.675))*1.2 = 58.5 

Match change draw = (150(.5.675)) = 26 

Match change loss = (150(0.675)) = 101.3 

So the Creator goes to 6,059 for a win, goes to 5,974 for a draw, and goes to 5,899 with a loss. 
Example C: 
Creator current Elo of 4,000 with 100 debates in style, Contender Elo of 5,000 

Creator Str = 3^4,000/1500 = 19, and Contender Str = 3^5,000/1,500 = 39 

Creator K factors = 130 

Match Strength = 4,000 / (5,000 + 4,000) = .325 

Match change win= (150(1.325)) *1.2 = 121.5 

Match change draw = (150(.5.325)) = 26.3 

Match change loss = (150(0.325)) = 48.8 

So the Creator goes to 4,122 for a win, goes to 4,026 for a draw, and goes to 3,951 with a loss. 
I think Example B and C show how my system makes a debate with an Elo difference of 1,000 reasonable, and encourages more debating.
Random matches
Any match that has a random Elo change also has a style Elo change. The random Elo is calculated the same way as above, but because not all debates in a style will be random, and not all random debates will be in the same style there could be situations where you lose style Elo but gain random Elo, or vice versa.
Two headed giant matches
The only difference in 2HG is that contender strength is the average of both debaters on the opposing team, all other calculations from that point forward are the same.
Tournaments
Well now things get interesting with the decisions part of the calculating Elo. To make my life easy I have removed ties when calculating Tournament Elo.
To choose the rankings in a tournament we use the following chart:
Most wins
Highest total number of points awarded in this tournament
Highest number of debates in this style
Highest total number of debates
Old user creation date
Randomly chosen (In scenarios where a tournament starts with multiple empty slots)
Example 1: 
No one wins any rounds (B first style, A second points, C third total debates, D fourth) 

UserA 4 points against UserB, 10 style, 50 total, 612017 creation date 

UserB 4 points against A, 20 style, 80 total, 632017 creation date 

UserC 0 points, 0 in style, 40 total, 642017 creation date 

UserD 0 points, 0 in style, 30 total, 652017 creation date 

R1 A and B (tie) – No wins, points tie, B wins style (B moves on) 

R1 C and D (tie) – No wins, no points, no style, C wins total debates (C moves on) 

Finals B and C (tie) 

Even though C goes to final, A has points so A is second 
Example 2: 
A wins first, rest are ties (A first win, D second style, B third total, C fourth) 

UserA 1 win, 4 points against B, 10 in style, 50 total, 612017 creation date 

UserB0 wins, 0 points against A, 0 in style, 80 total, 632017 creation date 

UserC 0 wins, 0 points, 0 in style, 40 total, 642017 creation date 

UserD 0 wins, 0 points, 5 in style, 30 total, 652017 creation date 

R1 A and B (A win) – A has win (A moves on) 

R1 C and D (tie)– D moves one because of style 

Finals A and D (tie) 
In bigger tournaments, this is just expanded to decide placement in worst case scenarios. The preferred method to choose placement is by wins, if wins are a tie then total points for the debate, and so on. This is done so that the number and rank of debaters at the end of the tournament doesn’t change. If it’s a fourman tournament there WILL be four different places every tournament. Otherwise the values of the decisions would fluctuate, and require a complex algorithm to expand and contract as the number of debater’s changes (empty spots) or ties happen changing the number of decision points.
As I showed above in a 1v1 debate you can get a win, a draw, or a loss. These are represented mathematically by 1, .5, and 0.
For tournament we have the following mathematical representations:
4 man 
First = 1, Second = .6666, Third = .3333, Fourth = 0 
8 man 
First = 1, Second = .8572, Third = .7144, Fourth = .5716, Fifth = .4288, Sixth = .286, Seventh = .1432, Eighth = 0 
16 man 
First = 1, Second = .9334, Third = .8668, Fourth = .8002, Fifth = .7336, Sixth = .667, Seventh = .6004, Eighth = .5338, Ninth = .4672, Tenth = .4006, Eleventh = .334, Twelfth = .2674, Thirteenth = .2008, Fourteenth = .1342, Fifteenth = .0676, Sixteenth = 0 
You notice that First is always 1 and last is always zero, and the difference between the middle places gets smaller as the tournament gets bigger. This means you still “win” in a 16 man if you come in Eighth. (because you are over .5 which is a draw in 1v1) The numbers are split to the 4th decimal to make them as exact as possible, but there are remainders which hurt last the most.
The baseline K factor for tournaments is also increased from 150 to 200 because of the longer time requirements for tournaments. This always for more dynamic changes in your tournament Elo than any other Elo.
In closing
I would be remiss to not bring up cheating. I hold no illusions about my ability to create a system that has no loopholes or the possibility of creating a system that is impossible to cheat in.I have used several methods to deter cheating but I feel like I need to add another. You are unable to vote on debates until you have completed 5 debates. Completing a debate with the same user within 7 days of completing another debate with the same user will not provide any Elo change for either user.
I have attempted to be transparent with this site. Hopefully this system makes people want to debate more, debate a wider range of opponents, and have fun. I feel like my system has achieved all the goals I set out for it, and I hope you are as happy with it as I am. I hope you enjoy this site built for debating, and happy debating!
Mark