# How would you do a team/individual foosball ladder?

August 28, 2010 9:43 PM Subscribe

Help me with a company foosball ladder.

We've got about a dozen people that are 'serious' players and play regularly, and I'm in the midst of running a round robin team tournament now. I'd like to just do an ongoing ladder, but I'm not sure where to start. I want to have a web app, and I can code it myself, but I'm not sure what ladder 'system' to use.

People play in teams and in solo games, and the teams kind of change a lot depending on whose on break at the time or whatever. Ideally what I'd like is for people to have an individual ranking and a team ranking, and have both team and solo games count for that.

Any suggestions for how to handle it? I can do the programming part myself, what I really need help on is the math (like, how would ELO work in a system like that?)

We've got about a dozen people that are 'serious' players and play regularly, and I'm in the midst of running a round robin team tournament now. I'd like to just do an ongoing ladder, but I'm not sure where to start. I want to have a web app, and I can code it myself, but I'm not sure what ladder 'system' to use.

People play in teams and in solo games, and the teams kind of change a lot depending on whose on break at the time or whatever. Ideally what I'd like is for people to have an individual ranking and a team ranking, and have both team and solo games count for that.

Any suggestions for how to handle it? I can do the programming part myself, what I really need help on is the math (like, how would ELO work in a system like that?)

When I ran a foosball league, logistics were the bigger issue (five tables, each different models, each with their own "house" rules, and one that was more warped than the Boston Garden floor).

Elo will work for singles (let me know if you need help on the math; I'm currently running an Elo ranker right now to help pick my next holiday). Doubles is a

There are a couple of exploits I can see; if your level of play is really uneven, then a top-ranked player could team up with a hump (like myself) and beat up on mid-ranked players for the points, since both teams would have similar averages. If people tend to play positionally, then a poorer-quality team playing offense and defense could gain points at the expense of better players who were both 5-bar specialists. (If there's a lot of singles play, then this isn't likely.

You may want to have a look at TrueSkill, which is Microsoft's Xbox ranking system; it handles team play, althouh it uses numerical integration to do the math. Source code is available, in F#, whatever the hell that is. The team did publish one paper a couple of years back where TrueSkill beat Elo in singles play, but not in doubles. Perhaps it's been improved.

I'm (arguably) not nerdy enough to do TrueSkill; for myself, I'd start with an Elo score of singles, but also record doubles play scores and see whether Elo made sense given doubles play (maybe take just the doubles games and see how an Elo calculated with them stacks up against the singles Elo, once there are sufficient games of each).

posted by Homeboy Trouble at 10:49 PM on August 28, 2010

Elo will work for singles (let me know if you need help on the math; I'm currently running an Elo ranker right now to help pick my next holiday). Doubles is a

**lot**harder. My first impulse would be to treat the combined players as the average of their scores. Using Wikipedia's notation, Ra for the team a would be the average of Ra of each of the players. This would be compared against Rb and, post-game, would be used to calculate the adjustment, with the same number of points applied to both players.There are a couple of exploits I can see; if your level of play is really uneven, then a top-ranked player could team up with a hump (like myself) and beat up on mid-ranked players for the points, since both teams would have similar averages. If people tend to play positionally, then a poorer-quality team playing offense and defense could gain points at the expense of better players who were both 5-bar specialists. (If there's a lot of singles play, then this isn't likely.

You may want to have a look at TrueSkill, which is Microsoft's Xbox ranking system; it handles team play, althouh it uses numerical integration to do the math. Source code is available, in F#, whatever the hell that is. The team did publish one paper a couple of years back where TrueSkill beat Elo in singles play, but not in doubles. Perhaps it's been improved.

I'm (arguably) not nerdy enough to do TrueSkill; for myself, I'd start with an Elo score of singles, but also record doubles play scores and see whether Elo made sense given doubles play (maybe take just the doubles games and see how an Elo calculated with them stacks up against the singles Elo, once there are sufficient games of each).

posted by Homeboy Trouble at 10:49 PM on August 28, 2010

You want to track:

- individual wins and losses.

- wins and losses for _each_ set of two people.

- all matches.

It's going to be hard to ELO rank teams if they're so malleable, because ELO only produces meaningful ratings after several games. If you just want to rank individuals using ELO on team games, you can take the mean ranking of each team, use that to determine the point transfer, and allocate the points to the individuals in the team evenly.

Since you're on a small scale, and I assume that each player plays against any other player with the same probability, it might be best just to track win/lose ratio and use that for rankings. ELO-type systems are useful when you're comparing people who have never played, but in a small company league, ratios do most of the same work without confusion. Using another simplifying assumption, you should count team wins as wins for both players involved. If you have both 1 vs. 1 games and 2 vs. 2 games, you should also probably count wins by single players as double. Don't worry about variance in player skill unless there are some players

posted by LSK at 10:56 PM on August 28, 2010

- individual wins and losses.

- wins and losses for _each_ set of two people.

- all matches.

It's going to be hard to ELO rank teams if they're so malleable, because ELO only produces meaningful ratings after several games. If you just want to rank individuals using ELO on team games, you can take the mean ranking of each team, use that to determine the point transfer, and allocate the points to the individuals in the team evenly.

Since you're on a small scale, and I assume that each player plays against any other player with the same probability, it might be best just to track win/lose ratio and use that for rankings. ELO-type systems are useful when you're comparing people who have never played, but in a small company league, ratios do most of the same work without confusion. Using another simplifying assumption, you should count team wins as wins for both players involved. If you have both 1 vs. 1 games and 2 vs. 2 games, you should also probably count wins by single players as double. Don't worry about variance in player skill unless there are some players

**significantly**better than others.posted by LSK at 10:56 PM on August 28, 2010

Response by poster: The problem with ranking players by win% is some people play significantly more than others and some people hardly play each other at all due to schedules.

posted by empath at 2:24 AM on August 29, 2010

posted by empath at 2:24 AM on August 29, 2010

This thread is closed to new comments.

posted by clorox at 10:42 PM on August 28, 2010