Adaptive Dynamic Rating with Self-Adaptive Uncertainty and Population-Based Tier Calibration: A Novel Online Rating Algorithm for Free-For-All Arenas
Author: Ruixi Deng (Neamyoo-dev)
GitHub: https://github.com/Neamyoo-dev
ORCID: https://orcid.org/0009-0004-3643-6049
Date: 2026-09-05
This paper presents the Adaptive Dynamic Rating (ADR) algorithm, an original online skill-assessment method designed for free-for-all (FFA) arenas. ADR maintains for each player a dynamic state containing a skill estimate, an uncertainty measure, a current streak, a recent volatility estimate, a short-term trend, and a temporary score pool. Each FFA kill is modeled as a low-information pairwise comparison. The algorithm updates the two participating players using an adaptive learning rate that depends on uncertainty, streak, volatility, and trend. The update is intentionally asymmetric to reduce the penalty for a single death. A time-decay mechanism handles inactive players, and tier boundaries are recalibrated from the empirical skill distribution of the active population. To prevent rating surges for long-absent returning players, ADR combines a peak-shaped learning rate, evidence-confidence weighting, a temporary score pool, and a per-event change limit. The algorithm does not directly copy Elo, Glicko, or TrueSkill; it shares the general paired-comparison modeling philosophy with those methods but introduces a distinct self-adaptive structure. With explicit boundedness constraints, the per-event update is
Keywords: adaptive learning rate; uncertainty propagation; online ranking; free-for-all arena; dynamic threshold calibration; returning-player safeguard
Reliable skill assessment is critical for competitive game servers. In a free-for-all arena, a player engages with many opponents in a short period, and a single kill is a low-information observation. Classical rating systems were designed primarily for pairwise matches with relatively stable match lengths. Applying them directly to FFA can lead to volatile ratings, farming, and tier inflation.
The principal contributions of this paper are as follows:
- A novel online rating model that represents each player by a skill estimate, an uncertainty measure, a streak, a volatility window, a short-term trend, and a temporary score pool.
- A self-adaptive learning rate that is driven by the player's uncertainty, streak, volatility, and trend, rather than a fixed
$K$ factor. - An asymmetric update rule that reduces the penalty inflicted on defeated players.
- A time-decay mechanism that reduces the influence of inactive players and pulls their skill estimate toward the current active-player mean.
- A population-based tier calibration procedure that recomputes tier boundaries from the empirical distribution of skill estimates.
- A computational complexity analysis that clarifies the trade-off between real-time event updates and ordered-index maintenance.
- An integrated safeguard mechanism for long-absent returning players, combining a peak-shaped learning rate, evidence-confidence weighting, a temporary score pool, and a per-event change limit. This mechanism is fully specified in Section 8.
The most widely used rating system is the Elo system, which updates a scalar rating using a fixed learning rate and a logistic outcome model. Although simple, it does not model uncertainty and is sensitive to the choice of
ADR shares the general paired-comparison modeling philosophy with Bradley–Terry and Elo, but it does not directly copy any of these methods. First, it uses an arctangent-based outcome model whose diffusion coefficient depends on the average uncertainty of the population. Second, its learning rate is a product of uncertainty, streak, volatility, and trend terms. Third, its tier system is calibrated directly from the current population distribution rather than from fixed rating thresholds.
The remainder of this paper is organized as follows. Section 2 formulates the problem and defines the player state. Section 3 presents the pairwise outcome model. Section 4 describes the adaptive rating update, including a corrected uncertainty update. Section 5 presents the time-decay mechanism. Section 6 describes tier assignment and dynamic calibration. Section 7 analyzes the algorithmic properties, including boundedness and computational complexity. Section 8 specifies the integrated safeguard mechanism for returning players. Section 9 provides parameter settings and sensitivity guidance. Section 10 proposes an experimental protocol. Section 11 discusses limitations and future work. Section 12 concludes the paper.
An FFA event is defined as a tuple
Let
Each player
| Symbol | Definition | Domain |
|---|---|---|
| Skill estimate | ||
| Uncertainty | ||
| Current winning streak | ||
| Sliding window of absolute rating changes | ||
| Short-term trend | ||
| Temporary score pool | ||
| Number of counted FFA events | ||
| Time of the last counted event |
The initial state is:
The sliding window
The time difference in days since the last event of player
where
For calibration and time-decay targeting, the active player set
where
The algorithm has three objectives:
- Estimate the true skill
$\theta_i$ of each player in an online manner. - Produce a reliable tier label from the estimated skill.
- Remain computationally efficient for a large number of players.
Suppose player
This arctangent-based function is bounded in
The diffusion coefficient
Here,
The learning rate of player
The base component depends on uncertainty:
The streak component is:
The volatility component is designed as a stabilizing negative feedback term:
This means that a player with large recent rating fluctuations receives a reduced learning rate, which dampens oscillation.
The trend component is:
Only positive trends accelerate learning. Negative trends do not increase the learning rate because a declining player is already corrected by the negative skill updates; additional acceleration would amplify tilt.
For a defeated player
where
When
The final values are explicitly clipped to the admissible range:
The default bounds are
Let:
The uncertainty update has two stages: process-noise increase and evidence-based decrease.
First, the process noise is added:
Second, the uncertainty is reduced according to the information gained from the event:
Here,
The lower bound
We note one interaction between clipping and uncertainty: because
The short-term trend is updated with an exponential moving average of the prediction error:
A positive trend indicates that the player has been exceeding expectations, which increases the trend component of the learning rate.
The streak is updated as:
The absolute changes
The event count is updated as:
Let
Here, $\bar{\mu}{\mathcal{A}}(t)$ is the mean skill estimate of the active player set $\mathcal{A}(t)$ defined in Section 2.3. If $\mathcal{A}(t)$ is empty, $\bar{\mu}{\mathcal{A}}(t)=\mu_0$. After decay, the last-event time is set to
Decaying toward the current active-player mean, rather than a global initial value, avoids systematic bias caused by changes in the overall player population.
A player remains in the "No Tier" state until both of the following conditions hold:
The first condition guarantees a minimum amount of evidence. The second condition guarantees that the uncertainty is sufficiently low for a reliable assignment.
The tier set is ordered from highest to lowest as:
Let tier index
Let
For each tier
The cumulative proportion is:
The boundary between tier
Let
If
where
Because boundaries are time-varying, a player whose skill estimate remains unchanged may still be promoted or demoted when boundaries shift. This is intentional rebalancing of the tier distribution and is consistent with the population-calibration objective.
Let
If
Define the demotion accumulator:
If
The accumulator mechanism prevents a single event from causing an immediate tier change.
The skill estimate
If a player's true skill increases, the player is more likely to exceed the predicted outcome. This produces positive prediction errors, increasing the trend term. The volatility term remains bounded and the uncertainty update decreases with accumulated evidence, so the learning rate remains controlled while still allowing convergence toward the new skill level.
The predicted probability
Let
If an ordered index is maintained incrementally, each rating update requires removing and reinserting the two affected players in the index. Therefore the per-event update complexity is
If real-time per-event updates are preferred and the ordered index is rebuilt lazily, the per-event update can be
Threshold calibration requires
A full convergence proof is beyond the scope of this paper, but we provide two remarks to clarify the theoretical status of ADR.
Remark 1 (Relation to stochastic approximation). If the streak and trend terms are treated as external time-varying gains, the skill update can be written as:
where
Remark 2 (Potential for oscillation). Because
This section fully specifies the mechanism listed as Contribution 7. The goal is to allow a returning player to re-calibrate quickly while preventing a single kill from inflating the skill estimate to an unrealistic level.
For all players, the base learning rate is replaced by a peak-shaped function of uncertainty:
When
For a returning player whose last event was more than
The effective skill update becomes:
For low uncertainty,
For players whose last event was more than
Here,
As a hard safety constraint, the absolute change applied to the visible skill estimate is capped:
The default is
This cap operates after all other mechanisms. The clipped excess is discarded and is not written back into
The safeguard mechanism does not replace the time-decay or tier-accumulator mechanisms. It complements them. Time decay handles long-term drift, the temporary pool handles re-evaluation of uncertain evidence, the per-event cap handles extreme outliers, and the tier accumulators prevent instantaneous tier changes. Together they ensure that returning players receive a smooth and fair re-calibration experience.
The following table lists the default parameters used by ADR.
| Parameter | Symbol | Recommended Value |
|---|---|---|
| Initial skill | 1000 | |
| Skill lower bound | 0 | |
| Skill upper bound | 4000 | |
| Initial uncertainty | 350 | |
| Minimum uncertainty | 10 | |
| Maximum uncertainty | 400 | |
| Observation noise | 100 | |
| Peak uncertainty | 200 | |
| Minimum base learning rate | 4 | |
| Maximum base learning rate | 40 | |
| Streak reward coefficient | 0.15 | |
| Maximum streak counted | 5 | |
| Volatility damping coefficient | 0.3 | |
| Reference volatility | 20 | |
| Trend reward coefficient | 0.3 | |
| Trend EMA smoothing | 0.2 | |
| Loss discount | 0.8 | |
| Repeat-kill cooldown | 60 seconds | |
| Diffusion base | 400 | |
| Diffusion uncertainty weight | 0.5 | |
| Decay time constant | 30 days | |
| Uncertainty drift during inactivity | 5 per day | |
| Return threshold | 60 days | |
| Temporary pool fraction | 0.7 | |
| Pool release rate | 0.2 | |
| Temporary pool lower bound |
|
|
| Temporary pool upper bound |
|
|
| Per-event change limit | 60 | |
| Minimum events for placement | 15 | |
| Placement uncertainty threshold | 180 | |
| Active look-back window | 7 days | |
| Active minimum events | 5 | |
| Minimum active players for calibration | 20 | |
| Promotion/demotion energy threshold | 400 | |
| Boundary smoothing factor | 0.2 | |
| Sliding window length | 20 |
Sensitivity guidance:
-
$\sigma_{\text{peak}}$ controls how aggressively the algorithm learns during normal uncertainty. Larger values make the learning rate less sensitive to uncertainty. -
$\gamma$ controls how quickly uncertainty decreases with evidence. Smaller$\gamma$ makes uncertainty decrease faster. -
$\alpha$ and$\lambda_{\text{pool}}$ jointly control the speed of score release for returning players. Larger$\alpha$ makes the system more conservative in the short term. -
$\Delta_{\max}$ is a hard safety limit; it should be set according to the desired maximum visible rating change per event. -
$N_{\text{active}}$ and$T_{\text{active}}$ define the active population used for calibration. If the server population is small, a larger$T_{\text{active}}$ or a smaller$N_{\text{active}}$ is recommended. -
$p_k$ should sum to 1 and should reflect the desired tier distribution. In the absence of domain-specific requirements, a roughly uniform distribution over the 15 tiers is a reasonable default.
The proposed algorithm should be evaluated on either simulated FFA event streams or real server logs. The required input for each event is:
- attacker identifier,
- victim identifier,
- timestamp.
Optional inputs include damage dealt, damage taken, headshots, and survival time.
The algorithm should be compared with at least the following baselines:
- Elo with a fixed
$K$ factor. - Glicko-2.
- TrueSkill.
- A dynamic-$K$ Elo variant.
The following metrics are recommended:
- Log Loss of predicted kill probabilities.
- Area Under the ROC Curve (AUC) for kill prediction.
- Convergence speed of the rating estimate.
- Stability of tier assignments.
- Response delay to a simulated skill change.
- Robustness to repeated kills and farming patterns.
- Match between the empirical tier distribution and target proportions
$p_k$ . - Maximum visible rating change after a long absence, to evaluate the returning-player safeguard.
Because real-world data may not be available at the time of evaluation, a synthetic simulation protocol is specified as follows.
- Generate
$P$ players with hidden true skills drawn from a Gaussian mixture. - Simulate FFA events by repeatedly selecting two active players and drawing the outcome according to their true skills.
- Inject controlled events, such as a sudden skill increase or a long absence followed by a strong performance.
- Feed the event stream to ADR and to each baseline.
- Evaluate the metrics in Section 10.3 on held-out event batches.
This protocol allows a controlled comparison of prediction quality, stability, and safeguard effectiveness.
The data set should be split into a training stream and a test stream. The rating system processes the training stream online, and predictions are evaluated on the test stream. Calibration quality should be measured by the distance between the empirical tier proportions and the target proportions
To demonstrate the behavior of the safeguard mechanism, we ran a controlled toy simulation. A player with an initial rating of 1000 is absent for 60 days and then returns to defeat the same high-skill opponent (rating 2000) for 50 consecutive events. We compare ADR with Elo, Glicko-2, and TrueSkill. Because each system uses a different rating scale, Figure 1 reports the standardized rating change from each system's own initial value.
Figure 2 shows the per-event standardized changes. ADR increases smoothly without a single large spike, Elo applies a nearly constant per-event update, Glicko-2 has a large initial jump that quickly decays, and TrueSkill changes are very small. This supports the claim that ADR does not produce an extreme single-event rating jump.
After 50 consecutive kills, the standardized increases were 1197.93 for ADR, 1166.94 for Elo, 1077.40 for Glicko-2, and 31.52 for TrueSkill. The smaller TrueSkill value reflects its intentionally conservative per-game update and its different rating scale; standardized increments are illustrative and are not directly comparable across systems. The results show that ADR does not produce an extreme single-event spike; its visible rating grows steadily while the temporary pool releases score gradually. This toy example is intended only as a demonstration, not as a full validation. The complete simulation protocol in Section 10.4 should be executed for formal comparison.
To illustrate the online prediction behavior of ADR, we ran a synthetic FFA event stream with 50 players and 8000 pairwise kill events, following the simulation protocol in Section 10.4. The same events were fed to ADR, Elo, Glicko-2, and TrueSkill. Figure 3 reports rolling log loss and per-block AUC as more events are processed.
In this illustrative run, all four systems reached similar AUC levels; Elo, Glicko-2, and TrueSkill had slightly lower log loss. This is expected because the synthetic generator uses a logistic model close to Elo, while ADR's arctangent-based model is intentionally different. The figure is intended to demonstrate the evaluation procedure, not to claim superiority in prediction quality.
The current paper has the following limitations:
- Only illustrative simulations are reported (the returning-player toy example and the synthetic prediction-quality stream); the full multi-player simulation protocol in Section 10.4 has not yet been executed.
- Non-kill deaths, such as falls or environmental damage, are not modeled.
- Multi-factor performance scoring requires additional data collection and is not fully integrated into the formal update equations.
- Population-based calibration may be unstable when the number of active players is very small; the
$P_{\min}$ threshold mitigates but does not eliminate this issue. - A formal convergence proof under general stochastic assumptions is not provided.
Future work includes executing the complete simulation protocol, deriving formal convergence guarantees, integrating multi-factor performance scores into the event model, evaluating the algorithm on real FFA server logs, and comparing its prediction quality against established rating systems.
This paper presented ADR, an original online skill-assessment algorithm for free-for-all arenas. ADR combines an adaptive learning rate, a two-stage uncertainty update, streak and volatility effects, a short-term trend, active-population-based time decay, population-based tier calibration, and an integrated returning-player safeguard. The algorithm is self-contained, does not directly copy existing published rating systems, and has a clearly characterized computational complexity. ADR is designed to be responsive to genuine skill changes, robust to isolated events, resistant to simple farming strategies, and practical for large player populations.
The author acknowledges the use of AI-assisted tools (DeepSeek V4 Flash 0731 and GPT 5.6 Sol) during the preparation of this manuscript. These tools assisted with mathematical formulation, LaTeX/Markdown typesetting, numerical simulation implementation, and iterative revision. The author defined the research problem and design objectives, evaluated and selected among candidate approaches, identified conceptual errors, and reviewed and accepted all final formulas, simulation settings, and results. The author takes full responsibility for the content of this work.
- Bradley, R. A., and Terry, M. E. Rank analysis of incomplete block designs: I. The method of paired comparisons. Biometrika, 39(3/4):324–345, 1952.
- Elo, A. E. The Rating of Chessplayers, Past and Present. Arco Publishing, 1978.
- Glickman, M. E. Parameter estimation in large dynamic paired comparison experiments. Applied Statistics, 48(3):377–394, 1999.
- Glickman, M. E. The Glicko-2 system. 2012. http://www.glicko.net/glicko.html
- Herbrich, R., Minka, T., and Graepel, T. TrueSkill: A Bayesian skill rating system. In Advances in Neural Information Processing Systems 19, 2006.
- Dangauthier, P., Herbrich, R., Minka, T., and Graepel, T. TrueSkill through time: Revisiting the history of chess. In Advances in Neural Information Processing Systems 20, 2007.
- Weng, R. C., and Lin, C.-J. A Bayesian approximation method for online ranking. Journal of Machine Learning Research, 12:155–189, 2011.
- A method for fast leaderboard calculations in massive online game-based environments. International Journal of Computer Games Technology, 2018. https://doi.org/10.1155/2018/3234873
- Balancing stability and flexibility: investigating a dynamic
$K$ value approach for the Elo rating system in adaptive learning environments. User Modeling and User-Adapted Interaction, 2025. - US Patent 8694427B2, Time-efficient and deterministic adaptive score calibration techniques for maintaining a predefined score distribution, 2014.


