DOCUMENTATION ADDED:
1. docs/rating-system-v2.tex (681 lines, ~9,000 words)
- Complete technical report on system redesign
- Includes: introduction, mathematical foundation, v1 review
- Motivation for all 4 changes with detailed explanations
- Complete v2.0 formulas with clear notation
- Worked example: concrete doubles match (v1 vs v2)
- Discussion of advantages, edge cases, future work
- Professional typesetting for blog/website publication
- 36 subsections with table of contents
2. docs/README.md
- How to compile the LaTeX document
- File overview and contents summary
- Compilation instructions for macOS, Linux, Docker, Overleaf
- Publishing guidance (HTML conversion, blog extraction)
- Citation format for references
3. docs/FORMULAS.md
- Quick reference card for all formulas
- Match outcome calculation (singles & doubles)
- Effective opponent examples
- RD distribution formula with worked examples
- Expected point win probability table
- Parameter meanings and initial values
- Summary of v1 vs v2 changes
- FAQ section
STATUS: Ready for publication ✅
- LaTeX file is syntactically correct
- All formulas verified against code
- Example calculations match implementation
- Suitable for recreational audience + technical rigor
- Can be compiled to PDF or converted to HTML/blog format
4.8 KiB
Pickleball Rating System v2.0 - Quick Reference
Match Outcome Calculation
Singles Match
Outcome = Points Scored by Player / Total Points in Match
Example: Player scores 11 points, opponent scores 9 points
- Total = 20 points
- Outcome = 11 / 20 = 0.55
Doubles Match: Effective Opponent
Effective Opponent Rating = Opponent 1 Rating + Opponent 2 Rating - Teammate Rating
Example:
- Opponents: 1500, 1500
- Teammate: 1500
- Effective: 1500 + 1500 - 1500 = 1500 (neutral)
With strong teammate:
- Opponents: 1500, 1500
- Teammate: 1600
- Effective: 1500 + 1500 - 1600 = 1400 (weaker-seeming opponent)
With weak teammate:
- Opponents: 1500, 1500
- Teammate: 1400
- Effective: 1500 + 1500 - 1400 = 1600 (stronger-seeming opponent)
Rating Update Distribution (Doubles Only)
After computing the team's rating change (via Glicko-2), distribute to each partner:
Change for Player 1 = Team Change × (RD₁² / (RD₁² + RD₂²))
Change for Player 2 = Team Change × (RD₂² / (RD₁² + RD₂²))
Example: Team gains +30 points
- Alice: RD = 100 (established)
- Bob: RD = 150 (newer)
Total Weight = 100² + 150² = 10,000 + 22,500 = 32,500
Change for Alice = +30 × (10,000 / 32,500) ≈ +9.2
Change for Bob = +30 × (22,500 / 32,500) ≈ +20.8
Bob gets more despite the team's shared success because his rating is less certain.
Expected Point Win Probability
For a player rated R_player vs opponent rated R_opponent:
P(win point) = 1 / (1 + 10^((R_opponent - R_player) / 400))
Examples:
| Player | Opponent | Difference | P(Win Point) |
|---|---|---|---|
| 1500 | 1500 | 0 | 0.500 (50%) |
| 1600 | 1500 | -100 | 0.640 (64%) |
| 1400 | 1500 | +100 | 0.360 (36%) |
| 1700 | 1500 | -200 | 0.759 (76%) |
Glicko-2 Parameter Meanings
| Parameter | Symbol | Range | Meaning |
|---|---|---|---|
| Rating | r | 400–2400 | Skill estimate. 1500 = average |
| Rating Deviation | d | 30–350 | Uncertainty. Lower = more confident |
| Volatility | σ | 0.03–0.30 | Consistency. Higher = more erratic |
Initial Values for New Players
- Rating: 1500
- RD: 350 (very uncertain)
- Volatility: 0.06
After ~30 Matches (Established)
- Rating: varies (1300–1700 typical)
- RD: 50–100 (fairly confident)
- Volatility: 0.04–0.08
V2 Changes Summary
What Changed from V1
| Aspect | v1.0 | v2.0 |
|---|---|---|
| Match Outcome | Arbitrary tanh(margin) formula | Performance ratio (points/total) |
| Expected Difficulty | Ignored | Accounted for (point-based Elo) |
| Team Rating | Simple average | Not used directly |
| Effective Opponent | Not personalized | R_opp1 + R_opp2 - R_teammate |
| RD Distribution | weight = 1/d² | weight = d² (FIXED) |
| Effect of high RD | Slower updates (wrong) | Faster updates (correct) |
| Ratings | Separate singles/doubles | Prepared for unified rating |
Why This Matters
-
More Fair to Uncertain Ratings — New/returning players now update faster, converging to their true skill more quickly.
-
Accounts for Teammate Strength — In doubles, carrying a weak partner is rewarded; being carried by a strong partner is appropriately devalued.
-
Performance Measured vs Expectations — A 1500-rated player barely beating a 1400-rated player is underperformance; the system now reflects that.
-
Theoretically Grounded — Every formula has a clear mathematical justification, not just "this seemed reasonable."
Common Questions
Q: Why does my doubles rating change seem weird?
A: In v2.0, your effective opponent depends on your teammate's rating. Winning with a strong teammate is less impressive than winning with a weak teammate (even if the score is identical).
Q: Should I play more singles or more doubles?
A: In v1.0, they were separate. In v2.0 (coming), they'll be consolidated into one rating. Either way contributes equally to your skill estimate.
Q: What if my rating is really high/low?
A: The system works at any rating. The formulas scale appropriately. You might face extreme "effective opponents" in doubles with huge rating imbalances, but that's realistic.
Q: How long until my rating stabilizes?
A: Roughly 30–50 matches to reach RD ~100. After that, rating changes slow down (you're confident in the estimate) but still respond to actual performance.
Q: Can I lose rating by winning?
A: Only in the (rare) case where you dramatically underperform expectations. For example, a 1600-rated player barely beating a 1300-rated player might lose 1–2 points because they underperformed what a 1600-rated player should do against a 1300-rated player.
See rating-system-v2.tex for the complete technical report with derivations and detailed examples.