Trofeo
← All posts

· The Trofeo team

How TrueSkill rates team games

Foosball and padel have a problem Elo can't solve: who's actually carrying? Here's how TrueSkill pulls individual skill out of team results - even with rotating partners.

Here's the argument every foosball office eventually has. You and the new hire just beat the two best players in the building. You're certain it was you. The new hire is certain it was them. The scoreboard says "2–0" and settles nothing.

This is the problem with team games: the result belongs to the team, but the rating needs to belong to the player. Win percentage can't help - it rewards whoever keeps getting paired with strong partners. Elo can't help either; it was built for 1v1. The system that does solve it is TrueSkill, and it's worth understanding how.

A skill range, not a single number

Elo gives you one number. TrueSkill gives you two: an estimate of your skill, and how uncertain it is about that estimate. Think of your rating as a range - "probably around here, give or take this much" - rather than a fixed point.

New players start with a wide range, because the system genuinely doesn't know yet. As you play, the range narrows and homes in on your real level. This is why a newcomer can shoot up or down quickly in their first handful of games, then settle: early on, the system is willing to be wrong by a lot, so it moves fast; later, it's confident, so it moves carefully.

TrueSkill was built at Microsoft to matchmake Xbox Live - millions of players, mostly in teams, needing fair games against strangers. Office foosball is the same shape of problem, just smaller.

Spreading credit across a result

When a 2v2 match ends, TrueSkill updates all four players at once. It already had an expectation for the match - derived from the four skill ranges - and the result either confirmed or surprised it. The more surprising the outcome, the bigger the shift, and crucially, the shift is shared out according to who was on each side and how good they were supposed to be.

Two consequences fall out of this:

A worked example

Say four players, on a TrueSkill scale where higher is better and a typical office spread runs from the low 20s to the high 30s:

PlayerSkill estimate
Marta (office champion)36
Dev31
You27
Sam (still learning)23

Two scenarios, same opponents on the other side of the table:

Play enough of these mixed matchups and the truth emerges. That's the whole point: you don't need to control who you're paired with for the ratings to come out right.

Rotating partners is a feature, not a bug

This is the part people don't expect. You might assume you need fixed teams for ratings to mean anything. The opposite is true - TrueSkill is better the more partners rotate, because every new pairing is another data point triangulating individual skill. Fixed duos who only ever play together are the hard case (more on that below); a league where everyone partners everyone is exactly where TrueSkill shines.

So run your foosball or padel sessions however they naturally happen - shuffle partners, let people grab whoever's free, mix singles and doubles in the same game. The ratings keep up.

Same engine, free-for-all version

A team match is just a ranked result with groups. Remove the groups and you've got a free-for-all - which is why the same TrueSkill engine rates a Mario Kart race. Record the full finishing order and everyone updates based on who they finished ahead of and behind, weighted by ratings. Finishing 2nd of 8 is a strong result against a strong field, and the math knows it.

The honest caveats

The one-sentence version

TrueSkill watches who you win with and who you win against, and over enough mixed matchups it pulls your individual skill out of the team result - no fixed teams, no spreadsheet, no more arguing about who carried.

Let the partners rotate and the foosball table finally settles the argument it's been having for years.

Not sure TrueSkill is the right fit? Compare it with Elo and Glicko-2 in which rating system fits your game.

Related reading