RatingKit ships with fourteen drivers. Every bundled driver supports teams and multiple teams through RatingKit's normalized match representation.
| Key | Rating | Deviation | Volatility | Team support | Multi-team support |
|---|---|---|---|---|---|
elo |
✅ | — | — | ✅ | ✅ |
elo_mov |
✅ | — | — | ✅ | ✅ |
fide |
✅ | — | — | ✅ | ✅ |
uscf |
✅ | — | — | ✅ | ✅ |
glicko |
✅ | ✅ | — | ✅ | ✅ |
glicko2 |
✅ | ✅ | ✅ | ✅ | ✅ |
weng_lin |
✅ | ✅ | — | ✅ | ✅ |
bradley_terry |
✅ | — | — | ✅ | ✅ |
plackett_luce |
✅ | — | — | ✅ | ✅ |
thurstone_mosteller |
✅ | — | — | ✅ | ✅ |
dwz |
✅ | — | — | ✅ | ✅ |
egf |
✅ | — | — | ✅ | ✅ |
ingo |
✅ | — | — | ✅ | ✅ |
fifa |
✅ | — | — | ✅ | ✅ |
Use elo when you need a familiar, predictable rating change and do not need uncertainty tracking.
Use elo_mov when scores are available and a larger winning margin should generally create a larger update.
Use glicko2 for chess servers, ladders, and competitive queues where uncertainty and volatility matter.
Use weng_lin for team games, uneven teams, substitutes, and multiplayer environments that benefit from Bayesian uncertainty.
Use plackett_luce for free-for-alls, races, battle royale placements, and matches containing several ranked teams.
Use thurstone_mosteller when a Gaussian performance model fits the domain.
Edit algorithm_options in config/rating-kit.php:
'algorithm_options' => [
'elo' => [
'k_factor' => 32.0,
'scale' => 400.0,
],
'glicko2' => [
'tau' => 0.5,
'epsilon' => 0.000001,
],
'weng_lin' => [
'beta' => 200.0,
],
],'team_aggregation' => 'average',Supported values:
average: weighted average team ratingsum: weighted sum of team ratings
average is usually preferable when teams of different sizes can compete.
Elo-family and pairwise drivers can distribute a team update using:
'team_distribution' => 'participation',Supported values:
equalparticipationrating_weighted
Bayesian drivers use each competitor's uncertainty as part of their update.
fide, uscf, dwz, egf, ingo, and fifa are configurable practical adaptations for application use. They are not assertions of federation certification, and an application with formal federation requirements should verify every rule against the applicable current regulations.
Most algorithms use higher-is-better ratings. The Ingo-style driver uses lower-is-better values. RatingKit applies the configured direction to leaderboards, individual ranks, conservative scores, predictions, and peak/best rating helpers.
'algorithm_directions' => [
'ingo' => 'asc',
],