# TrueSkill

TrueSkill is a skill-based ranking system developed by Microsoft for use with video game matchmaking on Xbox Live. Unlike the popular Elo rating system, which was initially designed for chess, TrueSkill is designed to support games with more than two players.[1][2]

## Calculation

A player's skill is represented as a normal distribution ${\displaystyle {\mathcal {N}}}$ characterized by a mean value of ${\displaystyle \mu }$ (mu, representing perceived skill) and a variance of ${\displaystyle \sigma }$ (sigma, representing how "unconfident" the system is in the player's ${\displaystyle \mu }$ value).[1][2] As such ${\displaystyle {\mathcal {N}}(x)}$ can be interpreted as the probability that the player's "true" skill is ${\displaystyle x}$.[1][2]

On Xbox Live, players start with ${\displaystyle \mu =25}$ and ${\displaystyle \sigma =25/3}$; ${\displaystyle \mu }$ always increases after a win and always decreases after a loss. The extent of actual updates depends on each player's ${\displaystyle \sigma }$ and on how "surprising" the outcome is to the system. Unbalanced games, for example, result in either negligible updates when the favorite wins, or huge updates when the favorite loses surprisingly.

Factor graphs and expectation propagation via moment matching are used to compute the message passing equations which in turn compute the skills for the players.[1][2]

Player ranks are displayed as the conservative estimate of their skill, ${\displaystyle R=\mu -3\times \sigma }$. This is conservative, because the system is 99% sure that the player's skill is actually higher than what is displayed as their rank.

The system can be used with arbitrary scales, but Microsoft uses a scale from 0 to 50 for Xbox Live. Hence, players start with a rank of ${\displaystyle R=25-3\cdot {\frac {25}{3}}=0}$. This means that a new player's defeat results in a large sigma loss, which partially or completely compensates their mu loss. This explains why people may gain ranks from losses.

## Use in other projects

TrueSkill is patented,[3] and the name is trademarked, so it is limited to Microsoft projects and commercial projects that obtain a license to use the algorithm.