Reference articles on history, science, culture and more
Encyclopedia

TrueSkill

Rating system supporting games with more than 2 players

TrueSkill is a skill-based ranking system developed by Microsoft for use with video game matchmaking on the Xbox network. Unlike the popular Elo rating system, which was initially designed for chess, TrueSkill is designed to support games with more than two players. In 2018, Microsoft published details about an extended version of TrueSkill, named TrueSkill2.

It is based on a Thurstonian model with a Gaussian score distribution. It does not satisfy Luce's Choice Axiom.

01History and use

TrueSkill was developed by researchers at Microsoft Research as a Bayesian skill rating system designed for online games in which players often compete in teams and matches may involve more than two players or teams. In their first published description of the system, Ralf Herbrich, Tom Minka and Thore Graepel evaluated the method using match data collected by Bungie Studios during the beta test of Halo 2 and described its operation in the Xbox Live service.

Christopher Bishop later wrote that TrueSkill was deployed on Xbox Live in 2005 and has operated continuously since then, processing millions of game outcomes per day. Herbrich and colleagues reported that, as of September 2005, Xbox Live had over 2 million subscribed users and that the Xbox 360 Live service used TrueSkill for automatic player rating and matchmaking, processing hundreds of thousands of games per day.

In a survey of ranking systems for games and assessments, Educational Testing Service researchers described TrueSkill as a generalization of Elo-style ratings for multiplayer and team competitions and noted its use in Microsoft's Xbox online games. Later research from Microsoft proposed revisions and extensions to the original model, including TrueSkill2.

02Statistical model

In the model described by Herbrich, Minka and Graepel, each player's skill is treated as an unobserved (latent) quantity, and the system maintains a probability distribution over that skill. The prior over player skills is assumed to factorise across players, with each individual skill modelled as a Gaussian distribution with mean \mu _{i} and variance \sigma _{i}^{2} representing the system's uncertainty about that player's skill.

Match outcomes are modelled as arising from noisy performances. For a given game, each player i generates a latent performance value p_{i} that is normally distributed around their skill s_{i}, with a fixed performance variance parameter \beta ^{2}: s_{i}\sim {\mathcal {N}}(\mu _{i},\sigma _{i}^{2}),\qquad p_{i}\sim {\mathcal {N}}(s_{i},\beta ^{2}). The parameter \beta controls how strongly a single game's result is expected to vary around underlying skill (smaller \beta implies less randomness in outcomes).

For games with teams, the model assumes an additive team-performance structure: the latent performance t_{j} of team j is the sum of the performances of its members, \textstyle t_{j}:=\sum _{i\in A_{j}}p_{i}, where A_{j} is the set of players assigned to that team. A match result is represented as a ranking of the teams (with ties possible), and the likelihood of the observed ranking is defined in terms of inequalities between the corresponding team-performance variables.

Draws are incorporated by introducing a draw margin \epsilon >0. For two adjacent teams in the ranking, a win is modelled by requiring the higher-ranked team to exceed the lower-ranked team by more than \epsilon, while a draw is modelled by requiring their performance difference to lie within \pm \epsilon. Herbrich and colleagues related \epsilon to an assumed or empirically estimated draw probability, allowing the draw rate to be calibrated for a given game mode.

03Inference and rating updates

TrueSkill represents the joint model of skills, performances and observed outcomes as a factor graph. Inference is then framed as the computation of approximate single-variable marginals by message passing using the sum-product algorithm. For a single match, most of the messages in the graph can be represented as one-dimensional Gaussians, which makes the update computationally efficient.

A key difficulty is that the outcome constraints (wins and draws) introduce non-Gaussian terms. In the factor graph, these appear as comparison factors that impose inequalities on performance differences (and, for draws, on an interval around zero). The corresponding exact messages are non-Gaussian; the TrueSkill paper applies expectation propagation (EP) to approximate these messages by moment matching, replacing the intractable truncated-Gaussian forms with Gaussian approximations that have the same mean and variance. Because the comparison messages are approximate, the algorithm iterates message updates along paths connecting the affected variables until the approximate marginals stabilise.

After inference for a match, each player's updated marginal remains Gaussian and can be summarised by an updated mean \mu and standard deviation \sigma for use in later matches. The original system also includes a dynamics variance parameter (often written \tau ^{2}) to model skill changes over time between games.

04Parameterisation and rating display

TrueSkill maintains a Gaussian belief distribution {\mathcal {N}}(\mu _{i},\sigma _{i}^{2}) for each player's skill, but practical deployments must also choose a numerical scale and values for model parameters such as the performance noise and the rate at which skills are allowed to drift over time. Herbrich and colleagues reported that Xbox Live used an initial prior scale with \mu _{0}=25 and \sigma _{0}^{2}=(25/3)^{2}, corresponding to a prior in which negative skills are unlikely.

In the same deployment description, the variance of a single-game performance was set relative to the prior uncertainty as \beta ^{2}=(\sigma _{0}/2)^{2}, and the between-game dynamics variance (modelling skill changes over time) was set to \tau ^{2}=(\sigma _{0}/100)^{2}.

For player-facing displays such as leaderboards, Xbox Live displayed a conservative estimate rather than the posterior mean alone. The TrueSkill paper described displaying a player's skill as the 1% lower quantile of the belief distribution, \mu _{i}-3\sigma _{i}. Herbrich and colleagues wrote that this choice was intended to ensure that top positions in leaderboards were held by players who were both highly rated and estimated with high certainty, and noted that the prior implied an initial displayed value of 0=\mu _{0}-3\sigma _{0}.

05Worked example

The following worked example illustrates how TrueSkill updates ratings after a three-player free-for-all match, using the model and win-update equations described by Herbrich, Minka and Graepel. In TrueSkill, each player i has a skill belief distribution {\mathcal {N}}(\mu _{i},\sigma _{i}^{2}), where \mu is the mean skill estimate and \sigma is the uncertainty.

After a match, the system combines the prior belief with the match result to obtain a new belief distribution (the posterior). The posterior mean is the mean of that updated distribution, i.e., the system's best single-number estimate of the player's skill given the evidence so far.

In the original Xbox Live scale described in the TrueSkill paper, a common choice for the performance noise is \beta =25/6. This example uses that value and assumes no draws.

Displayed rating

In some deployments, a conservative skill estimate is displayed rather than the posterior mean. The TrueSkill paper describes displaying the 1% lower quantile of the belief distribution, which for a Gaussian distribution is approximately \mu -3\sigma. In plain terms, this is a value that the system expects the player's true skill to exceed about 99% of the time, given the current uncertainty. As a result, a player with a high mean but large uncertainty (large \sigma) will have a lower displayed rating than a similarly rated player whose skill is estimated more confidently.

Setup

Three players enter a match with the following prior ratings:

Player\mu (before)\sigma (before)Displayed (before) \mu -3\sigma
Alice30612
Ben2574
Chloe208−4

The game finishes with Chloe in first place, Alice in second place, and Ben in third place.

How a three-player result is represented

For a strict ranking with no ties, the factor-graph formulation represents the result using adjacent comparison constraints (Chloe beats Alice; Alice beats Ben). There is no separate "Chloe beats Ben" factor in this minimal representation because it is implied by the ranking: if Chloe is above Alice and Alice is above Ben, then Chloe is above Ben.

In the full TrueSkill algorithm, message passing in the factor graph uses both adjacent constraints together to update all three players in a single inference problem (and may iterate). The step-by-step calculations below apply the standard two-player win update to each adjacent comparison in sequence to make the mechanics transparent; Chloe's advantage over Ben is still reflected through the chain, because Chloe's win pushes Alice down, and Alice's win pushes Ben down.

Win update equations (two players)

For a winner w and loser l, define c={\sqrt {\sigma _{w}^{2}+\sigma _{l}^{2}+2\beta ^{2}}},\qquad t={\frac {\mu _{w}-\mu _{l}}{c}}.

Let \phi and \Phi be the standard normal probability density and cumulative distribution functions. For a win (no draw margin), define v(t)={\frac {\phi (t)}{\Phi (t)}},\qquad w(t)=v(t){\bigl (}v(t)+t{\bigr )}.

The mean updates are \mu _{w}'=\mu _{w}+{\frac {\sigma _{w}^{2}}{c}}v(t),\qquad \mu _{l}'=\mu _{l}-{\frac {\sigma _{l}^{2}}{c}}v(t), and the uncertainty decreases according to \sigma _{w}'^{2}=\sigma _{w}^{2}\left(1-{\frac {\sigma _{w}^{2}}{c^{2}}}w(t)\right),\qquad \sigma _{l}'^{2}=\sigma _{l}^{2}\left(1-{\frac {\sigma _{l}^{2}}{c^{2}}}w(t)\right).

Step 1: Chloe beats Alice

Using Chloe (\mu =20,\sigma =8) as winner and Alice (\mu =30,\sigma =6) as loser, with \beta =25/6:

  • c=11.61, t=-0.86
  • v(t)=1.42, w(t)=0.78

Applying the update gives:

  • Chloe: \mu increases to 27.80; \sigma decreases to 6.34
  • Alice: \mu decreases to 25.61; \sigma decreases to 5.33

Step 2: Alice beats Ben

The second comparison uses Alice's updated rating from step 1, with Ben unchanged so far. Alice (\mu =25.61,\sigma =5.33) beats Ben (\mu =25,\sigma =7):

  • c=10.59, t=0.06
  • v(t)=0.76, w(t)=0.62

Applying the update gives:

  • Alice: \mu increases to 27.66; \sigma decreases to 4.89
  • Ben: \mu decreases to 21.48; \sigma decreases to 5.97

Ratings before and after the match

Player \mu (before)\mu (after) \sigma (before)\sigma (after) Displayed (before) \mu -3\sigmaDisplayed (after) \mu -3\sigma
Alice3027.6664.891212.97
Ben2521.4875.9743.56
Chloe2027.8086.34−48.79

In this example, Chloe's first-place finish requires her performance to exceed Alice's, and Alice's to exceed Ben's, so the inferred skill distributions shift accordingly. Chloe's large increase in \mu reflects that her win over a substantially higher-rated opponent was unexpected under the prior ratings, while the decreases in \sigma reflect that the match provides additional information about the players' relative skills.

06TrueSkill2

In 2018, Microsoft researchers published TrueSkill2 as an extension of the original TrueSkill model that incorporates additional information available in some online games, beyond the final win-loss ordering. The paper describes using signals such as player experience, squad membership, individual statistics (for example kill and death counts), quitting behaviour, and performance in other game modes, with the aim of improving the accuracy of inferred skills for matchmaking.

The authors described TrueSkill2 as retaining the same interface as classic TrueSkill, a single-number skill rating intended to remain compatible with existing matchmaking systems, while changing how skills are inferred from historical data. They described automatic parameter estimation from batches of historical matches, and two operating modes: an online mode that propagates skills forward in time and a batch mode that infers parameters and skills over all times (referred to as TrueSkill Through Time).

Compared with classic TrueSkill, the paper lists model changes including: incorporating individual player statistics alongside team win/loss; treating mid-game quitting as a surrender for rating purposes; borrowing information across game modes by modelling skills as correlated between modes; and modelling skill evolution as biased towards improvement, especially in a player's early matches in a mode. It adds an explicit squad effect, modelling players who queue together as performing better than they would individually.

On match data from Halo 5, the authors reported that TrueSkill2 improved prediction of historical match outcomes, giving 68% accuracy on their evaluation compared with 52% for the original TrueSkill system.

08Patents and trademarks

TrueSkill is patented, and the name is trademarked, so it is limited to Microsoft projects and commercial projects that obtain a license to use the algorithm. The patent is scheduled to expire on April 9th, 2029.

Watch videos about TrueSkillExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article TrueSkill, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.