Twelve people arrive at the pitch and the first ten minutes go on picking sides. Someone takes offence, someone quietly hoards the good players, and half an hour later it is 8-1 and nobody is enjoying it. Here are the ways to split a group, and why the familiar snake draft gets it wrong more often than it seems.
Two captains
The classic: two people take turns picking. It works because captains know everyone and account for things no rating holds, like who is off form today, who has never played with whom and who came straight off a night shift.
It has one drawback and it is a human one: the last player picked hears that he was picked last. In a group that has played together for years this passes. In a new one it is the reason somebody does not come back.
Easy to soften: pick in the chat rather than out loud on the pitch, and announce the teams already formed.
The snake draft
Sort the players by strength, then deal them out 1-2-2-1: first to team A, second and third to B, fourth and fifth to A, and so on. It looks mathematically fair, which is why it is everywhere.
The problem is that the snake never looks at the result. It deals by position in the list rather than by the running totals, so the moment the group is uneven, say two very strong players and eight identical average ones, a gap opens up and nothing closes it.
We measured this on our own data. Dealing by snake draft left an average gap between the sides of 2.3 to 4.3 rating points, and more than half of all splits went out with a gap of three or more. After replacing the algorithm the average gap is 0.5.
A better method
The method that works has two steps, and the second matters more than the first.
- Deal by running total: the next strongest player goes to whichever side currently has the lower sum. Already better than a snake draft, because the decision is made on the result rather than on a position in a queue.
- Refine by swapping: if the sides are still unequal, swap a pair of players, sending a slightly weaker one to the stronger side and a slightly stronger one the other way. Repeat while the swaps keep improving the balance.
The second step is where most of the gain comes from. It is also exactly what groups do by hand when they look at the teams and say let's move one across each way.
Goalkeepers are a separate problem
A goalkeeper is not just a player with a rating. A side without one loses almost every time, no matter how evenly the outfield players are split.
- Two goalkeepers go to different sides. That one is not up for discussion.
- With one goalkeeper, the other side is short a set of hands, so the extra outfield player should go to the team without one.
- With no goalkeepers at all, either play without them or rotate by half, and announce which before kick-off.
A common bug in automatic team pickers: goalkeepers are taken out of the pool and separated first, but the gap between their ratings is never compensated with outfield players. It looks tidy and the sides are unequal from the first minute.
When the numbers are odd
Eleven people means six against five, and there is a real choice here. You can equalise the average rating, which leaves the side of five stronger per player, or equalise the total, which gives the smaller side the better individual players.
In practice equalising the total is fairer: an extra body is an extra pair of legs, and that advantage is not captured by an average. And there is always the option of playing with a rolling substitute.
Where the ratings come from
A rating does not have to be accurate, it has to be shared. Even a crude one-to-five scale set by a single person beats having none, because it gives the algorithm something to stand on.
- One to five is enough. Nobody can tell ten grades apart.
- One person sets them, not a vote: collective scoring drifts to the middle.
- Revisit every couple of months, not after every game.
- Keep them private. A rating is a tool for picking sides, not a report card.
fellasport does this for you: rate the players once and a single button produces even sides with the goalkeepers separated.
Try the team picker