Try [this][1], it's a system called Whole-History Rating. From the abstract: > Whole-History Rating (WHR) is a new method to estimate the > time-varying strengths of players involved in paired comparisons. Like > many variations of the Elo rating system, the whole-history approach > is based on the dynamic Bradley-Terry model. But, instead of using > incremental approximations, WHR directly computes the exact maximum a > posteriori over the whole rating history of all players. This > additional accuracy comes at a higher computational cost than > traditional methods, but computation is still fast enough to be easily > applied in real time to large-scale game servers (a new game is added > in less than 0.001 second). Experiments demonstrate that, in > comparison to Elo, Glicko, TrueSkill, and decayed-history algorithms, > WHR produces better predictions. It's been used rather successfully by a game I play called [Arimaa][2]. For a tournament score, rather than a player skill rating, you will probably want to treat all games as being played simultaneously, as opposed to allowing the ratio to fluctuate over time. If it's source code you're after, you may find this [pure Ruby implementation][3] helpful. It can support any two player game, as long as the outcome is a simple win/loss. [1]: http://remi.coulom.free.fr/WHR/ [2]: http://arimaa.com/arimaa/ [3]: https://github.com/goshrine/whole_history_rating