Skip to content

Ranking Calculation

This document provides a overview of how the MySquash system calculates player rankings.

Process Overview

The ranking calculation system follows a structured workflow from match recording to final ranking publication.

flowchart TD
    A[Match Played] --> B{Record Result}

    B --> E

    subgraph C["Fixtures"]
        D[Past Fixtures<br/>Already in Ranking]
        E[Temporary Fixtures<br/>Not Yet in Ranking<br/>Grey in Profile]

        E -->|Weeky| D
    end

    E -->|Nightly| F[Point Calculation]
    F --> G[Points Earned/Lost<br/>Visible on Profile]

    C -->|Weekly| H[Ranking Calculation]

    H --> I[Update Current Points]
    H --> J[Official Rankings]

    subgraph J["Official Rankings"]
        K[Local Ranking<br/>Swiss National Players]
        L[International Ranking<br/>International Players]
        M[National Ranking<br/>Combined Swiss Squash<br/>+ Squash Romandie<br/>Until Summer 2026]
        N[Club Ranking<br/>Interclub Team Eligibility]
    end

    I --> O{Player has<br/>Current Points?}
    O -->|Yes| P[Use Current Points<br/>for Competitions]
    O -->|No| Q[Use Starting Points<br/>for Competitions]

    style F fill:#cce5ff,stroke:#0066cc,stroke-width:2px,color:#000
    style H fill:#ffcccc,stroke:#cc0000,stroke-width:2px,color:#000
    style J fill:#ccffcc,stroke:#00cc00,stroke-width:2px,color:#000
    style I fill:#ffe6cc,stroke:#cc6600,stroke-width:2px,color:#000

Key Concepts

1. Fixtures

All recorded matches from competitions (Interclub, Tournament, Friendly matches, Miniligues)

  • Past Fixtures: Already included in ranking calculations
  • Temporary Fixtures: Recent matches not yet in ranking (appear grey in user profile)

2. Point Calculation Process

Nightly Calculation

  • Runs every night at noon
  • Calculates points earned/lost for all temporary fixtures
  • Example: Match result entered Saturday β†’ points calculated Sunday at noon β†’ visible on profile

Weekly Ranking Update

  • Runs once per week
  • Converts temporary fixtures to past fixtures
  • Updates official rankings and current points

3. Types of Rankings

Ranking Type Description Purpose
Local Ranking Swiss national players only National competition seeding
International Ranking International players in MySquash International player tracking
National Ranking Combined Swiss Squash + Squash Romandie Unified Swiss ranking (until summer 2026)
Club Ranking Club-based player ranking Interclub team eligibility

4. Point Types

Current Points

  • Updated weekly by ranking calculation
  • Used to determine player position in competitions (tournaments, Interclub teams)
  • Reflects actual competitive performance

Starting Points

  • Initial points allocated when player joins MySquash
  • Used only when Current Points are not available (new players)
  • Fallback mechanism for competition seeding

Timeline Example

gantt
    title Ranking Calculation Timeline
    dateFormat YYYY-MM-DD
    section Match
    Match Played           :done, match, 2025-01-10, 1d
    section Points
    Points = 0             :active, wait1, 2025-01-10, 1d
    Nightly Calculation    :crit, calc1, 2025-01-11, 1h
    Points Visible         :done, vis1, 2025-01-11, 4d
    section Ranking
    Still Temporary        :active, temp, 2025-01-11, 4d
    Weekly Ranking Update  :crit, rank, 2025-01-15, 1h
    Included in Ranking    :done, final, 2025-01-15, 1d

Summary

  1. Matches recorded β†’ Stored as temporary fixtures
  2. Nightly (noon) β†’ Points calculated for temporary fixtures
  3. Weekly β†’ Ranking updated, temporary fixtures become past fixtures
  4. Rankings published β†’ Local, International, National, Club rankings
  5. Competition seeding β†’ Uses Current Points (or Starting Points if unavailable)