PSA: You cannot lower the starting Elo. Don't recommend it, don't try it

There has been an ongoing conversation about making the game easier for newcomers. Quite a lot of folk, understandably, think that the average starting point is too high. If you are an absolute beginner to AoE2 and jump into playing online ranked games, you will at least lose over a dozen games before you win your first match. There have been folks who lost over 20 games before winning a single match. Naturally, this will put off most people from playing online ranked games.

One commonly proposed solution to this is to lower starting Elo of newcomers. So, instead of starting at 1000, let people start at, say, an Elo of 500. To be a little more precise, what you do is to guess the average elo of all new players and then set the starting Elo to that.

You should not do this.

I will give a very rough explanation here, which should be straightforward and easy to understand. There are a few video links at the bottom for the folks who are more curious.

Elo works with a pool of points which are transferred across players. When someone wins a game, they take points from their opponent and when they lose, they give up points. The exact amount of points will depend upon the elo disparity, but what one player loses, the other player gains.

So, let’s say that we have a game with just 3 players. We’ll call them Adam, Bob and Chris. All of them start at 1000 Elo. Regardless of how many games they play, the total Elo point we have in the pool is just 3000. This means, if Adam has an incredible win streak of like 100 games and gets an Elo of 2500, only 500 point are left for the remaining two. So, their scores can be 200 and 300, or 150 and 350, or something like that.

Now, let’s say you lower the starting Elo because Adam is too dominant. You add a new player, Dan. He only gets 500 Elo at the start. You see the problem here? The total pool is now just, 3500. This means that if everyone suddenly became equally skilled, the Elo for everyone is 875. Lowering the starting Elo has pulled down the average Elo.

However, things will get worse. After adding a lot more players, the average Elo will now be close to 500. Now, you start running into the same problem again. New players added will now encounter average players, just as they did when the starting Elo was 1000. You have not only not solved the problem, you’ve made it worse. Because by the same approach, you now need to lower the starting Elo to, say, 100. Or 0. Or -100. You can just give everyone 500 Elo for free to balance this out, but then you are back to the starting point again.

There is also another problem with this. Since Elo is being pulled down, lower Elo player will start getting matched up with higher Elo players more often. This will reduce the average win rate of low elo players from around 50% now to, say, 40%. I don’t think that’s a good idea.

So, how do you fix this?
I will just explain this with the basic Elo system, proposed by Arpad Elo way back in the 60s. Microsoft has since developed and refined their own Elo system. But that is beyond the scope of this post.

There are two formulas in the original system. First one is used to calculate the success probability of the players when two players of known Elos match. What is of interest to us, however, is the second formula. This formula dictates how many points are transferred between players upon a win/loss.

Let’s say that two players of Elos 1000 and 1002 have a match, and the 1002 Elo player wins. How many points should they get from the other player? 10? 15? 50?

What happens if a player with Elo 1000 matches against a player with Elo 2400? In this matchup, the success chance for the 1000 Elo player is less than 0.0001%. So, if the 2400 Elo player wins, they should only get like, 1 point. However, if the 1000 Elo player wins, that’s a huge upset. They should get a LOT more points.

This was originally encapsulated in something known as k-factor. Various models have since used one or more than one variable(s) to model this idea. This is what needs to change. So, let’s say that a new player will lose around 30 points for each match lost/won for the first 20 games. That would ease the transition a lot more. What if they lose 100 points? You can’t do this because the opponent will have to gain those 100 points, and that’ll mess up the system.

So, yeah. You cannot mess with the starting Elo. That’ll only lead to absolute chaos. There are ways to get around this, but that can be extremely complicated, and often not worth it. Also, Microsoft has its own proprietary Elo rating system which might have other limitations/behaviours.

If you see someone say this in the comments, just link this thread. Let’s root out this misconception once and for all.

6 Likes

great summary, i see this being suggested about twice a month from people who dont understand how elo works.

Tiny nitpick: In maths we canonically go with Alice, Bob, Charlie :smiley:

4 Likes

Good explanation.

That would be me!

4 Likes

Yep.
For the Same reason most chess players have a higher rating on lichess than on chess.com. lichess starts new Players with 1500Elo and chess.com with 1200.
Which then afterall becomes roughly the overall average.

1 Like

While i do agree with you on most of your points, you aren’t right about the current situation of new player vs old player. The k-factor used by the devs will not be the same. The new player gets a higher k-factor and will gain or lose much more points then the old player will gain or lose in the same game. So currently elo isnt a zero sum game in AoE2.

Nope. Elo system, at least the original and most iterations afterwards, are zero-sum. K factor only decides how much elo is transferred across Elos. Let me explain.
Let’s say that two players of 1000 and 1002 have a match and the 1000 Elo player wins. With a high K factor, the winning player gains 50 Elo, and the losing player loses 50. With a low Elo, the winning player gains 10 Elo, and the losing player loses 10 Elo. Total Elo remains the same in either case.

EDIT: It is possible to have systems where the elo transfer is not even. However, the average will still converge, as GermanAttorney8 pointed out below. It’s not just that it might converge, it has to converge. Meaning, it should be 1000 (or whatever the starting elo is) with infinite number of players, as long as the skill level of players remain relatively the same. However, this is a far more complex topic. Just look at those videos and advanced Elo models. You will have a rough understanding of what I mean.

It mostly is zero sum - in different implementations the K factor of two players can differ, but the average generally converges to base.

1 Like

I lower my own elo by just quitting a bunch of times, then trying a game and seeing how badly I get beaten.

I disagree. I think the starting elo should be 700. The average elso should be nonetheless around 1000. This should be done by giving more points for winning for new players.

Also the average elo by all players should be tracked. If it falls from 1000 to 950 for example, all players should gain more elo when they win than what they lose. For example winning players gain 18, losers lose 16, until the average elo is 1000 again.

A lower starting elo is important, because many players shy away from ranked, because it is too hard.

Other games also show that elo can work differently. For example chess com and Lichess just slightly different elo systems. You start at 1500 at both, but when you are new you win and lose more elo on Lichess. Therefore players say that the elo at Lichess is inflated by around 200 points. But it would be fixable if the starting elo was 1300.

I do understand how elo works. Base elo how it is invented is zero sum. AoE2 doesnt use base elo, but and adjusted version:

  • New players get a higher k-factor. Default value seem to be 32. But i do think new players start with a higher value. I think it is about 80-100. As result new players start with gaining or losing about 40-50 elo in there first games. After some games it will converge to the 16 on average. If you are matched against such player, then your elo is still adjusted based on your k-factor.
  • i dont know the exact cut off, but above some threshold the k-factor will be divided by two. That is somewhere above 2300 or something like that. I dont know how the game deals with the case if someone above and below this threshold are matched. I belief that both players will have a different k-factor.
    As result of these adjustments in the current system elo in AoE2 isnt zero sum, but close to zero sum.

Personally i wouldnt really mind if the k-factor for like the first 10 games is doubled compare to the current implementation. That will mean that people will converge quicker to their true rating. That doesnt have a big impact on the average rating, but will result in less losses for new players that are more likely to be lower rated players.

I do agree that lowering the starting elo isnt a solution to the problem due to the nature of how elo works.

1 Like

This is not how elo should work. If you gain more for winning then losing by a loss, then you will get inflated ratings. In that case ratings doesnt reflex only skill. They also reflect play rate. That will result less balanced match ups.

If you want the starting elo to be 700 elo, but the average at 1000, then you have to scale all elo periodically. But because you have to do that, you kinda confess that the rating system is bad. So that is just not a solution for the problem.

2 Likes

Of course. As I mentioned in the post, Microsoft has its own Elo system.

That is not usually the case. You use some logarithmic drop. But again, you need to dig into the actual system, which neither of us know exactly. I don’t even know if the system is openly available for us to check.

Let us leave the exact details to the people who have implemented it. I don’t know if they use a single variable system like the k value, or they have something else.

But ultimately, we agree. You can’t reduce the starting elo.

I don’t mean to offend you, but your opinion is irrelevant here, as long as you don’t know the exact system. You can say that you aren’t satisfied. I am not happy with it either. However, your solution has so many problems that it is not really useful.

If you really want this, propose the 2 basic formulas, and then modification procedure, and the correction step that you want to take. Then, you will have to explain why your system is better.

It’s just higher, it might not be inflated. To check inflation, you need to check for the flatness of the distribution, which is a different thing.

You can say that you aren’t satisfied. I am not happy with it either. However, your solution has so many problems that it is not really useful.

If you really want this, propose the 2 basic formulas, and then modification procedure, and the correction step that you want to take. Then, you will have to explain why your system is better.

I would implement it like this for example:


opponent_factor := (opponent_rating - player_rating) / 20;
if opponent_factor < -15 then opponent_factor := -15;
if opponent_factor > 15 then opponent_factor := 15;

playerbase_factor := (1000 - average_elo) / 50;

if player_won
then player_rating := player_rating + 16 + opponent_factor + playerbase_factor
else player_rating := player_rating - 16 + opponent_factor + playerbase_factor;


So if for example an 1240 elo player wins against and 1300 elo player, with an average elo of the playerbase of 950 this would mean he would gain 16 + (1300-1240)/20 + (1000-950)/50 = 16+3+1 = 20 elo.

The other player would lose 18 elo.

With an average elo of 1000, they would win/lose 19 elo.

The starting elo would not effect the average elo anymore long-term, and could be lowered. This is better because the average elo could be lowered, what is beneficial because it brings players closer to a 50:50 win rate in their first ranked games.

You are missing one important step, the sucess probability calculation. You need a formula to show the probability of each player winning, when 2 of them go against each other. Where is that?

Your modifications to the elo has to be consistent with that equation. That’s the tricky part.

Oh, and just to be clear, I don’t expect you to come up with this instantaneously. You’d either have to be a genius who also knows a ton of maths, or someone who has worked in the field of Elo for a while to solve this immediately. Just writing out the comprehensive explanation would require you to have at least bachelor’s level knowledge in statistics. But that’s also my point. You are treating this far more casually than you should be.

You are missing one important step, the sucess probability calculation. You need a formula to show the probability of each player winning, when 2 of them go against each other. Where is that?

Your modifications to the elo has to be consistent with that equation. That’s the tricky part.

Yeah, this is tricky, I looked at this problem some years ago, and as far as I know games like chess haven’t really solved this in their elo systems. In this case we could for now just copy the current AoE2 elo calculation and add my playerbase_factor. This factor would never even become big, because the average elo would always be instantly auto-corrected to 1000. It is practically actually kind of a non-problem imo.

But the problem you mention is kinda interessting: Lets say 100 elo differences should mean that the higher rated player wins with a 2:1 ratio. Now if we have 2 players where one of them wins in a 2:1 ratio against the other, which formula do we have to apply after every game, so that the average elo differece between both players is actually 100 (regarding the long-term average)? I am not sure if there is just a right formula for this, or if we need an empirical solution. I would say: Look at the past. Analyze the game results and elo ratings of many players over time. Maybe do this with KI. Test different formulas and see what results closed in the desired elo-results.

Oh, and just to be clear, I don’t expect you to come up with this instantaneously.

Did someone lese come up with it? If there is a solution, it is likely that someone has already found it. But as far as I know games like chess and AoE2 use “suboptimal” rather unscientific formulas. There is room for optimization afaik.

I like your idea.
TL,DR, The player with higher ELO will gain less from won, lose more from loss

iirc the k-factor used to be cut from 32 to 16 about 2k1, ### along with the change to renormalize the TG Elo a while back that was removed and that range now uses a k-factor of 32.

Would it be a good idea to start new players lower (or make them lose big amounts of elo first few matches) then give a bunch of random unique players 1 ELO each?

So new player loses match and loses 100 ELO, the player who beat him gains 20, and then 80 unique players not involved in the match gain 1 ELO each.

That ways new player balance faster, most other player barely change and it remains a zero sum equation balanced around 1000.

What would be the effects of such a system?

1 Like

Would it be a good idea to start new players lower (or make them lose big amounts of elo first few matches) then give a bunch of random unique players 1 ELO each?

So new player loses match and loses 100 ELO, the player who beat him gains 20, and then 80 unique players not involved in the match gain 1 ELO each.

That ways new player balance faster, most other player barely change and it remains a zero sum equation balanced around 1000.

What would be the effects of such a system?

Make it the next 80 players, who finish a game, so the 1 elo gain is less irritating.

Such a system would work, it would not really change anything except for the new players. The details of the system can vary. But I don’t understand the general skepticism against such ideas by some members. The first post even tries to suggest that it is somewhat theoretically impossible to play around with the elo like that.

2 Likes

Any example?
I don’t think it is the case above 2k2 - I still gain/lose more or less the same when I play against ppl with simialr elo

1 Like