Back to guides
Grouping method decision guideUpdated July 22, 20264 min read

Random groups vs balanced groups vs constrained groups

Use the least complicated method that can produce an acceptable result. Random grouping needs the least data; balance adds a composition preference; constraints add rules whose violation would make the assignment unusable.

A person chooses between random, balanced, and constrained grouping controls while people cards sort themselves.

Guide visual

Choose the right grouping mode

From quick random splits to rule-aware schedules.

simplebalancedrules

Combine only the layers the outcome needs

These are not mutually exclusive modes. A scenario can use valid capacities, hard requirements, balance preferences, and random variation together.

LayerAdd it whenWhat it does not promise
Random variationSeveral valid assignments are acceptable and variation or transparency matters.Even attributes or compliance with unstated relationship rules.
Balance preferenceComposition should tend toward a category distribution or numeric total.Perfect balance when counts, capacities, or requirements conflict.
Hard requirementsA fixed assignment, separation, attendance, or capacity rule must hold.That every preference can also be optimized.

Select the smallest sufficient model

  1. Define an acceptable result

    Write one sentence describing what must be true. If it mentions only group sizes, start random.

  2. Add one composition goal if needed

    If the sentence mentions role, topic, or another measurable composition concern, add one balance preference.

  3. Encode actual requirements

    Add fixed, together, apart, attendance, or capacity rules only when violating them would make the assignment unusable.

  4. Choose the interface

    Quick Setup handles straightforward lists and common options. Use the Scenario Editor for per-session attendance, detailed capacities, numeric sums, soft relationship preferences, or objective tuning.

  5. Review in the correct order

    Check attendance and capacity, then requirements, then preferences. Do not use a good preference score to excuse an invalid schedule.

  6. Simplify when possible

    If random grouping would have been acceptable, remove unnecessary columns and rules. Less data and fewer assumptions are easier to explain.

The evidence changes with the grouping model

  • For random groups, the useful evidence is the roster itself: assigned count, capacity, and who ended up together. Randomness is not evidence that the result is fair.
  • For balanced groups, the Attribute Balance or Attribute Sum card shows where the requested count or range was missed. That detail is more informative than the aggregate penalty alone.
  • For constrained groups, required fixed, together, and apart rules report “No violations” in a valid result. A violation is a solver defect, not an acceptable trade-off produced by optimization.
  • For multi-round groups, the histogram describes the contact distribution and the matrix identifies the exact pairs behind it.
  • Saved alternatives can be compared against the original outcome statement, but Results cannot decide whether the extra fields and rules were justified in the first place.

Worked example: three layers in one workshop

The preloaded example has 18 people in three groups of six, with six people from each track. A clean 2 Strategy / 2 Design / 2 Technical distribution is possible, but together, apart, and fixed-assignment requirements must be satisfied first.

Setup facts

  • three groups of six
  • one categorical track preference
  • one together pair and two apart pairs
  • one person fixed to each group

Review the result

  • Base assignment: all groups have six people.
  • Requirements: every hard relationship and fixed assignment holds.
  • Preference: track counts approach 2/2/2 without invalidating the first two layers.

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
18
Groups
3
Approx size
6
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.
Track
Automatic targets · All sessions
Groups 1-3Drag the handles in the bar to adjust the distribution, or edit the numbers next to the labels manually. A 0-target attribute is still active: the solver tries to keep that value out of the group. A non-allocated attribute is ignored by this balance target. Toggle an attribute on or off by clicking its label in the legend or bar.
Drag the handles in the bar to adjust the distribution, or edit the numbers next to the labels manually. A 0-target attribute is still active: the solver tries to keep that value out of the group. A non-allocated attribute is ignored by this balance target. Toggle an attribute on or off by clicking its label in the legend or bar.
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.

Apply the decision