Running a cycle
The organizer's step-by-step for triggering promotion and relegation when a round of play is done.
Cycles are manual — you decide when the time is right (end of a month, a block of weeks, a mini-season). Nothing moves until you pull the trigger.
Step by step
- Play and record games. Run your ladder nights with the mixer as usual and record scores. A cycle is only meaningful once each division has a decent set of fresh results.
- Open the ladder management page in your dashboard. You'll see current standings per division, with preview arrows showing who's in the promotion and relegation zones.
-
Set movement options:
- How many slots move up/down at each boundary.
- Whether inactive players (those who didn't play any session since the last cycle) can be promoted or relegated.
- Review the preview and process the cycle. Before anything changes, the confirmation dialog shows a read-only preview: every player who would move (with their before/after rating) and each division's active count now versus after the cycle. It flags two things to catch a mistake before you commit — promoting into a division that has no active players, and any division left with fewer than four players (too few for doubles). The preview runs the exact same logic as the real cycle, and it updates live if you change the per-division counts. When it looks right, confirm — standings are locked in, movers transfer into their new divisions with swapped start ratings, inactivity decay is applied, and counters reset for the next cycle.
- Review and share. The cycle records exactly who moved and why. Share your ladder's public standings link so players can see the results without logging in.
Per-division count overrides
The cycle trigger modal shows a section called Per-Division Overrides. For each boundary between adjacent divisions you get two fields — how many to demote from the upper division, and how many to promote from the lower one. Leave a field blank and the ladder-wide default applies to that slot. Fill it in and that boundary uses your one-time override instead.
Use it when a small division doesn't have enough qualifying players to fill the default count, or when one boundary had an unusual season and you want to move more or fewer players without permanently changing the ladder setting. The fields accept 0–20.
Overrides apply to the current cycle only. The next cycle reverts to the ladder default.
What happens after the cycle runs
Once you confirm, three things happen automatically:
- Moved players are removed from their old division's upcoming events. If your ladder uses per-division event targeting, a relegated player is taken off the invitation list for future events in their former division, and a waitlisted player moves up to fill the freed spot. The email they may have received about being removed from those events is included in the cycle notification (see below). This scrub only happens when your ladder settings are not configured to allow cross-division spares in that direction — if you allow higher-division spares, players relegated from there keep their invites, since they can still play up.
- Auto-invite gates reset for destination divisions. The auto-invite job gates itself against re-running on the same event. After a cycle those gates are cleared for divisions that gained new members, so newly arrived players are picked up on the next pass.
- Session counters reset to zero. The per-division game counters that feed the "played since last cycle" activity check start fresh.
- Fill-in rows are tidied up (individual ladders). Any player who filled in for another division this cycle but didn't earn a permanent place there is retired from that division at cycle close, so every player ends up officially rostered in exactly one division. Their games played as a fill-in still count toward their ladder-wide total. See Spares for the full picture. If a player somehow ends up rostered in no division at all, the cycle leaves them alone and flags them in the "Not in any Roster" band on the ladder page so you can place them.
Cycle emails
When a cycle moves a player, they automatically receive an email naming the division they came from, the division they're going to, and — when applicable — which upcoming events they've been removed from. Players without a recorded email address are silently skipped.
Emails also go out for manual moves (see below) using the same template and the same email-on-file check.
The email includes a link: if your ladder has a public standings page, the button takes the player directly to their new division's standings. If public ratings are off, it links to their personal schedule page instead.
Manual moves between cycles
You don't have to wait for a cycle to move someone. From the ladder standings page, tap the ⋯ menu on any player or team row and choose 📦 Move to Division, then pick the target division from the submenu. A prompt lets you set an optional starting rating in the new division — leave it blank to use the division default. The player's game history in their old division is preserved.
Manual moves send the same cycle-move email as an automated cycle, as long as the player has an email address on file.
Cycle history
The Cycle History section at the bottom of the ladder page logs every completed cycle as a collapsible entry. Each entry shows:
- Which cycle it was (numbered in sequence), the date it ran, and who triggered it ("manual" for organizer-triggered cycles).
- One row per movement: direction (▲ promoted / ▼ relegated), player or team name, the division route (e.g. Div B → A), and the rating before and after the move.
Cycles with no movements still appear in the list — they record that a cycle ran even if no one qualified to move.
Tips
The preview arrows on the standings page run the same logic as the real cycle — what you see is what you'll get, so check them before confirming. Give each division enough games that standings reflect real form, not a couple of lucky nights. And if your initial divisions were off, a cycle or two will sort it out — that's the whole point of the ladder.
Next
- Promotion and relegation — what the cycle does under the hood.
- Start ratings when you move — the rating movers receive.
- Inactivity decay — how missing games affects standings before a cycle.
- Spares — cross-division play and how it interacts with cycle event cleanup.