*This post is only for people interested in the underlying details*

Your rating in glicko-2 consists of three numbers (μ, φ, σ).

μ is your estimated skill which starts at 0 and will go up for players better then average and down for players below average.

φ is your deviation, which starts at 2 and will go down whenever results come in and go up when they don't.

σ is your volatility, which starts at 0.06 and impacts how quickly your skill will change based on new results.

Glicko2 claims it's 95% certain your actual skill is between (μ-2φ) and (μ+2φ), and suggests using (μ-2φ) for rating / leaderboard, so we're doing that. It's also common to translate this (μ-2φ) to a more human-friendly number. We decided to go with levels, which are 50 + 7.5 * (μ-2φ), rounded to the nearest integer, but never below 0.

The 2P leaderboard updates are computed with τ=0.4; for 3-4P τ=0.3. These are relatively low values, because Dominion is a game with a relatively high chance that a weaker player beats a stronger player.

It's quite possible that 50 + 7.5 * (μ-2φ) is not very good at mapping everyone to the 0-100 range. If too many people end up at 0, or if someone goes above 100, we'll change the 50 or the 7.5 later on, but that won't impact the actual rating system under the hood.

----

There is only one queue with ranked players, even though there are several buttons to enter this queue. When you enter the queue, the system first looks at eligible opponents already in the queue. For every opponent it tries to assess the suitability on a scale of 0-1 on three different factors:

- level suitability = 1 - (atan(levelDifference / 20) * 2 / π)

- waiting suitability = atan(duration / 10000) * 2 / π

- familiar cards suitability = percentage of cards your opponent familiarized of the cards that you "expect to see". (you "expect to see a card" if you both subscribed to it and are familiar with it).

Both players have to say yes to eachother. For this decision, both the time and the familiarity factor are irrelevant.

- players who are "searching for a suitable opponent" will say yes to anyone with level suitability > 0.6 (~14.5 levels)

- players who are "searching for any opponent" will actually say yes to anyone with level suitability > 0.2 (~61 levels)

- players who are "waiting for expansions" will say yes to anyone who has subscribed to half the sets or more.

If there is at least one match (i.e. both players say yes to eachother) you will instantly find a game. You will be matched with the player where (level suitability + waiting suitability) is highest. If you're not matched, you're added to the queue.

familiar cards suitability is only used for the unrated queue, because that's the queue that will actually respect familiar cards. In that queue, players say yes to eachother if the familiar cards suitability is at least 0.4, and when selecting the best opponent this is based on the sum of all three (level suitability + waiting suitability + familiar cards suitability).