GenerateRandomSearch

Balanced Team Allocator

Splitting players into even teams by ability is the partition problem, which is genuinely hard. The usual rule — give the strongest remaining player to the weakest team — is fast and good, and not always best. This applies it, measures the spread between the team totals, and for small groups searches every possible split to say exactly how much better the best one would be.

What this generator does

Sorts the players strongest first and gives each to whichever team currently has the lowest total. For twelve players or fewer across up to three teams it also searches every possible split to find the smallest spread achievable.

How to use this tool

  1. List your players, one per line, with a rating each.
  2. Choose how many teams.
  3. Read the teams and the spread between their totals.
  4. On a small group, compare against the best possible spread.

Understanding the controls

Players and ratings
One per line as a name and a rating. The rating is yours to define — skill, form, handicap, whatever you are balancing on.
How many teams
Between 2 and 8. Team sizes may differ by one when the players do not divide evenly, which is normal and not a fault.

Common use cases

  • Making even teams for a five-a-side or a quiz
  • Splitting a class into groups of similar ability
  • Checking how close a team split is to the best possible
  • Balancing a league draft by player rating
  • Seeing why a greedy split is usually good enough

How this generator works

Placing the strongest remaining player on the weakest team is the longest-processing-time rule, and it is a good heuristic precisely because it deals with the big imbalances while there is still room to absorb them. For a small enough problem the tool then searches every assignment exhaustively, fixing the first player to the first team to remove the symmetry, and reports the best spread it finds. Before display every player is confirmed to be on exactly one team, every total is re-added from its own players, and any stated best is confirmed no worse than what was achieved.

Randomness and fairness

Nothing here is random. The same players and ratings always give the same split — this balances rather than shuffles, and the team generators are the ones for a random draw.

For how randomness is produced across the whole site, see how Generate Random works.

Limitations and good to know

  • Balancing on a single rating ignores position, form and who plays well together, all of which usually matter more.
  • The greedy rule is not always optimal, and above twelve players the exhaustive comparison is skipped because it grows too fast.
  • Team sizes are not constrained, so a very uneven set of ratings can produce teams of different sizes.
  • The split is only as good as the ratings, and a rating is a judgement rather than a measurement.

Privacy and your data

Names and ratings stay in your browser. Nothing is uploaded, stored, or included in analytics — only how many players were split.