Player segmentation

Player segmentation is important in matchmaking as it impacts the number of players that can be matched with each other. This number impacts the time it takes to find another player.

The more players there are in a pool of tickets, the higher the chances of finding players to match with. At the same time, if there are too many players, then it'll take time to go through all the players and find a match for them.

However, if there aren't enough players in a pool of tickets, it takes Matchmaker time to find other players to match together.

The following diagram shows the relationship between time to match players and the number of players in a pool.

Diagram showing the link between time to match and number of players in a pool

How to segment player population

There are several ways to segment player population. The first type of segmentation is game driven segmentation. For example the different game modes that a game offers.

Players playing in these different modes should never be matched together.

In Matchmaker, this segmentation is represented by queues.

Examples:

  • Competitive
  • Casual
  • 1v1
  • 5v5
  • Free For All

The second type of segmentation is a segmentation based on attributes that are provided by the player who wants to join a match. This kind of segmentation is dynamic and based on filters and represented by pools. Pools always belong to a queue. Players from different pools could potentially be matched together. Matchmaker will use the attributes of a ticket to determine if a ticket matches the filters defined in a [pool](advanced-topics-queues-pools.md#Pools).

Pools can be used to dynamically merge/split player population in case a population is too small or too large.

Examples:

  • Platforms
    • Windows / Xbox® / PlayStation®5 / Nintendo Switch™
  • Player Properties
    • Ranks
    • Cheaters
    • Sportsmanship
  • Game Versions

The following diagrams show how the dynamic partitioning works:

1 - Player A will fall in the ticket pool 1.0 no cheater Player A falls into Ticket Pool 1.0 No Cheater

2 - The different players are distributed in the different pools as followed using the attributes on their ticket and the pools filters The distribution of all the players in the different pools

3 - The number of tickets for the pools of the beta version is too small and the cheater pool is removed. Tickets targeting 1.1-beta, cheater or not, will now all end up in the same pool. The cheater pool for the beta version is removed

Note: The deletion of a pool only applies for new tickets. Tickets already in a pool aren't redistributed to other pools.