How We Built an ELO Rating System for 1v1 Esports Matches
1v1 ELO for Esports RaiseGG is a competitive gaming platform where players stake USDC on 1v1 matches in CS2, Dota 2, and Deadlock. We needed a fair ranking system. The Algorithm Standard ELO with e...

Source: DEV Community
1v1 ELO for Esports RaiseGG is a competitive gaming platform where players stake USDC on 1v1 matches in CS2, Dota 2, and Deadlock. We needed a fair ranking system. The Algorithm Standard ELO with esports modifications: const K = 32 // Base K-factor const expectedScore = 1 / (1 + Math.pow(10, (opponentElo - playerElo) / 400)) const newElo = playerElo + K * (actualScore - expectedScore) Our Modifications Stake-Weighted K-Factor Higher stakes = more ELO at risk. A $20 match matters more than a $1 match. Game-Specific Adjustments CS2 1v1s are more volatile than Dota 2 1v1s, so K-factors differ by game. Placement Matches New players get a higher K-factor for their first 10 matches to quickly reach their true skill level. City Rankings Players belong to cities. City ELO is the average of top 10 players from that city. Creates regional rivalries. Results After thousands of matches, the system produces stable rankings where: Top players consistently beat lower-ranked opponents Upsets happen bu