@max334 Hi Max. I was traveling the whole week for a work. I will play later today, sorry for the delay.
The new ELO-based ranking system
-
Liking relative over absolute references I have stumbled upon my disfavor for parameters at will - and might have found a flaw in the currently proposed system!
What we probably want to avoid next to circular references is possible division by zero. This would occur, however, if RAold was by 50 higher than RB? Going further my first projection to fix is
EA = 0,5 * (1+ (RAold-RBold)/(1+Rmax-Rmin))
with Rmax (Rmin) being highest (lowest) League rating
Intention is that EA for equally strong players results in 1/2 and EA for strongest versus weakest player is near 1 …
I am not sure yet if smart starting rating is at null or 1k or 1.5k or else. But what appears to me is that there is plenty of more elaboration needed to create a flawless system!! Hey, I would be in; it looks to be fun!
Meanwhile we should consider as
@Martin said in League General Discussion Thread:@MrRoboto thank you for this analysis, and well presented! The ELO system was suggested a few times during the last years, and I also strongly support it. And as I stated before, there are plenty of management systems available which would ease the job of the score keeper / league manager.
-
-
@pacifiersboard said in Proposal for a new, ELO-based, ranking system:
What we probably want to avoid next to circular references is possible division by zero. This would occur, however, if RAold was by 50 higher than RB?
I’m not sure where in the formula @MrRoboto posted it is possible to divide by zero anywhere, R(b)-R(a) is the denominator but is not the complete denominator, you would have a denominator of 1. So in the case of exactly even ratings, E(a) = 1.
However I could see this being an issue as that would make the winner get 0 points if I’m understanding correctly:
R(a)+K*(S-E(a))
E(a) = 1, S=1 for a win, so S-E(a) = 0.
K*(0) = 0
R(a)new = R(a)old + 0 -
I am going by memory here, over 10 years, so this may not be totally accurate, however I do think it is still a good example. As I recall, at Days of Infamy, each game was worth something like +15 points to the winner and -15 points to the loser. Then for each threshold of X points (I think it was 15 too but it could have been 10, 20 or 30) the reward and penalty would drop by a point. Thus if the two players were within 15 points of each other the game was worth +15 W and -15 L. If they were 100 points apart, 100/15 = 6.66, then it was +9 W and -9 L. The most any player could score in one game was +29 and the most anyone could lose was also -29.
Now I am not saying we duplicate the points. What I am saying is the larger the gap between the two ratings the less and more the points should be worth for winning or losing. BUT, there has to be a standard amount for winning/losing a game against an equal opponent. It is just as difficult for a Tier 2 player to beat another Tier 2 player as it is for a M player to beat another M player. Both winners should go up while both losers should go down by a standard amount. Any system that does not award points for beating an qual opponent makes no sense at all.
-
So in the case of exactly even ratings, E(a) = 1.
However I could see this being an issue as that would make the winner get 0 points if I’m understanding correctly:
I read it as a multiplication but the formula is actually an Exponent, so having exactly even rated opponents results in an E(a) of 2, not 1.
That means that the points awarded to the winner will be significant. If they are in the 70-point stage for K, it will award the full 70 points to the winner and deduct from the loser’s ELO.
-
@AndrewAAGamer Yes, ELO will not award 0 points for winning against an evenly matched player. The points awarded for winning against an evenly matched player are more than for a player ranked below you, and less than for a player ranked above you.
For example if I played you in OOB, your ELO is 1774. It would be my first game in OOB, and so my ELO is 1500, and my K value would be 140. Your K would be 70 as you have already completed at least 10 games.
If I won, I would receive 109 points,
And you would lose 55 points-
-
For evenly matched players, if the ELO is exactly the same, it should award/deduct whatever the K value in points is for the winning/losing players.
-
@mr_stucifer said in Proposal for a new, ELO-based, ranking system:
So in the case of exactly even ratings, E(a) = 1.
However I could see this being an issue as that would make the winner get 0 points if I’m understanding correctly:
I read it as a multiplication but the formula is actually an Exponent, so having exactly even rated opponents results in an E(a) of 2, not 1.
That means that the points awarded to the winner will be significant. If they are in the 70-point stage for K, it will award the full 70 points to the winner and deduct from the loser’s ELO.
Oh, I had misread it as a multiplication, too!
-
Okay - so all this math is WAY over my head. As long as all you math nerds know what you are doing, I feel fine in your hands.
-
Okay so you guys figured it out already ;-)
There is no mistake in the formula and divide by zero is never possible.
1+10^(x) would have to be zero for that.
but 10^x is always positive.
.
.@AndrewAAGamer said in Proposal for a new, ELO-based, ranking system:
BUT, there has to be a standard amount for winning/losing a game against an equal opponent. It is just as difficult for a Tier 2 player to beat another Tier 2 player as it is for a M player to beat another M player. Both winners should go up while both losers should go down by a standard amount. Any system that does not award points for beating an qual opponent makes no sense at all.
And this is the case.
Have a look at some theoretical results I just entered in (I was too lazy to search for actual ones, but I’m sure there are some)
If equal players of any level play against each other, the result is always the same.
@farmboy and @trulpen are basically the same skill level so Ea=1/2 and K-factor with these number of games is 70.
Same with @aagamerz13 and @Odonis
Or with @Sovietishcat and @oysteiloIf the best player against the worst player wins, barely anything will happen though:
@pacifiersboard
Thank you for digging in and trying to find flaws in my system. Highly appreciated! This whole project can only benefit when people are trying to optimize it.
We already cleared your misconception of the current formula. Additionally, your proposal would also be dependent on the highest and lowest rating. This would mean that past results would retroactively change ELO change WHENEVER the highest or lowest ELO changes. Highly problematic! This also creates circular references again. -
New feature just added:
You can filter the Results tab for a specific player! Just type in the name of the player at the top, in the highlighted cell.
You can also filter for:
Type (BM4, OOB or PtV)
Wins
Losses
Axis
Allies -
@MrRoboto And that feature takes the place of the PVP matrix I’ve been doing, so that particular information is not lost -
Great!!
-
This new system and calculation sheet looks great!
I am new to the league, but I could already see a few disadvantages of the old system - that have now been addressed by the new system.
Great work!
💪But, unfortunately, I cannot support any system that changes my league standing from #1 to #17
😅😜🤪😈 -
@MrRoboto I was enjoying seeing standings change as the results come in.
I can’t really expect any system to get things exactly right. As long as players of comparable level are ranked close to each other that would be enough. And that certainly seems to me to be happening here. That being said, I suspect that more data will still make some significant changes to what the standings are. I expect that players like Adam and Axis-D (and JDOW when he appears) and a couple of others will move up relative to the rest of us, and a few others (like me) will consequently move down a bit.
I’m happy to add some data when I have the time. But right now this is only read only for me so not sure how to do that.
The other thing I still have a concern around is the yearly playoffs. If we want a playoffs based on the top 8 (or top 16 as ghostglider suggested) in a given year, I’m not sure how we pull that data from this (such that one’s lifetime ranking doesn’t impact it). I’m sure there is a way but am curious what the thinking is there.
-
Thanks for the input @farmboy
Axis-Dominion is already #2 so when you say you expect him to move up, I’m a bit scared ;-)
JDOW has only 1 recorded game since February 2021 (where the data stops right now), I’m also curious to see where he stands when we add earlier data.The file is read only, besides the “Results” sheet, where all of you can filter for names, but also for sides (axis or allies), for winners and losers or for type (oob, bm4 or ptv).
If you want to contribute by adding more data, mr_stucifer has created a new spreadsheet and shared it with me, for example
-
Actually, I just added a new sheet, you SHOULD all be able to edit it.
That way we don’t have duplicate data in case more than 1 person is adding in data at the same time.There are only 6 cells per result to enter:
Type (BM4, OOB or PtV)
Date
Axis
Allies
Winner
Bid -
@MrRoboto I’m not sure why but I still am unable to put info in. I can’t use the filter either.
AD is ranked fractionally better than me right now. And Adam is fractionally worse But based on their record over the past few years (they and JDOW are regularly ranked 1,2 and 3 of playoff eligible players) I expect we are going to see them move further ahead and put some distance with the rest of us once we input more data. It would be deserved.
-
I did do feb 2021 and sent it to Roboto in case anyone else was going to work on this
-
@farmboy Thanks, I expect to have some time tonight to keep working on it so I’ll plan on Oct-Dec 2020 and January 2021
-
October 2020 - January 2021 is now complete, @MrRoboto can update when he has time.
-
@Gorshak said in Proposal for a new, ELO-based, ranking system:
But, unfortunately, I cannot support any system that changes my league standing from #1 to #17
😅😜🤪😈There’s one really effective way to remedy that…
Wait, how did you do emojis? As images?