Round Robin Mixer Algorithm

Round Robin Mixer is inspired by classic "American" and King-of-the-Court social mixer formats, but reframed for an open-ended drop-in play day. There is no king, no leaderboard, no permanent ranking — the goal is simply "everyone plays with everyone, eventually." Unlike Fair Random, which proposes a flat group of four players for a court, Round Robin Mixer always proposes explicit teams (Alice + Bob vs Carol + Dave), so the kiosk and TV display show every player who their partner is before they walk on court.

How it Works

Round Robin Mixer runs in two phases. The inner scoring engine ranks every possible 4-player combination using three signals: wait fairness (longest-waiting players lead), partner variety (penalize partner repeats from today), and opponent variety (penalize facing the same opponents from today). Each candidate combination is also broken down into all three possible 2v2 team splits, and each split is scored independently.

On top of the score, an anchored uniqueness override actively avoids producing a (4-player + team-split) matchup that has already been played today. The override walks a four-tier priority chain: (1) try to keep the top two longest-waiters together with a brand-new matchup; (2) if every option for them is a repeat, anchor only the first longest-waiter and try again; (3) if that also fails, anchor only the second longest-waiter; (4) only as a last resort, fall back to the score-best option even if it repeats a past matchup.

Explicit Team Proposals

Most dispatch algorithms hand you a court with four players and let them sort out the teams on their own. Round Robin Mixer is different: every proposition is announced as "Alice + Bob vs Carol + Dave". The kiosk shows the team layout, the TV shows it on the court tile, and players know who their partner is before they walk over. This removes the awkward "who's with who?" moment at the start of every game and makes mixed-skill social play smoother for newcomers.

Partner vs Opponent Weighting

Partner repeats are penalized about three times more strongly than opponent repeats. The reason is human, not mathematical: playing alongside the same person two games in a row feels noticeably more repetitive than facing them again across the net. Pairing this asymmetry with high wait fairness produces a session where the longest-waiting players reliably get the next match, and when they do, they almost always get a partner they haven't played with yet today.

Round-Robin Convergence

In an internal stress test with 6 players on 1 court of 4 (the worst case for matchup variety, since the same six players cycle endlessly), Round Robin Mixer produced 38 unique 2v2 matchups before having to repeat. The absolute mathematical ceiling for that configuration is 45, so the algorithm converts roughly 84% of the theoretical maximum into actual unique games before any combination recycles. In real sessions with more players and more courts, that practical "everyone plays with everyone" guarantee is even stronger.

When to Use

Recreational drop-in clubs that want maximum partner variety AND explicit team announcements. Mixed-skill social play days where the goal is meeting new people and avoiding the "same four players every game" cliques. Organizers who liked Fair Random's social philosophy but want stronger uniqueness guarantees and visible team pairings on the kiosk and TV display.

When NOT to Use

Skill-ranked competition: use Move Up / Move Down or Elo instead. Tag-based balancing (gender mix, skill mix, fixed-team uniforms): use Configurable Matchmaking, which exposes the underlying weights and rules. Fixed-team season formats where the same teams play across multiple sessions: use Fixed Group Rotation.

Example Scenario

An 8-player Tuesday social drop-in on 2 courts. Round Robin Mixer keeps wait times tight, announces every match as "Anna + Ben vs Chris + Dana" on the TV, and runs roughly 30 games before any team combination has to repeat. Newcomers feel welcomed because they're never stuck partnering with the same person two games in a row, and the longest-waiting players never sit through more than one extra rotation.