The new ELO-based ranking system


  • I did do feb 2021 and sent it to Roboto in case anyone else was going to work on this

  • 2024 2023

    @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

  • 2024 2023

    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?

  • 2024 2023

    @gamerman01 you can use them if your keyboard supports it (like from mobile) 🤓

    I use emojidb.org when on desktop to copy (it seems like the most user-friendly one I’ve found so far)


  • 🔥🔥🔥🔥

    Got it, thanks, just what I needed, you are fast


  • @farmboy said in Proposal for a new, ELO-based, ranking system:

    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.

    Right… and I would add, high level of predictability as to who will win. Of course, the greater the difference, the higher the predictability should be

    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.

    The ratings crossing years is new and exciting, and like you, I can’t wait to see how Babe Ruth matches up against Derek Jeter, though arguments can still remain 😆

    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.

    Some of the top goals of the system we’ve been using for many years has been

    1. Clean 0-0 record every year, while allowing past years’ results to have some impact.
    2. Annual playoff focus - the system was designed as an improvement of simple win/loss % while maintaining a focus on post-season playoffs.

    The following is not to be down on the new ELO system that has many big improvements, but is a demonstration of the quandary that farmboy poses. How do you get a good playoff matchup each year and get good annual ELO results without taking into account any information that occurred before January 1 of this year?

    I resisted ELO for years because the rating only goes up or down a limited amount per game, and everyone starts in the same place. If God plays against a tomato, His rating goes from 1500 to 1560, and the tomato’s goes from 1500 to 1440. They would have to play a lot of games before God gets to the perfect 3,000 (indeed it may even be impossible for Him if there is not strong enough competition to play against) and before the tomato goes down to its rightful 0000.

    ELO does not do well in our league within a single year and creating good playoff matchups based on that year, and one reason is one player is playing 6 games (the minimum for playoff) and another is playing 50, and everyone else is in between.

    However, like farmboy I think there’s some kind of solution.

    Without even thinking very long and hard about it, I think it involves factoring in lifetime results, or results over the past few years.


  • In response to the complaints/criticisms about “circular references”, there is a very good reason for why points are adjusted after a past opponent changes tiers.
    Just one example is when we get a new-comer to the league who’s actually a veteran of A&A and online Triple A. They come in as a completely unknown quantity, one of our guys graciously takes him on, and the new-comer blindsides him. All we know is he’s 1-0. He continues to win, and at the end of the year he has a real nice 5.67 average.

    Under the current system the first guy and the second guy, and the third guy who faced him and got ambushed are adjusted up as this new guy rises tiers, and rightly so. They played against strong competition and lost.

    With ELO, there is no correction whatsoever - if you lose against a newcomer, it makes no difference whatsoever how good he actually is.

    In the past, the complaint has been that your average points per game will lower even if you win. This presupposes that the goal of the ranking system is to earn points and see how high you can get. If that is your goal, then you won’t take on a player more than a tier or two below you because you dont’ want your average to drop. But not everyone is like that. Maximum points has never been the #1 goal of the ranking system. Sizing up the strength of your potential opponent, having a clean slate each year while also taking into account historical strength in making good playoff matchups have been higher goals. The misconception is quite understandable, but players with this complaint do not understand the ordering of these priorities.

    Now doesn’t this mean it’s much riskier to play a newcomer under ELO? Under the current system, if it turns out he’s a wiz, you get credit for that if he plays a few games before year-end. Under ELO, your score will go up when you beat him in his first game here, but there is absolutely no account for how good that player actually was or is. He’s just another 1500.


  • And man this part annoys me! Maybe you are using the wrong term.

    A circular reference is “a formula that visits its own or another cell more than once in its chain of calculations, creating an infinite loop.”

    There are no circular references. There isn’t even a formula. There are no infinite loops.
    You can take any given player at any given time and tally up the points from each player they’ve defeated, in that player’s current tier which is always known, and similarly with each loss.

    The major strength of this characteristic of the past system is that anyone, especially me, can accurately verify exactly how many points divided by how many games and error check. A player can see exactly why his average is what it is.

    There is no circular reference. There is no infinte loop.
    I do understand that there are instances where it matters which result is put in, in which order. I have never seen how this makes any significant difference, and the fact remains, every average can be verified by the wins and losses against various tiers. I don’t think a player is going to be 5.43 instead of 5.20 because of this novelty exception.

    Anyway.

    I am only trying to educate and work together to make the ELO system as awesome as it can be.
    The lifetime, multi-year results are awesome, and are quite accurate because there is more data than in a single year and the inherent limitation of players with only 1 or 3 games played is overcome by the large quantity of data.

    We’ll figure out how to make good single year results and playoffs, which have always been the top priorities of league play.


  • I understand it will come across that I am angry and defensive because “my” rankings are being criticized and shoved to the side, but that is really not why I’m writing this way.

    I am enthusiastic and entering data and validating data and working with MrRoboto and his (to me) incredible prowess with formulas, spreadsheets, math, and computers in general,
    And I am super excited about the multi-year data and how the results are stacking up like for the past 3 years to look very accurate to me. With a database and queries, filters, sorting etc the sky is the limit. And it would have been good if this happened 10 years ago.

    So! Don’t get me wrong.

    I just really want to educate when I see, even constructive and well-meaning and intelligent criticisms, that are made without understanding all angles/factors/history/theory.

    Not to mention it’s fun.


  • @gamerman01 said in Proposal for a new, ELO-based, ranking system:

    We’ll figure out how to make good single year results and playoffs, which have always been the top priorities of league play.

    What you write doesn’t read to me as you were pissed but readjusting focus!


  • So issues are that

    • main period of time is each legal year,
    • relevant strength of a player is the one at the last day of a year or its full length average?
  • '19 '18

    I know we basically already decided to go for the new system, but gamerman felt the need to clear up some things that are wrong in his opinion. And I do too.

    Your old spreadsheet only had no formulas, because you did everything manually. I could do the ELO system completely manually too, it’s not high math. This stuff is taught in high school.

    But once you try to autmate it, you will need formulas. In fact that’s exactly what I did with the old PPG-system and Google Sheet immediately alerted me, that there are circular references. I had to enable iterative calculations and limit the loops to 50 calculations, since there are, in fact, infinite loops.
    This is done with File -> Settings -> Calculations.
    Without that, the spreadsheet would give only errors.
    You can check out my automated version here:
    https://docs.google.com/spreadsheets/d/1_agqROzXQHWdmmiCJXGs3oFARJ29euk6MHPXoQ-0wlI/

    I already showed it to you multiple times, but I can try it one more time, this time a bit more detailed.

    The cell with the Tier ranking (A) looks at the PPG-cell (B)
    The PPG-Cell (B) is just total points © divided by number of games.
    Total points looks at all the individual points a result has awarded. Let’s say there are 10 results for a specific player, so total points looks at 10 different cells, we can call them R1-R10. Now you just added these points manually and it’s almost impossible to determine which summand refers to which specific result. But even manually all of these 10 summands depend on the tier of the opponent.
    So R1-10 look at the cells with the tier of the different opponents, let’s call them O1-O10.
    O1-10 looks at PPG (B1-B10).
    PPG (B1-B10) look at total points of these players (TP1 - TP10).
    But in these cells TP1-TP10 are obviously summands that include the result against the original player so all of these look at cell A.
    And there is already the loop.

    All of that because you want to cover the very specific case of a newcomer being a tomato or a god.
    I do admit that this very specific case can be covered with the old PPG system a tiny bit better. The Elo-System has the K-factor for that very reason. I mean look at Adam, he is not even a god (since he lost 1 game) and still climbed to #5 with only 7 games. 2 of the 6 wins are against low level players and 2 other against medium ones.
    In your extreme case, god would crush even elite players and climb to #1 within 4 (FOUR!) games.

    The one downside with the current system is that the established player would still lose points to a newcomer that might be a god. (or gain some against a tomato). There is no beating around the bush, the first 2, maybe 3 games are not covered by this extreme case.

    jkeller (the current #1) would lose 68 points against a newcomer.
    Axis-Dominion (the new #1) would still lose 62 if he lost against the new god.
    jkeller would reclaim #1 and if he lost again, would lose 51 points.
    With the 4th win against then #1 Axis-Dominion, the new god already is #1.

    283aba54-76d9-47f0-83b0-08d280e2fa83-image.png

    e86d2838-5c9a-4d07-8a93-0ababcccd036-image.png

    So for 2, MAYBE 3 games there is an argument that the established players would lose a bit too many points. However, as I already said, that’s the absolute extreme case and I wonder if this ever happened.

    The old PPG would treat these 2-3 games a bit more fairly but sacrifices soooo many things for that (I already listed them all).

    Concerning the playoff qualifications:
    We can just use 6 games played the last year as a requirement.
    The more recent games (the last year) always has a much much much bigger impact on the ELO rating.

    If you are a top10 player on Jan1 but perform poorly during the year with at least 6 completed games, there is no chance you keep the ranking and you WILL drop out of the top10.
    On the other hand, even if you are far from #10, you can easily climb to top10 if you perform accordingly.
    I just showed you how fast you can get to #1.
    So just takes the best 8 (or how many playoff spots there are) that have completed at least 6 games this year and voila: You’ll most likely have the 8 best AT THE MOMENT, which automatically also means best 8 of the year.

  • '19 '18

    Sorry, my mistake. Wrong year.
    My bad!


  • @MrRoboto

    would you also like to share a local copy of the new file with formulae? I am interested in getting it to my sandbox :)


  • @MrRoboto I deleted the post for you

    It’s a firm point that the system I maintained was vulnerable to human error, and I relied on players to catch the occasional error that I would make.

    I’m not arguing against a new and improved system, as I made very clear. I don’t have time to answer point by point, nor is there any need. I don’t think you understand all of the nuances and benefits of what we’ve been relying on, but it doesn’t matter.

  • '19 '18


  • @MrRoboto said in Proposal for a new, ELO-based, ranking system:

    But once you try to autmate it, you will need formulas. In fact that’s exactly what I did with the old PPG-system and Google Sheet immediately alerted me, that there are circular references. I had to enable iterative calculations and limit the loops to 50 calculations, since there are, in fact, infinite loops.
    This is done with File -> Settings -> Calculations.
    Without that, the spreadsheet would give only errors.
    You can check out my automated version here:
    https://docs.google.com/spreadsheets/d/1_agqROzXQHWdmmiCJXGs3oFARJ29euk6MHPXoQ-0wlI/

    I already showed it to you multiple times, but I can try it one more time, this time a bit more detailed.

    The cell with the Tier ranking (A) looks at the PPG-cell (B)
    The PPG-Cell (B) is just total points © divided by number of games.
    Total points looks at all the individual points a result has awarded. Let’s say there are 10 results for a specific player, so total points looks at 10 different cells, we can call them R1-R10. Now you just added these points manually and it’s almost impossible to determine which summand refers to which specific result. But even manually all of these 10 summands depend on the tier of the opponent.
    So R1-10 look at the cells with the tier of the different opponents, let’s call them O1-O10.
    O1-10 looks at PPG (B1-B10).
    PPG (B1-B10) look at total points of these players (TP1 - TP10).
    But in these cells TP1-TP10 are obviously summands that include the result against the original player so all of these look at cell A.
    And there is already the loop.

    As you said at the beginning, “once you try to automate it”. So we are each talking about a different thing. I merely asserted that there are no circular references to the (manual) system. You are saying there are circular references if you try to automate it. There is no impasse.

    I have been doing the system that shows average points per game while at the same time reflecting the current tier situation of all players. You’re saying the computer can’t do that. Score a rare win for humanity.

    I want the system automated and I want the ELO spreadsheet to be “it”, starting 1/1/24, so discussions about the different features of both systems is purely academic, OTHER THAN to demonstrate what features we would be losing if we don’t take a look at them and decide whether we can live without them or whether we should work together to find a way to duplicate, replicate, preserve features we don’t want to lose.

    So it seems that on the table right now is playoffs. Pretty sure vast majority want optional annual playoffs for each major version played.
    The fact is, with lifetime ELO, some players start the year out ahead of others, and the ELO at the end of the year is largely reflective of most recent games, but not entirely. This is not necessarily a problem. It’s just one of the issues that needs to be discussed since we have a significant system change.


  • @MrRoboto

    thx! I meant a copy of the ELO file that is enabling some (local) experimentation

  • 2024 2023

    @gamerman01

    The fact is, with lifetime ELO, some players start the year out ahead of others, and the ELO at the end of the year is largely reflective of most recent games, but not entirely. This is not necessarily a problem. It’s just one of the issues that needs to be discussed since we have a significant system change.

    One idea: make a separate sheet for the Yearly rankings that takes the player’s Lifetime Ranking at the start of the year as their starting ELO, then only include the games from the year. Not sure how to calibrate the K value for that, maybe have all at the middle number for 10+ games played (90). Can be discussed.

    That way, Lifetime players with high ELO are still recognized for their skill but someone that makes a lot of progress in a new year can move up more rapidly even if they played a lot of games previously. And someone that loses a lot of games that year would move down more rapidly.

    However to @MrRoboto 's point, the K value is already large with the K at 70 giving a 35-point swing for even ELO matchups, and upsets quite a bit more than that, it seems like just using the Lifetime rating should suffice for making brackets. 🤔🤔

Suggested Topics

  • 9
  • 11
  • 29
  • 33
  • 106
  • 102
  • 134
  • 158
Axis & Allies Boardgaming Custom Painted Miniatures

295

Online

17.3k

Users

39.8k

Topics

1.7m

Posts