#### Introduction

In this article we would look deeper into MMR system used on Gwent Pro Ladder. We would start from discussing its fundamental properties and conclude with interactive graphs describing Gwent MMR system. Expect math reasoning and a couple of equations. For more basic information on ranked play you could also check out guides from TLG (Atrsharpe) or Aretuza (general/pro, Lothari/Lord Gort), which could be a bit outdated in a few places, but still provide good insight.

#### What do we know about MMR system?

As you may remember from Monkey Threshold (1,2) articles Gwent Pro Ladder rating system is very well reproduced by **ELO system** with **K=15**. At this point some of you may ask the natural question: ‘what the frog is ELO system and how is this information helpful?’ Well, we are here mostly to answer this question.

#### Introduction to ELO system

While Elo is often written in caps (just as in the header above) in the fact it is just the surname of its inventor: Arpad Elo (wiki).

As every rating, ELO system comes into play whenever playerbase is too big and diversed to simply distinguish players by pure winrates. Imagine that you play Gwent casually with friends and achieve stable 90% winrate. It could mean you are better than top Gwent players or not.

Moreover, imagine that your winrate is 30%. Don’t worry, it could mean you are still better than top Gwent players, but your friends are god-level geniuses. Your skill is always relative and your winrate against different opposition takes different value. ELO system is here to measure your and your opposition average skill based on the result of each game played in various environments.

The choice of starting rating for all players is arbitrary and irrelevant in the ELO system. In the case of Gwent it is **2400** on every faction.

#### Building Elo system from scratch

Let’s assume that:

- the outcome of each single game is a random variable.
- for each player there exist a hidden underlying ‘skill’ variable
- the probability \(P_A\) for player A to win against player B is solely dependent on skill difference
- after each game the rating of both players is adjusted according to the outcome
- in an imaginary state where infintely many games were played and skill was frozen, \(P_A\) becomes a function of average rating difference between A and B

The 5th point is where we can start to put first mathematical formula. Let’s denote ranking of A, B players by \(R_A\) , \(R_B\). Let’s define rating difference as \(R_d\) Then 5. implies that \(P_A (R_d) = 1 – P_A (-R_d)\). Moreover \(P_A\) should be defined in whole \(R_d\) space and as every probablity could not exceed 1.

These considerations only disqualify any simple linear function – it couldn’t be defined in the whole space and lower than 1 at the same time. In fact \(P_A\) **must **tend to 1 in an assymptotic way, because only this guarantees that the ranking system is capable of reproducing **any skill difference **possible.

Taking all these into account we have to look for one of so-called sigmoid functions and the most standard one of those is the **logistic function**:

\(P_A(R_d)=\frac{1}{1+e^{-aR_d}}\)

The parameter \(a\) multiplying \(R_d\) argument defines the spread of the rating. The bigger the \(a\), the tighter rating distribution becomes. Exponential function in the denominator changes really fast with \(R_d\), so needs to be dumped rather amplified. Otherwise we would have to deal with fractional ratings, which are not friendly for human to handle (imagine having 2400.89213 fMMR rating while leader stands at 2401.77325).

In the classical ELO system \(10\) rather than \(e\) power base is used. In the mathematical sense changing power base only multiplies the exponent by a constant factor. Also it is more convenient to write dumping constant in the denominator rather than numerator. Let’s call this constant \(\beta\). In the classical Elo system \(\beta = 400\) constant is used so we arrive at:

\(P_A(R_d)=\frac{1}{1+10^{-R_d/400}}\)

Well, we progressed a lot already, but that’s not even all the implications of 5. In the stationary state expected rating change in a game between two players must be equal to 0. This determines relation between **rating difference** \(R_d\) and** expected rating change **\(E(\Delta{R_d})\) after game. Let’s also define \(w\) as number of points gained by A after win and \(l\) as number of points **lost **after a loss. Then we get:

\(E(\Delta{R_d})\)\(=P_Aw\)\(-(1-P_A)l\)

In the stationary state \(E(\Delta{R_d})=0\). After substitution to the equation above:

\(w=\frac{1-P_A}{P_A}l\)

So that \(w\) is linearly dependent on \(l\). To arrive at particular ELO system we have to link \(w\) with \(l\) by one more equation.

A natural way to do it would be introducing constant ‘stake’ of points for each player in every game. Let’s denote this stake by \(k\):

\(k = w +l\)

After substitution to equation above:

\(w=(1-P_A)k\)

#### K-factor

The \(k\) constant is nothing else, but the **k-factor** mentioned at the beginning of the article. The choice of k is arbitrary. It does not impact statics of ELO system – average rating performance remain exactly the same – but governs the dynamic of the system.

High value of K means faster rating changes and greater impact of the most recent games played. Low value of K makes rating gaps more constant and reaching top levels less random.

The argument for high K value is that new players skill is often misjudged with their starting ELO and they would need fewer games to climb to high ranks / fall into rating abyss. It is also important for their opponents – queing TailBot 12 times below 2500 is definitely not a lucky event for a MMR climb.

On the other hand, low K value guarantees less variance and smaller impact of random, unlucky losses.

It should also be noted that K factor doesn’t have to be identical for everyone for the system to work. In chess K-factor depends on the number of games played – new, junior or low rated players have higher K (official ELO calculator of World Chess Federation)

Common experience and tests made by players tells that **K=15 **in Gwent. It means that the system is more dynamic than at Grandmaster(GM) level chess (K=10) but less dynamic than at sub-GM (K=20 for ELO<2400)

#### Interactive graphs

Let’s now see how ELO system in Gwent works in numbers (if you observed different rating changes in practice let me know)

#### Closure

Thanks for reading! Personally I really like MMR system used in Gwent: The Witcher Card Game and here I presented to you its foundations and properties. Follow-up article exploring the consequences and confronting theory with practice coming soon. Stay tuned!