Mini-leagues: concepts¶
Mini-leagues allow clubs to organize regular internal competitions among their members. This page presents the key concepts to understand how they work.
Hierarchy¶
graph TD
C["π’ Club"] --> ML1["Mini-league A<br/><small>e.g.: Tuesday League</small>"]
C --> ML2["Mini-league B<br/><small>e.g.: Thursday League</small>"]
ML1 --> S1["Session 1<br/><small>1-31 January</small>"]
ML1 --> S2["Session 2<br/><small>1-28 February</small>"]
ML1 --> S3["..."]
S1 --> D1["Division 1<br/><small>(top players)</small>"]
S1 --> D2["Division 2<br/><small>(intermediate)</small>"]
S1 --> D3["Division 3<br/><small>(beginners)</small>"]
D1 --> P1["Pool A<br/>4 players"]
D1 --> P2["Pool B<br/>4 players"]
D2 --> P3["Pool C<br/>4 players"]
D2 --> P4["Pool D<br/>4 players"]
D3 --> P5["Pool E<br/>4 players"] - A club can manage several mini-leagues in parallel
- Each mini-league runs in successive time sessions (one session after another)
- Each session is divided into divisions (skill levels)
- Each division contains one or more pools (groups of players)
- Within a pool, each player faces all others (round-robin)
Session flow¶
graph LR
A["Session start"] --> B["Matches in progress<br/><small>round-robin within<br/>each pool</small>"]
B --> C["End reminder<br/><small>notification to<br/>players</small>"]
C --> D["Session end"]
D --> E["Review period<br/><small>corrections by<br/>the manager</small>"]
E --> F["Redistribution"]
F --> G["New session"] - The session starts with players distributed into pools
- During the session period, players play their matches
- A reminder is sent a few days before the end
- At the end of the session, the manager has a review period to make any corrections
- Players are redistributed and a new session starts automatically (if automatic renewal is enabled)
Divisions and pools¶
Divisions represent skill levels. Division 1 groups the top players, Division 2 the intermediate players, etc.
When a division has too many players for a single pool, it is split into multiple pools. Pools within the same division are parallel groups of the same level: they only serve to limit the size of round-robin groups.
Promotion and relegation
Promotion and relegation occur between divisions, not between pools within the same division. If a division has 2 pools, the best player from each pool is promoted to the higher division.
Redistribution between sessions¶
At the end of each session, players are redistributed according to their results. Each pool has a configurable number of promotion and relegation slots, defined in the mini-league configuration. These numbers can differ from one pool to another and are not necessarily balanced between divisions.
Example with 1 pool per division¶
graph TB
subgraph sessionN1["Session N+1"]
direction LR
subgraph d2n1["Division 2"]
new2["Pool B<br/><br/>π David<br/>Frank<br/>Gina<br/>Hugo"]
end
subgraph d1n1["Division 1"]
new1["Pool A<br/><br/>Anna<br/>Bob<br/>Carla<br/>π Eva"]
end
end
subgraph sessionN["Session N"]
direction LR
subgraph d2n["Division 2"]
p2n["Pool B<br/><br/>πΊ Eva<br/>π° Frank<br/>π° Gina<br/>π° Hugo"]
end
subgraph d1n["Division 1"]
p1n["Pool A<br/><br/>π₯ Anna<br/>π° Bob<br/>π° Carla<br/>π» David"]
end
end
Example with multiple pools per division¶
When a division contains multiple pools, the best players from each pool are promoted and the last from each pool are relegated:
graph TB
up2["Eva + Iris<br/>promoted to Division 1"] ---|"πΊ Eva"| p2a
up2 ---|"πΊ Iris"| p2b
subgraph sessionN2["Session N"]
subgraph d2n2["Division 2 β 2 pools"]
p2a["Pool A<br/>πΊ Eva<br/>π° Frank<br/>π° Gina<br/>π» Hugo"]
p2b["Pool B<br/>πΊ Iris<br/>π° Jules<br/>π° Kate<br/>π» LΓ©o"]
end
end
p2a --- |"π» Hugo"| down2["Hugo + LΓ©o<br/>relegated to Division 3"]
p2b --- |"π» LΓ©o"| down2 The middle players (Frank, Gina, Jules, Kate) stay in Division 2 and are redistributed into the pools of the new session.
Matches and points¶
Within each pool, matches are played in round-robin format: each player faces all others. Results are converted into points according to a configurable table.
The pool ranking is then calculated using configurable ranking filters (tiebreak criteria) ordered by priority.
Parameters¶
Mini-leagues are configurable at two levels:
- Club parameters: default values and global parameters, shared by all mini-leagues in the club. See Mini-league parameters.
- Session parameters: each mini-league can adjust its own parameters (duration, scoring system, point scale, etc.)