> ## Documentation Index
> Fetch the complete documentation index at: https://docs.1club.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Matches

> Record competitive match results and track per-sport player skill with the 1club Rating (Glicko-2) system.

**Matches** let you record the outcome of competitive games between members and turn those results into a per-sport skill rating for each player. Every recorded match is scored with the Glicko-2 algorithm, so a player's rating reflects not just wins and losses but the strength of their opponents and how confident the system is in the estimate. The page lives at **Members > Matches** and appears once you turn on the 1club Rating feature.

## Overview

The Matches page is where staff log games and review the rating history that comes out of them.

Key capabilities:

* **Record match results** - Log a match between two sides for a supported sport, with set-by-set scores and an auto-detected winner.
* **Per-sport player ratings** - Every player carries an independent rating for each sport, computed with Glicko-2.
* **Singles and doubles** - Head-to-head matches (tennis, pickleball) and team matches (padel doubles) are both supported.
* **Ranked vs friendly** - Choose whether a match feeds the rating system or is recorded for the record only.
* **Verified matches** - Matches anchored to a real booking carry full rating weight; casually recorded ones count at a reduced weight.
* **Edit and disqualify** - Correct a mis-entered result or void a match, reversing its rating impact.
* **Rating on the member profile** - Each member's matches and ratings surface on their profile.
* **Filtering** - Filter the list by sport, type, and status.

<Note>
  Matches and ratings are separate from **progression levels** (belts, tiers, skill grades). Recording a match never changes a member's progression assignment, and vice versa. See [Member profile](/members/member-profiles) for progression.
</Note>

## Turn on 1club Rating

The Matches page and all rating behavior are gated behind an organization feature flag. Until it is on, there is no Matches menu item, no Matches tab on member profiles, and the match API returns a "not enabled" error.

To enable it:

1. Go to **Settings > CRM > Matches & Rating**.
2. Toggle **Enable 1club Rating** on.

Turning it on exposes the **Members > Matches** page, adds a **Matches** tab to member profiles, and starts computing ratings as ranked matches are recorded.

## Supported sports

Match recording and rating are available for the sports that have a scoring schema:

| Sport      | Format                       | Scoring                |
| ---------- | ---------------------------- | ---------------------- |
| Tennis     | Singles (1 player per side)  | Best-of sets           |
| Padel      | Doubles (2 players per side) | Best-of sets           |
| Pickleball | Singles (1 player per side)  | Games modelled as sets |

The number of players per side comes from the sport configuration and is enforced when a match is saved. Other racket sports such as squash, badminton, and table tennis exist elsewhere in 1Club (for example as area types), but they are **not** currently available for match recording or rating - only the three sports above have a result schema. If you need one of them scored, treat that as a future request rather than something you can log today.

## Record a match

You can start a match from the **Add match** button on the Matches page, or from the **Matches** tab of a member's profile. Recording a match requires the **members.manage.club** permission.

In the **Add match** dialog:

1. **Sport** - Pick the sport. The dialog restricts this to the supported sports and uses the sport's team size to decide how many player slots each side gets.
2. **Type** - Choose **Ranked** or **Friendly**:
   * **Ranked** matches update player ratings.
   * **Friendly** matches are recorded but leave every rating untouched.
3. **Played at** - Set the date and time the match was played. Defaults to now.
4. **Club** - Choose the club the match belongs to. This is required and anchors the match to your organization.
5. **Team 1** and **Team 2** - Select the players on each side. Each side must be filled to the sport's team size (one player for singles, two for padel doubles), and no player may appear on both sides.
6. **Set scores** - Enter the score for each set (up to five). The two scores in a set cannot be tied. Use **Add set** for additional sets.
7. The dialog shows the derived winner ("Winner: Team 1/2") below the scores. The winner is computed automatically from how many sets each side took - you never pick it manually.
8. Save the match.

<Warning>
  Only contacts that are linked to a registered user account can be added to a match, because a rating attaches to a user, not to a bare contact. The player picker only lists contacts that have a linked account. If a member is missing from the picker, link their account first (see [Member profile](/members/member-profiles)).
</Warning>

### Verified vs unverified matches

A match can be tied to a booking. When it is, the match is treated as **verified** and its rating change is applied at full weight. A match recorded without a booking still moves ratings, but at half weight, so casual, self-reported results do not carry the same confidence as a match that maps to a real court reservation. You do not need to link a booking to record a match; it just changes how much the result counts toward ratings.

### Edit a match

Open a match from the list to view its detail page, then use **Edit**. Editing reverses the match's original rating impact, then recomputes and re-applies the rating from the corrected result. A disqualified match cannot be edited.

### Disqualify a match

To void a match, use **Disqualify** from the row actions or the detail page. You must enter a reason. Disqualifying:

* Marks the match **Disqualified**.
* Reverses the rating change it applied to every participant (rating, deviation, volatility, and the games-played count).
* Records who disqualified it, when, and why.

<Note>
  Reverting a rating (on edit or disqualify) subtracts the delta that this specific match applied. If the same players have played later matches in the same sport, those later results are not re-derived end to end, so the correction is close but approximate. This is a deliberate trade-off - moderation events are rare.
</Note>

## How ratings work

Ratings use **Glicko-2** (Glickman, 2013). Each player has one rating per sport, so a strong tennis player who is new to padel carries two independent numbers. Three values describe each rating:

* **Rating** - The skill estimate. Everyone starts at **1000**.
* **Rating deviation (RD)** - How uncertain the system is about the rating. New players start at **200**. A high RD means the rating can still move a lot; as a player logs more matches, RD shrinks and the rating settles.
* **Volatility** - How erratic a player's recent results have been. Starts at **0.06**.

A player's rating row is created automatically the first time they appear in a match, seeded with those defaults. Every rated match also increments their **games played** count and records the date of their last match.

### What moves a rating

* Only **ranked** matches change ratings. Friendly matches never do.
* **Beating a stronger opponent** raises your rating more than beating a weaker one; the reverse is true for losses.
* **New players move fast.** Because their RD starts high, early matches produce large swings (roughly plus or minus 80 points on the first ranked match). After a handful of matches, RD drops and results move the rating in smaller increments.
* **Verified matches** (linked to a booking) apply the full change; **unverified** matches apply half.
* A **win** counts as 1, a **loss** as 0, and a **draw** as 0.5 from each player's perspective. The set-based dialog always resolves to a winner, so recording a true draw is a rating-math capability rather than something the standard dialog produces.

### Singles vs doubles

* **Singles** (tennis, pickleball) run standard head-to-head Glicko-2 between the two players.
* **Doubles / teams** (padel) are computed by first averaging each side into a single team rating, running Glicko-2 team-versus-team, then distributing the team's change back to its members. The share each player absorbs is weighted **inversely by their RD**: a less-established player (high RD) moves more, while a seasoned partner (low RD) barely budges. This keeps a strong veteran from swinging wildly because they happened to partner with a beginner.

## Rating settings

The rating system is intentionally simple to configure. The only control is the on/off toggle at **Settings > CRM > Matches & Rating** described above. The Glicko-2 constants (starting rating 1000, starting RD 200, starting volatility 0.06) are fixed platform defaults and are not per-organization settings, so results stay comparable across clubs. Managing the toggle requires the **settings.manage.organization** permission.

## Where ratings show up

* **Members > Matches** - The full match list for your organization, filterable by sport, type, and status, with a detail page per match.
* **Member profile > Matches tab** - When 1club Rating is on, each member's profile gains a **Matches** tab listing the matches that member has played. It only appears for members whose contact is linked to a user account.
* **Member list** - Rows can surface a member's rating per sport (rating, RD, and games played) where their contact is linked to a user.

## Worked examples

### Tennis singles ranked match

Two members play a tennis match on a booked court. In **Add match** you pick **Tennis**, set the type to **Ranked**, choose the **Played at** time and the **Club**, put one player on each side, and enter the sets: `6-4`, `3-6`, `7-5`. Team 1 took two sets to one, so the dialog shows "Winner: Team 1". On save, both players' tennis ratings update head-to-head. If the winner was the lower-rated player, expect a larger jump for them and a larger drop for the favourite.

### Padel doubles ranked match

Four members play padel. You pick **Padel**, which gives each side two player slots. Assign both pairs, enter `6-2`, `4-6`, `6-3`, and save. The system averages each pair into a team rating, runs the team-versus-team calculation, then splits the result back to the four players. A beginner paired with a club regular will see their own rating move noticeably more than their partner's, because the change is distributed by rating uncertainty.

### Pickleball club ladder

A club runs an informal pickleball ladder. Staff record each singles game as a **Ranked** pickleball match with the game scores entered as sets. Over a few weeks, players who consistently beat higher-rated opponents climb, and the per-sport rating on each member profile becomes a de facto ladder ranking. To publish a ladder, sort members by their pickleball rating.

### Casual game with no booking

Two members report a friendly tennis result at the front desk with no court reservation on file. If you record it as **Ranked** without linking a booking, it still updates ratings but at half weight, so the informal result nudges the numbers without dominating them. If you would rather it not affect ratings at all, record it as **Friendly**.

### Fixing a mistyped score

You recorded `6-4, 6-4` but the second set was actually `4-6, plus a third set`. Open the match, choose **Edit**, correct the sets, and save. The original rating change is reversed and the corrected result is applied in its place.

## Tips & best practices

* **Link a booking when you can.** Verified matches carry full rating weight and tie the result to a real session, which keeps ratings trustworthy.
* **Use Friendly for exhibitions and warm-ups.** Anything you do not want to affect standings should be recorded as Friendly, not Ranked.
* **Link user accounts first.** A contact without a linked account cannot be added to a match. Sort out account linking before a tournament so recording is not blocked mid-event.
* **Let new players settle.** Expect big swings in a new player's first few ranked matches. That is the system converging, not an error - RD tightens quickly.
* **Prefer Disqualify over deletion for cheating or disputes.** It reverses the rating impact and keeps an auditable reason on record.
* **Keep sports honest.** Record tennis as tennis and padel as padel; ratings are per sport, and mixing them produces a meaningless number.

## Troubleshooting

| Symptom                                             | Likely cause                                                       | Fix                                                                                                          |
| --------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| No **Matches** menu item or profile tab             | 1club Rating is not enabled                                        | Turn it on at **Settings > CRM > Matches & Rating**.                                                         |
| A member is missing from the player picker          | Their contact is not linked to a user account                      | Link the account on the [Member profile](/members/member-profiles); only linked contacts can carry a rating. |
| "Add match" button is not visible                   | You lack the **members.manage.club** permission                    | Ask an admin to grant it; read-only staff can view but not record.                                           |
| Cannot save - "Set scores don't determine a winner" | The sets are tied (equal sets each) or a set is tied               | Add a deciding set, or fix a set so the two scores differ.                                                   |
| Cannot save - team size error                       | Wrong number of players for the sport                              | Fill exactly one player per side for singles, two per side for padel.                                        |
| A player's rating did not change after a match      | The match was **Friendly**, not **Ranked**                         | Only ranked matches move ratings; edit the type if it should count.                                          |
| A ranked result moved ratings less than expected    | The match was unverified (no booking) so it applied at half weight | Link the match to a booking for full weight.                                                                 |
| The sport you want is not in the list               | Only tennis, padel, and pickleball have a scoring schema           | Other sports are not currently supported for match recording.                                                |
| Cannot edit a match                                 | The match is disqualified                                          | Disqualified matches are locked; record a new match instead.                                                 |

## Related

* [Members overview](/members/overview) - how contacts, members, and accounts fit together.
* [Member profile](/members/member-profiles) - where a member's Matches tab and account linking live.
* [Member list](/members/member-list) - the contacts grid where per-sport ratings can surface.
