Managing your games history
View, add, edit, and delete recorded games from the dashboard, export them as a spreadsheet or a DUPR club match-upload file, and use the advanced rating tools when you need a group-wide reset or fresh start.
Every recorded game for your active group lives on the Games page in the dashboard — mixer-generated or entered by hand. Ratings flow directly from games, so what you do here affects standings.
The games list
Three quick stats sit at the top: total games, games recorded this week, and games still pending (not yet processed by the rating engine). Below that, a filter bar lets you narrow by player name, date range, and source (Mixer-generated or custom) — hit Filter to apply, Clear to reset.
Each row shows the two teams, scores, and the date played. Click a row to open its rating details: which player gained or lost how much, and why.
Adding a custom game
Press + Add Custom Game in the page header. A modal opens where you pick two players per team, enter scores, and set the date and time. The form also lets you toggle rally scoring and win-by-two, and set a target score and optional game duration. For ladder groups, a Division Context dropdown lets you record the game under the right division.
When you save a game with a past date, a Recalculation Options prompt asks how ratings should be updated:
| Option | What it does |
|---|---|
| Isolate | Processes only this game's rating changes, leaving all later games as-is |
| Cascade | Recalculates this game and every game recorded after it (slower, more accurate) |
Use Isolate for a quick correction that doesn't affect surrounding games; use Cascade when the game is early in your history and you want all subsequent ratings to reflect it accurately.
Editing and deleting individual games
Open any game row and use the edit or delete controls in the rating details panel. Both show the same Recalculation Options prompt. On delete, the engine reverses that game's rating changes and, in cascade mode, recalculates everything that followed.
Bulk editing games
Correcting several games one at a time is slow for a reason: each save queues its own rating recalculation, and you can't start the next edit until that one finishes. Bulk Edit collects all your corrections first and recalculates once at the end.
Press Bulk Edit in the page header. Checkboxes appear next to each game and a toolbar opens above the list.
- Tick the games you want to change. The selection survives paging, so you can gather games from more than one page.
- Set the rules to change in the toolbar — target score, win-by-two, rally scoring, and time limit. Each has its own checkbox: only ticked fields are applied, so the others are left exactly as they are. Press Apply to selected.
- Edit individual games too, if you need to. The pencil opens the normal editor, but in Bulk Edit mode it says Stage Change — the change is held with the rest of the batch instead of being saved on its own. Games with a staged change show an Edited chip and an Undo link.
- Review & Save shows exactly what will change, game by game, plus how much recalculation each option costs. Pick Isolate or Cascade once for the whole batch, then Save & Recalc Now.
Everything is written together, so either the whole batch saves or none of it does. Nothing is sent to the server until you confirm — if you leave the page with staged changes, your browser will warn you first.
Two things to know:
- Rally scoring always clears the time limit. Rally games run to the target score, so turning rally scoring on removes any time limit on those games. The review screen tells you when that's about to happen.
- A batch is capped at 100 games, and you can't enter Bulk Edit while any games are still pending — wait for the rating engine to catch up first.
Recalc Now
Normally a rating recalculation waits for a background job that runs about once a minute. Save & Recalc Now does the same work immediately and shows the progress, so standings reflect your corrections right away instead of a minute later.
If you close the tab partway through, nothing is lost — the background job picks up whatever is left.
Adjusting a rating manually
The Adjust Player Rating button (under Advanced) opens the manual adjustment form. Pick a player (or team, in team-rating groups), enter an amount — positive to increase, negative to decrease — and write a reason. Backdate it by changing the date and time field. The reason appears in the rating history so the change is always traceable.
Recalculate All Ratings
Recalculate All Ratings (under Advanced) resets every player to their seed rating (or 1500 if none is set), then queues every game in chronological order for the engine to replay — including manual adjustments, in order. The engine works through the queue in the background, so ratings settle over the next few minutes.
Run it when you've changed a core rating setting (K-factor, default rating, win bonus) and want the new parameters applied from the beginning, or when a series of edits has left ratings inconsistent and a clean replay will straighten them out.
Two things to check first: if the page shows any pending games, wait for them to finish before recalculating. And expect it to take a while on groups with hundreds of games — use it sparingly.
Export Games
Export Games (under Advanced) opens a modal where you pick a format and which games to include, then downloads a CSV. It's a read-only snapshot — nothing about your games or ratings changes.
Choosing the games
The Games list shows your game days, newest first, with the most recent day already ticked — "everything from the last session" is the default. Tick more days for a multi-night export, or expand a day to see its individual games and untick the ones you don't want. The line under the list tells you how many games the current selection covers. The filters on the games list itself don't affect the export; this picker is the only thing that narrows it.
Standard spreadsheet
The default format: one row per game, ready to open in Excel, Google Sheets, or
Numbers. The file is named games-<your-group>-<date>.csv and includes these
columns:
| Column | Notes |
|---|---|
| Game ID, Date, Time | Date and time are shown in your group's timezone |
| Source | mixer for mixer-generated games, custom for hand-entered ones |
| Round, Court | Filled in for mixer games only |
| Team 1 / Team 2 players and scores | Two player names and the score for each team |
| Winner | Team 1, Team 2, or Tie |
| Target Score, Win By Two, Rally Scoring | The rules the game was played under |
Accented player names render correctly in Excel. Use it to keep an offline backup, run your own analysis in a spreadsheet, or hand records to another organizer.
DUPR club match upload
The second format produces DUPR's own club match-upload file — the same column
set as the template DUPR gives you, with the instruction rows already removed,
so it imports as downloaded. The file is named
dupr-matches-<your-group>-<date>.csv. PickleFriend doesn't submit anything to
DUPR for you; you (or your club's verified DUPR organizer) upload the file.
One PickleFriend game becomes one DUPR match. An Event name box appears when you choose this format — each game's own date is appended to it automatically, so a two-night export stays two separate DUPR events rather than collapsing into one. Leave it blank and your group name is used.
Every player needs a DUPR ID. DUPR matches players by exact ID, never by name, so the export checks each selected game first and the summary line tells you what it found — for example "18 of 24 checked games ready — 6 skipped: missing DUPR ID (Sam Rivera, Dana Cho)." A game is not ready when:
- a player has no DUPR ID — the summary names them, so you know exactly whose record to fill in;
- the game was a tie — DUPR has no way to record a drawn match;
- the teams are uneven — DUPR takes singles (1 v 1) and doubles (2 v 2), nothing in between.
Readiness is only known for days you've expanded; until then the summary says so rather than guessing.
Not-ready games are left out by default, so what you download is a file DUPR will accept. If every selected game is skipped, the export stops and tells you instead of handing you an empty file. There's also an opt-in — Export not-ready games anyway — which includes them with blank DUPR ID cells; DUPR will reject those rows on import, so it's for people who want the full list to work from, not a shortcut around the check.
Delete All Games
Delete All Games permanently removes every game record for the active group,
resets all player ratings to their seed rating (or 1500 if none is set), and
removes manual rating adjustments. To confirm, type DELETE in the confirmation
dialog.
There's no undo. Use this only when you're truly starting over — discarding a test season, clearing a bad import, or wiping a group before the real season begins. Like Recalculate All, it's blocked while any games are still pending.
What's next
- How Elo works — understand what the rating engine is doing when it replays those games.
- Manual adjustments — more on when and how to apply one-off rating corrections.
- Players — manage the roster that populates these games, and store each player's DUPR ID for the match-upload export.