Back to guides
Round robin mathematics and workflowUpdated July 22, 20264 min read

Round robin group generator for any group size

Pair tournaments have a familiar rotation. Groups of three, four, or more are different: each group creates several pairwise contacts at once, and arithmetic can rule out a perfect design before a solver starts.

A tournament organizer studies a circular round robin schedule where people cards rotate between tables of three and repeat connections are marked clearly.

Guide visual

Round robin groups

Everyone-meets-everyone when the math allows it.

any group sizeno-repeat checksbest effort

Passing the arithmetic is not an existence proof

These conditions can reject impossible requests, but they do not guarantee that a combinatorial design exists for every remaining parameter set. Fixed hosts, balancing goals, keep-apart requirements, and uneven attendance narrow the solution space further.

Treat a perfect result as something to verify in the generated schedule, not something implied by a clean division.

Choose round robin settings honestly

  1. Fix N and G

    Count actual participants and decide whether equal group size is mandatory. Record any planned byes or uneven group explicitly.

  2. Check the requested horizon

    Use R × (G − 1) ≤ N − 1 to see whether no repeats are even possible.

  3. Check full-coverage arithmetic

    If everyone must meet everyone once, calculate (N − 1) / (G − 1) and verify equal-group divisibility.

  4. Generate without extra rules first

    Establish whether the basic shape can be solved before adding hosts, balance, or relationship constraints.

  5. Add requirements one at a time

    After each addition, compare validity, repeat count, and concentration with the simpler schedule.

  6. Choose an explicit compromise

    When perfection is unavailable, reduce rounds, change group size, allow uneven groups, add a bye, or accept a clearly labeled best-effort result.

One exact target and one impossible target

SetupArithmeticConclusion
16 people, groups of 4, 5 rounds5 × 3 = 15 and 16 divides by 4.An exact everyone-meets-everyone schedule is arithmetically eligible and should be verified in the result.
12 people, groups of 3, full coverage(12 − 1) / (3 − 1) = 5.5.There is no integer round count in which everyone meets everyone exactly once with this format.

Exact round robin has a visible signature

  • Your groups confirms the schedule shape: every attending participant appears once per round and every group has the intended size.
  • For exact everyone-meets-everyone-once coverage, every possible pair belongs in the histogram’s “1 shared session” bucket. The never-met and repeated totals must both be zero.
  • Any matrix cell with zero meetings or more than one meeting identifies the exact pair that breaks full coverage and the sessions involved.
  • Required fixed placements and required relationship rules remain solver invariants after they are added. Their compliance cards report “No violations” in a valid result; otherwise the result exposes a solver defect.
  • Keeping the exact unconstrained result provides a useful baseline: its histogram and matrix can be compared directly with the constrained version.

Worked example: sixteen people in groups of four

Five rounds give every person fifteen contact slots, exactly matching the other fifteen participants. Four equal groups fit each round. The target is exact coverage: every unordered pair should appear once.

Setup facts

  • 16 participants
  • 4 groups of 4
  • 5 rounds
  • 120 distinct participant pairs to cover

Review the result

  • Confirm every person appears once in each round.
  • Confirm every pair meets exactly once, not merely that the total repeat score is low.
  • Add constraints only after preserving a copy of the exact unconstrained result.

Try this setup in GroupMixer

This tool is preloaded with the example from this guide. You can edit the participants, constraints, sessions, and balance settings before generating groups.

Enter one person per line in the first column. Optionally, add attribute columns such as gender, role, or skill-level on the right. Those attributes can then be used to balance groups and set additional rules.
Name
Use 1 session for a single round of groups. Increase sessions when you want multiple rounds with new group assignments for the same people.
People
16
Groups
4
Approx size
4
Force specific people into the same group in every session. Write one "clique" per line, with names separated by commas. Example: "Alex, Sam" keeps Alex and Sam together.
Prevent selected people from being placed in the same group. Write one set per line; everyone on a line is kept mutually apart. Example: "Alex, Sam, Jordan" keeps all three separated.
Pin specific people to a specific group across all sessions. Enter one name and one group number per row. This is useful for leaders, presenters, or anyone who must stay in a known group.
Name
Group
Set target counts for each attribute value inside each group. Keep auto distribute enabled for fair automatic targets, or edit the counts manually when you need exact control.
Add an attribute in the participants list to use this section.
Need even more control?
  • Partial attendanceSet which participants attend which sessions instead of assuming everyone is present every round.
  • Custom group capacitiesGive each group its own capacity and override those capacities for specific sessions when room sizes or staffing change.
  • Session-specific constraintsApply scoped rules only where they matter, then use global objectives such as Avoid Repeats for whole-schedule quality.
  • Weighted preferencesAdd preferences that can be violated when needed, then tune their weights relative to other goals.
  • Encounter targetsTarget how often selected people should all meet across the schedule, including exact, minimum, or maximum encounter counts.
  • Group visit targetsControl how often selected people visit selected groups across sessions for station rotations, task exposure, or visit caps.
  • Advanced constraint tuningFine-tune repeat limits, attribute-balance modes, penalties, and other constraint details beyond the landing-page controls.
  • Solver settingsAdjust runtime limits, deterministic seeds, solver family, and other optimization settings.
  • Result analysisInspect score breakdowns, constraint compliance, penalties, and saved results in more detail.
Quick Setup and the scenario editor use the same saved scenario. Settings hidden here remain intact.

Coverage evidence

Related guides