Open Play

How Court Rotation Works, and Why Fairness Is Harder Than It Looks

Paddle stacking, winner-stays-on, and weighted random assignment — a look at how open play rotation systems actually distribute court time, and where each one breaks down.

The OpenDinks Team · · 6 min read

Every open play session runs into the same problem within its first hour: more players than courts. How you resolve that — who plays next, with whom, and for how long — determines whether people leave happy or quietly stop showing up. Rotation is the single most political part of running open play, and most disputes at a session trace back to it.

What follows is a look at the common rotation systems, the specific ways each one fails, and how a weighted approach addresses the failures without pretending to eliminate them.

The traditional method: paddle stacking

The oldest system is also the simplest. Players line their paddles up along a fence or in a rack. When a court frees up, the next four paddles in line take it. Everyone can see the queue, and the rule is obvious enough that it needs no enforcement.

It works well at small sessions. It degrades badly at large ones, for reasons that have nothing to do with anyone acting in bad faith:

Winner stays on

The other common system: the winning pair holds the court and a new pair challenges them. It creates real competitive tension and it is genuinely fun for the people winning.

The problem is that it concentrates court time on the strongest players and starves everyone else. A dominant pair can hold a court for an hour. Meanwhile the weakest players get one game every forty minutes, which is exactly backwards from a development standpoint — the players who most need repetition get the least of it. At a mixed-ability community session, winner-stays-on reliably produces a group of regulars and a group of people who never come back.

What fairness actually means here

Before you can automate rotation you have to decide what you are optimising for, and the honest answer is that there are several competing definitions of fair:

These conflict. Strict equal game counts will sometimes put a player who arrived two hours late ahead of someone who has been there since the start. Strict first-come-first-served lets early arrivals accumulate far more games. Strict competitive balance recreates the winner-stays-on problem by segregating the court. Any real system has to trade between them rather than pick one.

Weighted random assignment

The approach OpenDinks uses is weighted random sampling. Every waiting player is assigned a weight, and players are drawn for the next match with probability proportional to that weight. It is not a machine learning model and there is nothing opaque about it — it is arithmetic, and the same inputs produce the same distribution.

Three factors contribute to a player's weight, and an organizer can switch each one on or off independently for their session:

  1. First come, first served — the earlier you checked in, the higher your weight. Rewards turning up on time.
  2. Fewest games played — the fewer games you have had this session, the higher your weight. Pulls game counts together over the session.
  3. Longest wait — the longer since you last finished a game, the higher your weight. Stops anyone sitting for an unreasonable stretch.

A player who has not yet played at all always receives the maximum weight. In practice this means a newcomer who walks in at the halfway point is not punished for arriving late — they get onto a court quickly, then join the normal rotation.

Why randomness beats a strict queue

It is tempting to think that sorting players by games played and taking the top four is fairer than drawing them randomly. It is fairer for one match. Across a whole session it is worse.

A strict sort is deterministic, so players with similar arrival times and similar game counts move through the queue in lockstep. They are repeatedly grouped together. You end up with de facto cohorts — the 6pm arrivals playing each other all night — which is a subtler version of the clumping problem that paddle stacking has.

Weighted randomness keeps the aggregate outcome close to equal game counts while mixing the specific groupings. Over a two-hour session the game count spread stays tight, but you will have played with a far wider slice of the room. To reinforce that, the system also tracks each player's most recent teammate and avoids immediately repeating that pairing when splitting a foursome into teams.

The parts a system cannot solve

Automation removes the arithmetic and the arguments about whose paddle was where. It does not remove judgement, and an honest account should say so.

This is why assignments are generated as a preview rather than applied directly. The organizer sees the proposed matchups, adjusts anything that looks wrong, and confirms. The system handles the bookkeeping; the human handles the judgement.

The practical benefit

The clearest gain is not fairness in the abstract — it is that the queue becomes visible. When players can see their position, their game count and roughly how long until their next match, the whole tenor of a session changes. People stop crowding the fence. They rest properly, warm up in time, and stop asking the organizer whose turn it is.

That question — "whose turn is it?" — is the one that quietly consumes an organizer's entire evening. Answering it automatically, with a rule everyone can see and audit, is most of the value.

If you run a session and want to try this, you can create one on OpenDinks and toggle the three fairness factors to match how your community already plays. If you would rather just turn up and play, browse the open sessions near you.