Skip to content

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"]
  1. The session starts with players distributed into pools
  2. During the session period, players play their matches
  3. A reminder is sent a few days before the end
  4. At the end of the session, the manager has a review period to make any corrections
  5. 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.)