Rocket League Match Statistics Calculator

Mode:

Team 1

Team 2

Outcome Table

Variable Low End MMR High End MMR Average MMR Worst Case Team 1 Best Case Team 1
Mean Skill Team 1 $(\mu_{x})$:
Mean Skill Team 2 $(\mu_{y})$:
Mean Skill of Match $(\mu_{X-Y} = \mu_x - \mu_y)$:
Match Standard Deviation $\biggl(\sigma_{X-Y} = \sqrt{\sigma^2_x + \sigma^2_y}\biggr)$:
Match Quality:
CDF $P(X > x)|_{x=0}, T_1$:

Probability Density Visualizations

About

This calculator computes the TrueSkill statistics of a given match. There's a lot of whining going on about unfair matchups so I was motivated to see for myself how the math works out and why certain matchups occur. Most of the time statistical analysis will show there was nothing unfair about a matchup. Use this knowledge to your own detriment.

Terminology

Worst/Best Case

The worst case scenario for Team 1 is when the MMR range for all players is taken as the lowest possible within their tier/division, while Team 2 uses the highest. The reverse is true for the best case scenario.

Mean Skill $\mu$

This is the statistical value which represents a player's skill rating. It is different but proportional to MMR, which is given by the following equation:

$${MMR} = {\mu}{s} + o$$

Where $s$ is a scale factor and $o$ is an offset. To the best of my knowledge, the values Psyonix uses for this calculation are $s=20$ and $o=100$ [source].

Mean Skill Team x $(\mu_x)$

The mean skill rating of the collective team, which is a straight average of individual team member skill values.

$$\mu_x = \frac{\displaystyle \sum_{i=1}^N \mu_i}{N}$$

Where $N$ is the number of players on a team

Mean Skill of Match and Standard Deviation

This is where it starts to get neat. We're interested in obtaining the distribution of the difference of our two normally distributed variates. In this case Team 1 and Team 2. It turns out this difference is itself a normal distribution with mean and standard deviation as referenced in the results table above. This derivation is more than just a simple reference so I leave [this source] if you're interested in the details. As noted in the assumptions, the standard deviation for all players' skill is assumed locked at 2.5, which is why we see a constant 3.54 value for the match $\sigma$ across the board in all scenarios.

$$ \sigma_{X-Y} = \sqrt{\sigma^2_x + \sigma^2_y} $$

For any given team, the average $\sigma$ will simply be 2.5. That means $\sigma_x = \sigma_y$.

$$ \sigma_{X-Y} = \sqrt{\sigma^2_x + \sigma^2_y} $$ $$ = \sqrt{2{\sigma^2_x}} $$

Match Quality

The match quality value is a rating of the 'goodness' of a matchup. The closer this value to 1, the more ideal the match. This metric is highly dependent on the standard deviation, and to truly obtain a value of 1 we would need to have zero deviation. This is not realistic in practice or principle, nor is it possible with a minimum $\sigma = 2.5$. Thus, in reality, the closest we can approach is $Q \approx 0.83$.

CDF

This is the cumulative distribution function of the resulting match. Evaluated for a specific range (that is, $x > 0$) it gives the probability of a win for Team 1 (orange). It is the integral of the density function for $x > 0$. It follows that the probability for a win by Team 2 is simply $1-P(X > x)|_{x=0}$.

Assumptions/Gotchas

This calculator is not going to be 100% representative of what we see in the Rocket League matchmaking system for a few reasons, and I've detailed them below. Nevertheless, it gives a strong first approximation and idea of what in fact is transpiring behind the scenes. It's not some dark wizard magic; it's math.

References

TrueSkill

Normal Distributions

Rocket League MMR

©2017 Diego Benavides