Original Post — Direct link

Prologue

Matchmaking uses MMR to find players of similar skill. When in solo queue, you will definitely find players that are near your own rating. It's quite rare to find people more than 100 rating than your own unless you are queuing in a low populated playlist or your rank region is lowly populated (e.g. players in or near the Top 100).

However, parties change who you matchmake against. From release of the game to (Legacy) Season 3 in 2016, it used to use the "average" between two players. A party of 500 rating and 1000 rating would face players in the range of 750 rating as the average between two players. It would still use average even for a party of three or four players (Chaos 4v4 in Casual). However, matchmaking now works differently. Since September of 2016, matchmaking uses a "Weighted Average".

 

How it works now

Yes, matchmaking uses a "Weighted Average". What does this mean? It means that instead of using the average which is a point between all players' MMR, it will still weight more towards the higher rated player.

But, in what way does it weight? It weights heavily toward the higher rated player(s) in the party. So if you were to have a party of 500 rating and 1000 rating in the Competitive 2v2 playlist, rather than being at 750 rating, the party would search near the range of ~960 Skill Rating. Notice how it's very, very close to that of 1000 rating, but not exactly. In the Casual playlist, it would weight to ~916 Skill Rating.

Yes. Casual and Competitive are weighted differently.

 

The Math

So what's the equation for party matchmaking? It's a concept called the "Root Mean Square". This is what it looks like

as an equation. If you are curious what the value of "n" is, it depends on whether the playlist is Casual or Competitive. If it's Casual, "n" has the value of "7". If it's Competitive, it has the value of "15". Let's go this step-by-step in an example.

Let's do a party of two. One player with the rating of 100 and another with the rating of 500. The first step is the exponent value of "n" being applied to both players' ratings. For this, we will choose the Casual value of "7". So 100 brought to the power of 7 is the number "100,000,000,000,000". The value of 100 brought to the power of 7 is the number "7,812,500,000,000,000,000". Now that we have done the exponent part of the equation, next up is the "Mean" part of the equation. We now average this number by the number of players in the party (in this case, 2). So we just add the two numbers together then divide by two. Doing so gives us a value of "3,906,300,000,000,000,000". Finally, we get to the "root" part of the equation. The root would normally be a square root, but in this case it is the same value as the exponent we used, which in this case is "7". This gives us the final party rating value, which is the value of "452.86", or ~453 Skill Rating. The entire party's matchmaking value will search in the range of ~453 Skill Rating in the Casual playlist.

If we were to use the Competitive "n" value, the above party (a 100 rated player and a 500 rated player) would weight to "481.94", or ~482 Skill Rating.

 

Can we compress the numbers to be smaller?

Yes. "Skill Rating" (the value you see on 3rd party websites and mods) is actually not the "MMR" value. If you have the rating of 1000, this is not the MMR value. It is linearly scaled with MMR, but it is not the MMR value, which is actually much smaller. This is actually really good because we're working with exponents so using the much smaller MMR value can help a little bit.

Let's say you have a true MMR value of "50". However, this is the real MMR value so it appears much smaller than the rating value you are familiar. The equation to convert MMR into Skill Rating is "Multiply by 20, add 100, and round to the nearest integer". So in the case of 50 MMR, this will equal 1,100 Skill Rating.

In order to get the MMR value from skill rating, you just do the reverse. Subtract by 100, then divide by 20. This is the MMR value. And with this much smaller value, you can use this to do the "Root Mean Square" equation for parties. Just remember to convert it back to "Skill Rating" afterwards.

 

The Exception

Party matchmaking works this way for all parties in all playlists. However, there is one exception to the "Weighted Average" behavior with parties. When there are any players in the party that are at exactly 1140 Skill Rating or above, then matchmaking will be based entirely off of the highest player's rating in a party. It will not use the "Root Mean Square". If you have someone who is rated 500 partied with someone who is rated 1200, then the matchmaking will be based solely off of the player at 1200.

I know that the weighted average is very heavy and that this party would result in ~1150 rating, but this can make a difference in winrates when people try to abuse matchmaking.

 

Conclusion

I hope this cleared up some confusion on how the matchmaking works in parties. As well, I would personally like to see a tool or a website where you can put the rating of all the players in the party to approximate where the weighting will be. I think it would be pretty neat and could better inform players what they may be getting into when they queue in a larger rank gap.

External link →
about 3 years ago - /u/Psyonix_Corey - Direct link

Originally posted by Dirty_SteveS

How do you know that casual matchmaking uses the root mean squared equation to calculate party mmr? I’ve seen this equation discussed numerous times with relation to competitive matchmaking, but I’ve never seen it confirmed to apply to casual matchmaking.

Casual uses the same equation, different exponent, as described in the post.

about 3 years ago - /u/Psyonix_Corey - Direct link

Originally posted by Dirty_SteveS

Thank you for clearing things up as there is no confirmation that I’m aware of stating casual matchmaking uses the root mean squared equation until this comment.

While I have you, could you tell me if PsyNet is hosted on Epic servers or is it still hosted on Psyonix servers?

Epic Servers is kind of a misnomer. Fortnite relies heavily on Amazon Web Services. Our architecture is largely built on Google Cloud and that is where PsyNet exists.