Na een afgelopen wedstrijd laadt de API elo_before, teamgemiddelden en K/D/A per speler, en voert de formule hieronder uit. Resultaten worden opgeslagen in match_player_stats en toegepast via batch_update_elo.
Winst of verlies zet actual op 1.0 of 0.0. De expected-score gebruikt standaard Elo-teamgemiddelden (deler 400). Je prestatiemodifier vergelijkt je statline met teamgenoten—begrensd tussen 0.5× en 1.5×, omgekeerd bij verlies.
expected = 1 / (1 + 10^((opp_avg - team_avg) / 400))
perf_score = kills + assists * 0.5 - deaths
perf_factor = clamp(0.5, 1.5, 1 + (perf - team_avg) / team_std)
elo_delta = round(K * (actual - expected) * perf_factor)
divisor = 400 · actual = 1.0 win / 0.0 loss · expected = 1 / (1 + 10^((opp_avg − team_avg) / 400)) · perf = kills + assists×0.5 − deaths · delta = round(K × (actual − expected) × perf_factor)