The ELO leaderboard brings competitive skill-based rankings to your Discord server. Borrowed from chess and widely adopted in competitive gaming, the ELO system adjusts player ratings based on match outcomes and opponent strength. Beat someone rated higher than you and gain a lot of points; lose to someone lower and take a bigger hit.
How It Works
Every player starts at a base rating (default: 1200). When two players — or two teams — face off, the bot calculates the expected outcome based on their rating difference. The actual result is compared to the expectation, and every participant's rating is adjusted accordingly:
- Win against a stronger opponent — large rating gain
- Win against a weaker opponent — small rating gain
- Lose to a stronger opponent — small rating loss
- Lose to a weaker opponent — large rating loss
- Draw — small adjustment toward the expected outcome
The system is self-correcting. Over time, players gravitate toward a rating that accurately reflects their skill level relative to the competition.
Setting It Up
- Use the
/leaderboard createcommand and select ELO as the scoreboard type. - Name your scoreboard — e.g., "Chess Ladder" or "Smash Bros Rankings".
- Pick the match format — 1v1 (the default) or a fixed team size from 2v2 up to 8v8. You can change it later in the dashboard under Match format, and the board still ranks players individually either way.
- Configure the K-factor. This controls how much ratings change per match:
- Low K-factor (10-16) — Ratings move slowly. Better for established ladders where stability matters.
- Medium K-factor (20-32) — Balanced movement. Good default for most communities.
- High K-factor (40+) — Ratings swing quickly. Good for short events or when you want fast rank movement.
- Set the starting ELO if you want something other than the default 1200.
- Optionally enable ELO decay — inactive players gradually lose rating points. You can set the decay interval (daily, weekly, or monthly) and the amount lost per period.
Recording Matches
Hit the leaderboard's Submit result button to record a match result. You pick the players on each side and specify the winner (and optionally a draw). The bot handles all the math and updates every participant's rating instantly — on a team match, everyone on the winning side gains the same amount.
The leaderboard displays each player's current ELO rating along with match statistics: matches played, wins, draws, losses, and the time of their last match.
What It's Good For
- 1v1 and team competitive games — Fighting games, chess, card games, racing duels, 5v5 shooters — any head-to-head format where you want a meaningful skill ranking.
- Ongoing ranked ladders — Keep a persistent ranking that evolves as players compete. No need for season resets (though you can if you want).
- Fair matchmaking — Use the ratings to pair players of similar skill for more competitive and enjoyable matches.
- Tournament seeding — Use ELO ratings to seed brackets for tournaments, ensuring top players don't eliminate each other in early rounds.
Tips and Best Practices
- Start with a moderate K-factor. A K-factor around 32 is a solid starting point. You can always adjust it later based on how your community responds.
- Use decay for active ladders. If your ladder is meant to reflect current skill, enable decay so that inactive players gradually drop, making room for active competitors.
- Require a minimum number of matches. Communicate to your community that ratings become meaningful after around 10-15 matches. Early ratings are volatile and don't reflect true skill yet.
- Don't change K-factor mid-season. Changing the K-factor affects how much future matches shift ratings, which can feel unfair to players who built their rating under different rules.
- Track match history. ELO boards show detailed stats per player. Use these to identify your most active players, track rivalries, and celebrate milestones (first player to 2000 ELO, longest win streak, etc.).
When to Choose Something Else
ELO requires head-to-head match results — 1v1 or team vs team. If your competition doesn't have matches at all, use Classic or High Score instead. If you're ranking creative submissions rather than competitive play, Image Rating is the right choice.