# The mistake of the elo system that leads to the TG ladder issues

**URL:** <https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535>\
**Category:** II - Discussion\
**Created:** [September 12, 2026, 2:17pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535 "2026-09-12T14:17:39Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![casusincorrabil](https://forums.ageofempires.com/letter_avatar_proxy/v4/letter/c/5f8ce5/32.png) [@casusincorrabil](https://forums.ageofempires.com/u/casusincorrabil)\
**Post date:** [September 12, 2026, 2:17pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/1 "2026-09-12T14:17:39Z")

</div>

I will try to use the same nomenclature as in this wikipedia page:

> **[Elo rating system](https://en.wikipedia.org/wiki/Elo_rating_system)**
>
> The Elo\[a\] rating system is a method for calculating the relative skill levels of players, originally designed for rating chess players. It is a special case of the Bradley–Terry model. The Elo system was invented as an improved chess rating system over the previously used Harkness rating system and has since been adapted for use in other zero-sum games and sports, including tennis, association football (soccer), American football, baseball, basketball, pool, various board games and esports. I Th...

Where R is the elo rating of a player (RA of the player A and RB for player B and so on). QA, QB, QC … are the effective power levels of these players that result from that elo. EA, EB, EC… are the probabilities of winning a game for each of them, E1 and E2 are winrates associated with teams. In the following I will also introduce expressions for the wrong Team elo calculations and the ones I propose to be implemented instead.

The first part is just to showcase the general calculation error that is already applying to 1v1s. This error is minimal though, it even has an interesting effect that players need effectively a few fewer games to get to their real elo when climbing the ladder and actually, interestingly compensates another error that doesn’t come from the calculation but how ladder matches need to be setup. You see, the high end players don’t have a lot of opponents on their own level and they are mostly paired with lower ranked players. When they win they don’t get a lot of elo - and if they lose they can lose a lot in comparison, requiring them to only “creep” to their real elo. The calculation error of the elo system actually makes this creep a bit faster. I will also show at a later stage why the permanent miscalculation has little to no long-term effect on the 1v1 elo scale and though we should be aware of the miscalculation, there is absolutely no need to change anything for the 1v1 elo system from this.

Now the showcase what is done wrong, on an easy example of player A (400 elo) and player B (0 elo)

RA = 400  
RB = 0

QA = 10^(400 / 400) = 10  
QB = 10^(0/400) = 1  
QA + QB = 11

EA = 10/11 = .909090…  
EB = 1/11 = .090909…

With a K factor of 32 when A wins the new RA’ an RB’ values are:

EA’ = EA + 32 \* (1 - 10/11) = EA + 32/11 = 400 + 32/11  
EB’ = EB + 32 \* (0 - 1//11) = EA -32/11 = 0 - 32/11.

Resulting in the actual power levels of

QA’ = 10.16887  
QB’ = .98339  
QA’ + QB’ = 11.15226

Which is bigger than the original QA + QB = 11. So for some reason in this match their combined power has increased. This is a result of a wrong linearisation of the added/subtracted elo, If the lower ranked player would have won, their combined power level would have decreased. The reason for that is, that the higher the elo the more difference slight elo changes make in the actual power level and the lower it is the less difference. So shifting them around like this will always result in an error when the players have different elos and the error is the bigger the bigger the elo difference of the players is.  
From the elo perspective it looks like their combined elo is unchanged at 400. But that’s misleading.

I could formulate a correct formula here, but it isn’t really necessary as I described before. This mistake actually has little impact and doesn’t require to be fixed in 1v1s.

What reuires to be fixed though is that the Team elo calculation uses the same form of linearisation. Instead of adding the actual power levels of the players, it adds the elos. Which results in a miscalculation of the overall team elo. Though I actually don’t know exactly how the team elo calculations work, the general mistake is implemented and the result is appearant. Players with low elo have way too high impact and players of high elo have too little impact, resulting in teams haveing players “tanking” with really low elos getting an unfair advantage.

Now going finally to the Team elo calculation mistake and how I propose to fix it.  
I need to introduce a new value nR1 (and nR2) whihc is the new elo for the team 1.  
Also two functions Q(R) which gives the power level of an elo and R(Q) which gives the elo of a power level. They are inverse functions meaning Q(R(Q1)) = Q1.

Q(R) = 10^(R/400)  
R(Q) = 400 \* log(Q)

Now I want to define two teams of 4 player which are on the same power level and should be evenly matched.

QA = 5  
QB = 5  
QC = 5  
QD = 1

QA + QB + QC + QD = 16

RA = R(QA) = 259.58800  
RD = 0

QE = 4  
QF = 4  
QG = 4  
QH = 4

QE + QF + QG + QH = 16

RE = 240.82400

The calculation of the team elos is the mean of the the players elo.

R1 = (RA + RB + RC + RD)/4 = (3 \* 259.58800 + 0) /4 = 194.691  
R2 = RE \* 4 / 4 = 240.82400

So according to this calculation, T1 is more than 46 elo worse than T2. Meaning that the team elo calculation thinks that T2 is favorite and should win 56.6 % of the games. This is with comparably close elos aswell, we have teams with elo differences of close to 10x of this. The calculation SHOULD get to 50 %, as both teams are chosen to be on the same power level.

If I would have chose the teams like one team of 2 x 2000 elo players and 2 x 0 elo players and the other one consisting of 4 1000 elo players, the team elo calc would result in an “even matchup” with a winrate of 50 % each. But when you calc the corresponding team power levels, you would actually get to a result of 99.4 % winrate for the team with the different elos. Basically a guaranteed win if they don’t make mistakes. And from that win they would get K/2 elo points each - the amount they would get if they would have beaten an equally strong team. And ofc because of the wrong calculation they also will get paired with teams they can easily beat, as their calculated team elo is just too low.

The nR calculution I propose. (Note this is the most easy form and I will make a cR calculation at some point that will allow teams with different amount of players and handycap to be matched and fairly treated).

nR = R(sum(Q(Rn)) / n) [old calc is R = sum(R) / n]

nR1 = R((QA+QB+QC+QD) / 4) = R((5+5+5+1) / 4) = R(4) = 240.824 = nR2

Leading to the correct result that the two initally defined teams are evenly matched with a winchance of 50 % each

And in the other case of teams with 2 \* 2000 , 2 \* 0 elo and 4 \* 1000 elo it will result in nR1 = 1879.58974 and nR2 = 1000. The chance of winning would be exactly the mentioned 99.4 % that result from the power level calculation.

I will stop the initial post of this Thread at this point. I want to talk about stuff here later, but I think this is enough for the opening post.  
Upcoming:

- Different team sizes and a way to match them fairly with an accurate calculation.
- Handicaps elo calculation methods
- How to correctly calc elo gains and losses in TGs
- What this means in order to reduce griefing +
- Comparisons between the wrong and correct method
- Explanation why the wrong linearisation is almost irrelevant for 1v1s

Finally I also want to thank @Mercy9545 who could possibly explain much better than me what’s the issue with the wrong team elo calc and why the described new calculation is the correct one.

I hope at some point one of our content creators with mathematical backgrounds like twest or sotl will make a video about this. And ofc there are various other ways that could result in a solution. We don’t even need to use and fix the elo system, we could also define our own ranked system instead.

---

<div class="post-metadata">

**Author:** ![casusincorrabil](https://forums.ageofempires.com/letter_avatar_proxy/v4/letter/c/5f8ce5/32.png) [@casusincorrabil](https://forums.ageofempires.com/u/casusincorrabil)\
**Post date:** [September 17, 2026, 7:41pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/2 "2026-09-17T19:41:09Z")

</div>

TL;DR

The elo number is for the most part just show. The R (for Rating) value that is shown is the logarithmic projection of the truely used power level Q to calculate the winchances of each player.

And unfortunately when you use the R values (the shown elo values) for a calculation that should use the Q values, nonsense happens.

For the 1v1 calculation the mistake is low as it only affects the dynamic part of the elo changes, but in TGs the team elo calculation is a static mistake (when teams are repeatedly put together in specidic ways) that affects matchmaking and the elo teams get from wins. It happens frequently that “better” teams are undervalued and get more elo for winning against a worse team, which shouldn’t happen. (The elo system is based upon giving the worse players more value in return for wins than better players when they face each other.)

> **PS**
>
> PS: The calculations I made in the first post are only showcases of the miscalculations happening. I don’t introduce any new values. The power level Q I refer to IS the actual core of the elo calculation, whilst the elo rating R itself is as described basically just show. It makes the systen easier to get as the values for the power ratings can go from stuff like .01 to 10 000 000 which is ofc nothing really usable to assess the skill level. And the difference between a Q value o .01 and .1 is 400 elo, the same is the elo difference between a power level of 1 000 000 and 10 000 000 .So the elo differences are “big” for very little difference at the bottom of the scale, but look extremely tiny for the top of the scale. This is the effect that causes the miscalculation.

---

<div class="post-metadata">

**Author:** ![casusincorrabil](https://forums.ageofempires.com/letter_avatar_proxy/v4/letter/c/5f8ce5/32.png) [@casusincorrabil](https://forums.ageofempires.com/u/casusincorrabil)\
**Post date:** [September 29, 2026, 8:12pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/3 "2026-09-29T20:12:11Z")

</div>

As nobody replied in this topic I only want to share now the (in my eyes) correct ways to calculate the team elos, losses and gains. I wanted to introduce different team sizes first, but this would require to add a term for an absolute correction, which would be too much for a single post.

So. First ofc is the correct team ranking calculation. Which I think should actually be the Q value rather than the P value. Why? Because it makes all the calcs way easier. I deally I think the team “elos” of the players should actually be saved as the Q values and only be “shown” as a tg “elo”. Thos makes all calcl way more simple to understand.

QT = sum(QN)

The probability of winning then is ofc

E1 = Q1 / (Q1 + Q2)  
E1 = Q2 / (Q1 + Q2)

Simple.

A bit more complicated are the Q gains and losses. N is the total amount of players in the TG. Assuming T1 won.

dQ = (1-E1) \* (E1 \* E2) \* N \* (Q1 + Q2) \* (K / 400) \* 2

(When T2 won, the (1-E1) has to replaced with (1-E2))

Resulting in (assuming Team A won) in the gains of losses of eg player A (from team 1 that won) and player E (from team 2 that lost).

dQA = + dQ \* QA / Q1  
dQE = - dQ \* QE / Q2

(When T2 won, the minus has to be applied to all members of T1 and the plus to all members of T2 instead)

Note: This will result in looking like the average tg elo would “go down” after the change. But it’s an illusion. The calc will stabilize the Q values. This Q value average will remain constant.  
Ofc this allows to do some forms of adjustments like helping newer players to raise to their “real” TG elo faster with bonusfactors for their first wins. This is especially relevant regarding the smurfing issue.

Note for the programmers: It’s imprtant to implement a check. Q values have to remain strictly positive. The calc should never result in a zero or negative Q value, but it’s still important to check.

(edit: I made a mistake in the calc of the power value gains. Need to figure out eactly where it happened. Instead of lesser gains at higher differences it resulted in a bigger gain I will figure it out and correct)

edit2: corrected - I forgot to apply the “winchance” correction factor. A very basic mistake that shouldn’t happen, but yeah. I hope somebody else will counterread my stuff here and check if it’s all correct.

> **Notes**
>
> PS: Note, that because of the Q based dQ values (rather than dR) it’s impossible to make a perfect 1:1 “elo change after calculation” in comparison to the traditional calculation (which is flawed as I pointed out). The calc I propose is very close, but not exactly the same. Examples are if the K value is 32 (the standard one) and there is a 50 % win chance for either one, the resulting elo change will be around 14 instead 16. The Elo change when someone with an absurldy low winrchance wins will be close to 48 for them instead of 32. So in the vast majority of games it will be very similar, but not the same (which is impossible to achieve). Especially in the “mid-high elo difference” spectrum of like 200-400 there will be a notable difference depending on who wins and who has higher elo. If someone with eg 200 elo higher will win they will get about 3 elo and lose 11 on defeat. Currently it would be about 8 vs 24. Whilst in contrast the one with lower elo would get and lose 29 vs 11 in comparison to the current 24 vs 8. My calc is also intentionally setup in a way that the changes will diminish more than the old calc when the elo differences are higher. I try to make “close matchups” more count this way and matchups with very different elos less - at least for the people with higher elos. They can’t lose _as much_ when losing to people with much lower elo. On the other end as described people with lower elo can actually rise faster, this is a result of the corrected mistake of the wrong elo calculation. However I limited that intentionally.  
> The proposed changes will make it a bit harder to grief and smurf. Especially that fake TG elo play will be made way harder. But most importantly the effect on the community will be extremely limited, as it would makw way, way less of an impact to have fake low elos players on a team.

---

<div class="post-metadata">

**Author:** ![Zelley00](https://forums.ageofempires.com/user_avatar/forums.ageofempires.com/zelley00/32/30455_2.png) [@Zelley00](https://forums.ageofempires.com/u/Zelley00)\
**Post date:** [October 18, 2026, 9:48am UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/4 "2026-10-18T09:48:21Z")

</div>

That was a nice read. I agree with the problem and that your solution is a good first step toward a better matchmaking system.

A)

So basically the Elo rating “R” is only using as a stepstone to determine the skill “Q” of a player. This skill “Q” is directly used to estimate the winning probability “R” of each team. The skill “Q” has the great mathematical property if being linear: the skill of several player is equal to the sum of their skill.

It does not make any sense to take the sum of the Elos of a team to decide on its skill, as currently done. A 1500 Elo player can easily beat two extreme AIs (~900 to 1000 Elo).

B)

I like your proposition to only use the skill “Q” and winning probability “E” for everything, and only keep the Elo rating “R” on the player’s side. I would actially even directly display to the players their skill “Q”.

C)

It is good for a first step (and because we currently lack game analysis tools) to divide the won and lost delta skill “dQ” proportionally to the player skill. It means we expect a player twice as skilled (double the “Q”) to have contributed twice more, and to earn twice the points (double the dQ).

But many players would like game analysis data, especially for smurf detection, which could also be used to detect who brought the most to their team relative to their personal level.

D)

A potential problem is the ladder average Elo rating “R”: if everything is done relative to the skill “Q”, then their should be Elo deflation over time.

- Are we fine with that ?
- Or should we acceot that the average skill can naturally increase over time due to players playing ?
- Or should we try to record the skills data over the player base and fix the skill value? Then we can tell every game who over/under-performed in absolute value, and tell whether the skill of the playerbase actually changed.

E)

Another problem is that the Elo and skill values do not perfectly fits the player real value on the given map. But this is a complex problem that would require another case study.

F)

A last point: I am not convinced yet that the skill “Q” is perfectly linear in team games. It is good to have players like Hera do some 1v3s or 1v4s to experimental test it.

---

<div class="post-metadata">

**Author:** ![Companq](https://forums.ageofempires.com/user_avatar/forums.ageofempires.com/companq/32/216964_2.png) [@Companq](https://forums.ageofempires.com/u/Companq)\
**Post date:** [October 18, 2026, 12:24pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/5 "2026-10-18T12:24:23Z")

</div>

I didn’t understand any of this

---

<div class="post-metadata">

**Author:** ![Zelley00](https://forums.ageofempires.com/user_avatar/forums.ageofempires.com/zelley00/32/30455_2.png) [@Zelley00](https://forums.ageofempires.com/u/Zelley00)\
**Post date:** [October 19, 2026, 5:30pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/6 "2026-10-19T17:30:31Z")

</div>

Basically, the system to decide which players play against which players on the team game ladder is not good enough when players have very different Elo, and this is about a better system.

> **Some more details:**
>
> Everyone has an “Elo” rating describing how good they are, and at you first game you start around 1000 Elo. For team games we put each team against a team with same total Elo.
> 
> For example if you have 1000 Elo and play with a friend who also has 1000 Elo, then the system will happily put you against a player of 2000 Elo and his friend of 0 Elo.
> 
> This is bad because a player of 1500 Elo can beat both of you, so the 2000 player you are against can very very easily beat your team.
> 
> The idea is to not use the Elo to decide who you play against, but some other rating thst makes it clear to the systen that two 1000 Elo players should not match against a 2000 Elo player.

---

<div class="post-metadata">

**Author:** ![casusincorrabil](https://forums.ageofempires.com/letter_avatar_proxy/v4/letter/c/5f8ce5/32.png) [@casusincorrabil](https://forums.ageofempires.com/u/casusincorrabil)\
**Post date:** [October 19, 2026, 10:13pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/7 "2026-10-19T22:13:04Z")

</div>

> [@Zelley00](#):
>
> A last point: I am not convinced yet that the skill “Q” is perfectly linear in team games. It is good to have players like Hera do some 1v3s or 1v4s to experimental test it.

clearly, the current average value is determined by an arbitrary choice. (a choice we made by setting the average elo to 1000)

So we need some form of correction.

My idea would be to make a multiplier dependent on team size. The team evaluation (after the summation) is multiplied by that multiplier of the team size. So if you play alone the multuplier is ofc 1. But for every other tema size the multiplier is different, it raises a bit when the team wins, depending on the calculated win chances and the multiplier of the size of the losing terms is reduced (if possible: team size 1 multiplier is always 1 and no multiplier can be 0 or lower).

Ofc we don’t know if the win chances are linear. It’s just the basic approach of the calc. Very likely it’s not. But it’s probably close enough that the mistake won’t be too much. And why?  
Well, practically we already do this approach with the elo system. And it works.  
We have to chose an approach and linearisation is usually the easiest form. (BTW I’, speaking of the general approach using the Q values, not the mathematical calculation mistake I explained earler. That one is a linearisation ERROR on a mathematical relation)

BTW, the form I propose with a multiplicator is actually equivalent to a flat elo bonus for different team sizes. So the factor could practically result in eg a flat “elo bonus” of like 400 or so when 2 players play together. The corresponding multiplication factor for the Q vaue would be 10 in that case (probably it’s way lower).  
The multiplicators could indeed be figured out by teat games and increasing the change rate in the first few weeks after implementation. At some point they will be figured out so well, that the change rate can be reduced so there is no unnecessary “jumping”.

---

<div class="post-metadata">

**Author:** ![Thire7](https://forums.ageofempires.com/user_avatar/forums.ageofempires.com/thire7/32/171912_2.png) [@Thire7](https://forums.ageofempires.com/u/Thire7)\
**Post date:** [October 19, 2026, 10:21pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/8 "2026-10-19T22:21:48Z")

</div>

> [@casusincorrabil](#):
>
> Where R is the elo rating of a player (RA of the player A and RB for player B and so on). QA, QB, QC … are the effective power levels of these players that result from that elo.

I haven’t responded to this before because that sentence seems backwards. How does an Elo create a power level?

---

<div class="post-metadata">

**Author:** ![casusincorrabil](https://forums.ageofempires.com/letter_avatar_proxy/v4/letter/c/5f8ce5/32.png) [@casusincorrabil](https://forums.ageofempires.com/u/casusincorrabil)\
**Post date:** [October 19, 2026, 10:25pm UTC](https://forums.ageofempires.com/t/the-mistake-of-the-elo-system-that-leads-to-the-tg-ladder-issues/289535/9 "2026-10-19T22:25:03Z")

</div>

It’s actually rhe other way around.

In reality the “elo” system actually calcs with a power level (as I named it) called Q.

I posted the two funtions how to get from an elo (R) to a power level (Q) here. These relationship calculations are defined by the elo system itself.

(so practically elo is reffering to a power level with a different value. Sounds absurd, but the reality is that 0 elo eg would correspond to a power level of 1 whilst 2800 elo would correspond to a power level of 10,000,000 . Which is obevoiosly a gigantic numbers difference and the elos look way more comparable than the power level (Q) values)
