Halo Infinite matchmaking: Opening the Dialogue

In this topic I hope to discuss Halo Infinite’s matchmaking method including all of its pieces leading to the whole experience. There may be gaps in what I write; I will edit or repost with more accurate information in the future as the community helps enhance and correct our understanding. Lets start with a broad breakdown of the pieces:

Xbox Live:
Just a reminder that friending/blocking/reporting accounts does not impact your likelihood of matching players. The only way to remove players is report them through Halo Waypoint Support Tickets.

Steam & Windows Store App:
As per above, without any client/kernel level anti-cheat system, only Halo Waypoint Support Tickets can get rid of players.

True Skill 2
An improved Bayesian skill rating system stemming from TS1. Based on a testing dataset of 700k historical Halo 5 matches the TS2 model proved an increase of win/loss predictions from 52% in TS1 to 68% in TS2. The model applies the following key broad calculations:

  1. A player’s latent skill is inferred from their individual statistics such as kill and death counts, in addition to team win/loss.
  2. When a player quits or drops out in the middle of a game, it is treated as a surrender and their skill is updated as if they lost a game (regardless of actual outcome).
  3. A player’s skill in a game mode is assumed statistically correlated with their skill in other modes, so that when a player starts a new mode, their skill rating from other modes is borrowed.
  4. The random walk of player skill is assumed biased toward increasing skill, with larger bias during the first matches a player plays in a game mode.
  5. When a player is part of a squad, their performance is assumed to be better than normal.

Importantly, the TS2 model holds a squad size modifier where the team MMR is greater than the individuals’ MMR and helps predict wins/losses to support opportunities to rank up by earning the right to match against higher MMR enemy. I acknowledge that until 343 applies a hard-stance patch on team based skill-gap (MMR) manipulation, Onyx players will continue to party with Gold and below to abuse the system.

Azure PlayFab Matchmaking
A backend platform integrating game services, analytics and more. We really only care about the matchmaking API for this discussion; When you click play on a game type this API is fed your historical performance information from TS2 to determine your matchmaking ticket parameters, while the game itself has other common parameters (acceptable ping range for example) ready to send.

After maturing your statistics in TS2’s model, if you are playing exactly at or above TS2 performance expectations (Kills Per Min and Deaths Per Min) while winning consistently you will slowly increase the gap in a parameter of the PlayFab Matchmaking ticket possibly known as “Skill” or “DifferenceRule”. For the sake of discussion lets just call this “skill-gap”. Whatever your rank may be, consider one grade above or below i.e. if you are D5, one below is D4 and one above is D6.

The acceptable matchmaking ticket “skill-gap” parameter varies depending on your wins and losses. Note this increase is for you, and you alone, that is why others who are not suitable for attempting to rank up and have a skill-gap parameter of one (1) at rank D5 may absolutely destroy your opportunity for winning against a larger skill-gap enemy.

It is not all bad though; if you’re consistently smashing your rank, but losing to the above rank, you will average out your Match Making Rank (MMR) for your current situation, leading to many wins in the same pool, eventually inflating your MMR which leads to more opportunities to rank up. Perseverance should lead to higher ranks.

TrueMatch Matchmaking System
This machine learning backend system reviews the state of PlayFab server statistics; how many games are being played, and how many players are playing in all regions, in each game type.

It uses the PlayFab server statistics to modify some key matchmaking ticket parameters that were already determined from your TS2 data and the game client. If your location has many players near you in your skill-gap it will endeavour to build a queue of fair matches (TS2 expectation matches) with low ping.

If your location has very few players near you in your skill-gap it will look for both the “fair match with low ping players” and an expanded location (ping) and expanded skill-gap (MMR) of players at the same time. This is why most of the world ends up on a West US server! There are so many US players that worldwide players matchmaking tickets often fulfill the expanded criteria before the fair and narrow criteria.

this is also why US players get upset at versing 150+ ping foreigners on West US servers; though many good US onyx players I verse at 150-200 ping have proven to be pretty sore winners when they message me afterwards a simple “Onyx 17xx?” :wink:

Matchmaking Rank (MMR)
To get technical, your MMR is your TS2 performance metric which technically exists per game-type. In actuality the TS2 model holds a "skill-gap (or MMR) assumption for you based off of:

  1. Your MMR within your most played game type (having > 10 games in a lobby)
  2. Your MMR within all played lobbies (very weakly weighed as independent MMRs)
  3. A negative modifier to your skill-gap parameter based on absence between games (having a life).

This is this causing us all a lot of grief because:
If I am someone who plays ranked 90% of the time, the 10% I go to play socials my skill-gap parameter / assumed MMR holds equally high on these unplayed game types and I get no chill :frowning:

If I am someone who plays socials 90% of the time, the 10% I go to play ranked, my assumed MMR can cause a lot of grief. Just because I can get a killionaire in my tank on BTB every day, does not mean I can take on a team of D6 - Onyx 1800; perhaps I am only a Plat 6 - D3 player. I am in over my head. :ok_man:

Please help me!
What I am really interested to find is the “40%-65% win rate” or the “50% win rate” information everyone is openly discussing as fact. I have covered a lot of reference material and none of it seems to discuss win percentage shaping. I hope others can contribute, argue, and prove what is true/false. All of this information is from my own understanding and is not necessarily correct

Below is my list of references:

TrueMatch: www-microsoft-com/en-us/research/truematch/
TS2: www-microsoft-com/en-us/research/publication/trueskill-2-improved-bayesian-skill-rating-system/
PlayFab: www-microsoft-com/en-us/gaming/playfab/features/multiplayer/matchmaking/
MMR: earlygame-com/gaming/halo-infinite-mmr-matchmaking-rank#:~:text=MMR%20stands%20for%20Matchmaking%20Rank,your%20games%20will%20play%20out.
Anecdotal: www-youtube-com/watch?v=97dp17JTB8w&t=332s&ab_channel=MintBlitz
1 Like

Good write up.

I wish more people would put a little bit of effort into working out why the system behaves like it does.

Probably worth mentioning that TS2modifies its metrics according to time spent in the game and the number of players on each team.

And I think you are slightly over playing the “global MMR”. It is true that it has influence over the individual game mode MMR curves. But this influence diminishes with time (as the offset MMR narrows and stabilises).

If you have just played a bunch of good games in a familiar playlist your global MMR will be pushed up. This drags all your MMRs up a bit (they are offsets after all). It kind of acts like a “good form” metric.

When you then duck into a lesser played game mode with a volatile MMR it tends to play to the high end of your wider MMR curve. Combine this “expectation” with a game mode you may not be as good in and you tend to find the games on the hard side.

In time your MMR in that game mode will settle and stabilise. It will still move up and down a bit with your “form” in your global MMR, but because it is less volatile it won’t swing anywhere near as much.

I’ve asked for references in a couple of SBMM threads and nothing has ever been produced.

It’s just an emotional anecdote.

Some players are frustrated that they can’t express their skill with high win rates. They misinterpret the 50:50 nature of evenly matched teams as 343 deliberately sabotaging their efforts.

But thanks for the write up.

Probably just needs an explanation about the CSR to round it out.

1 Like

Thanks Darwi,

After a good sleep I’ll look at a draft amendment and push it out during the week.

Unfortunately, an ‘enjoyment’ metric doesn’t exist because, well, how would one quantify enjoyment? If an enjoyment metric did exist then I doubt it would be implemented. What I mean is the loathsome despair I fall into each time the game ensures I lose. For example, why I would lose any csr after I am the only player left versus 4 is shocking. Likely, they are giving too much relevance to individual kills and deaths, while ignoring team constitution. That is, if you do well when your team is made up of players with a particular playstyle, then it would make sense to include that when the team is match-made.

Earlier tonight I was on Catalyst CTF ranked, pulling 24/12/10 stats with 1 cap and we were on a tie overtime round, less than 60 seconds remaining.

I pull a double kill at Ivy/green, run down the spine to bottom mid and power slide onto OS pickup only for the game to crash to desktop. One of the rare times it actually crashes for me.

I went from Onyx 1808 to 1793 for a crash at end of game, that my team still tied, in which I was heavily carrying. Clearly quitting is one of the heavily influencing parameters.

There’s no such thing as the perfect model :slight_smile: