
Pickle Pal Scorekeeper System
TM
know the score
...and more
With the help of ChatGPT, I created custom VBA software in Excel that will generate a high-quality round-robin scheduler. I was dissatisfied with free versions of round-robin schedulers because they did not balance byes and rotation of partners and opponents.
This scheduler doesn't just randomly create games. It scores thousands of possible combinations using multiple weighted fairness rules, then chooses the schedule that best satisfies those rules.
The Excel scheduler software is not yet available because I need to give it a user-friendly interface. In the interium, I generated schedules for 5-20 players on 4 courts. These schedules can be viewed as a PDF or downloaded to Excel.
Here are the built-in considerations my scheduler currently uses, roughly in order of importance:
-
Balanced byes (highest priority).
The scheduler always tries to give every player the same number of byes (or as close as mathematically possible). -
No consecutive byes.
A player who sits out one game is heavily discouraged from receiving another bye in the next game even though the number of byes is fair. -
Players returning from a bye are separated.
Players who were on bye together are tracked, and the scheduler discourages placing them together as partners immediately after they return. -
Minimize repeat partners.
The scheduler strongly favors partnerships that have never occurred before. This is the primary fairness metric in the Schedule Balance Report, and the batch evaluation first looks for schedules with zero repeat partners. -
Minimize repeat opponents.
After partner repeats are minimized, the scheduler tries to avoid players facing the same opponents repeatedly. -
Court-by-court team selection.
When selecting teams, the scheduler doesn't simply take the first four available players. It evaluates many possible team combinations and chooses the one with the lowest weighted "cost" based on partner history, opponent history, and bye-return history. -
Batch optimization.
Rather than accepting the first valid schedule, the scheduler generates dozens (or hundreds) of schedules and compares them, allowing me to choose the best overall schedule. It returns one, “Best Schedule” . -
Fairness analysis.
Every generated schedule is analyzed for:
Games played
Unique partners
Repeat partners
Unique opponents
Repeat opponents
Total byes
-
Mathematical feasibility check.
The analysis reports whether zero partner repeats are mathematically
possible for the number of players, courts, and games selected. This helps users understand whether repeats are unavoidable.