To calculate Player A's total XP gain, the table must be consulted three times - once for each player they matched up again. To give an example of this system in use, consider a free-for-all match in which there are four players Once these values are tallied, the total is divided by the amount of enemy players, to gain a final XP value for the game as a whole. For a given player in the game, the table is consulted to perform a matchup against every single player of an enemy team in the game - if the player has completed a match of 8v8 slayer, the table would be consulted to determine the XP gain/loss for all eight opposing players. In broad terms, winning or losing matches against similarly-ranked players nets a lower XP gain/loss, whereas winning matches against players with higher skill gaps will gain greater rewards or greater loss.
This is achieved by consulting a table (shown below), dependant on the difference in level. Once a game is completed, the game awards or removes XP from each player depending on the final result. Rank is calculated per-playlist, meaning that a player's performance in one playlist does not affect their rank in another. Ranks are calculated purely on wins and losses, meaning actual in-game performance such as KDR, Flag captures, bomb plants, hills captured etc do not affect the final result merely being on the team does. Each game completed awards or removes XP, depending on the result of the match - this means that poor performance in a game can result in losing rank, while winning results in players ranking up. The displayed 1-50 rank is an abstraction of an XP value, hidden to the player and calculated behind-the-scenes. When matching players for online games, the algorithms in question try and pair up similarly-skilled players to ensure roughly evenly-matched games. Halo 2 uses a skill-based matchmaking system, informed by a numeric value of 1-50 to represent a given player's skill level in any given playlist.