aiarena / aiarena-web

A website for running the aiarena.net ladder.
https://aiarena.net
GNU General Public License v3.0
93 stars 14 forks source link

ELO conflict in match participations #638

Open lladdy opened 8 months ago

lladdy commented 8 months ago

As detailed here: https://discord.com/channels/430111136822722590/853250973325328384/1160857761169547404

lladdy commented 8 months ago

Turns out the ELO conflict we're seeing isn't unintentional.

starting_elo = models.SmallIntegerField(null=True) """The bot's ELO at the time the match started Note that this isn't necessarily the same as resultant_elo - elo_change.""" https://github.com/aiarena/aiarena-web/blob/87e307a4e2905009aa83727af3c28a594a8cac59/aiarena/core/models/match_participation.py#L40

This is confusing though. If I can't think of any reason for keeping it this way, I will change this behavior to instead have starting_elo be the ELO value before the result adjustment is applied.

lladdy commented 8 months ago

This begs the question of why yatahunt appeared to initially observe the ELO value for their bot reverting randomly when re-loading the rankings page, as detailed here: https://discord.com/channels/430111136822722590/853250973325328384/1159576233416343667

Potentially this is caused by some less critical issue, such as caching.

Possible suggestion: As per my reply above, change starting_elo to be the ELO value before the result adjustment is applied. Then this can be used to more easily either confirm or rule out an ELO allocation issue.

lladdy commented 8 months ago

Update: There is actually some sort of issue causing ELOs to drift. The total ELO stays constant though. This issue has risen in occurrence since the rise in AC api usage (potentially due to micro ladder + more ACs).

lladdy commented 7 months ago

No longer urgent to fix before next seasons, as AWS is running as a single container and thus this won't be an issue.