About SAM

A score that explains what it predicts.

SAM Score estimates pickleball skill from real match results, then keeps adjusting as more evidence comes in.

What is SAM?

SAM stands for Skill Approximation Metric.

The goal of SAM is simple: estimate how strong a player is based on the matches they actually play.

No rating system can measure skill directly. Pickleball skill includes shot selection, consistency, athleticism, teamwork, decision-making, experience, and plenty of other things that do not fit neatly into one number. SAM looks at outcomes and continuously updates its estimate of a player's skill level over time.

Think of a SAM score as an educated guess that gets smarter with every match.

How does the rating work?

SAM Score uses a modified rating system inspired by systems like Elo and Glicko.

  • Players gain points when they perform better than expected.
  • Players lose points when they perform worse than expected.
  • Beating strong opponents is worth more than beating weaker opponents.
  • Tying a stronger team can still improve your rating.
  • Singles and doubles ratings are tracked separately.

What does a SAM score mean?

A SAM score is not a trophy, a ranking, or a judgment of a player. It is a prediction.

Given everything we have seen so far, what skill level best explains these results?

If reality disagrees with the prediction, SAM adjusts. Over time, the rating moves toward the level that best matches a player's actual performance on the court.

Monthly form, lasting context

All-time SAM estimates longer-term ability. Monthly SAM estimates current form without erasing the context already earned through earlier matches.

All-time SAM

The stored rating built from the player's complete rated history. Its confidence does not reset each month, so established ratings generally move more gradually.

Monthly SAM

A derived replay of the current UTC month's matches. It begins at established All-time skill, resets rating deviation to 350, and therefore lets early monthly results have more influence.

Monthly confidence starts uncertain and grows with this month's matches. All-time confidence reflects the longer rating history and remains independent.

High confidence describes certainty, not skill. It means the estimate is better established, not that the player is highly rated.

Monthly SAM never feeds back into the stored All-time rating, deviation, volatility, or rating-change history. Fewer than three monthly matches is labeled Provisional separately from mathematical confidence.

Singles and Doubles are independent systems. Each Rotating Doubles segment is stored and rated as its own Doubles result. A tie supplies the neutral outcome value of 0.5.

Confidence is uncertainty, not skill

Rating deviation (RD) describes how uncertain the model is about a rating. SamScore maps RD 350 to 0% confidence and RD 30 to 100%, with a clamped linear scale between them.

There is no 90% hard cap. In repeated active play, the Glicko-2 volatility step keeps adding a small amount of uncertainty before each update. With SamScore's current constants, a controlled long-run simulation settles near RD 60, which displays near 91%. Reaching 100% is mathematically possible if RD reaches 30 or lower; the practical plateau emerges from rating dynamics, not a product rule forbidding certainty.

In an August 2026 targeted production snapshot, five established players displayed 90% confidence, none exceeded it, and the lowest RD was 60.592. One player had 108 matches. This supports a practical equilibrium near 90%, not a fixed maximum; whole-percent rounding can give slightly different RD values the same display. SamScore does not currently add clock-based inactivity inflation. Monthly confidence uses the same percentage mapping but restarts its replay at RD 350; All-time confidence continues from stored RD.

Score margin adds context

Point Differential is points scored minus points allowed. Raw differential reflects both scoring margin and activity volume; Point Differential per match divides by matches to normalize that volume. Neither is a replacement for SAM or confidence.

SAM estimates playing strength, confidence describes uncertainty in that estimate, and Point Differential describes observed scoring margin. They may correlate because active players generate more score evidence and usually gain rating confidence, but that does not make raw differential a combined rating-and-confidence formula.

In the targeted high-history group, per-match differential strongly tracked SAM but did not predict as well. On the same 140 matches, SAM scored 66.43%, per-match differential 62.86%, and raw differential 57.86%. SAM remains the default because neither score-margin metric improved predictive performance.

Expected outcomes and advanced statistics

Before every match, the rating engine produces an expected score between 0 and 1 from the players' pre-match rating states. A win is 1, a tie is 0.5, and a loss is 0. SamScore uses that historical expectation, never today's ratings applied backward, to explain advanced statistics.

Biggest upset
The win with the player's lowest pre-match expected score.
Matchup vs expectation
Average actual result minus expected result against an opponent, after at least three meetings.
Strength of schedule
Average pre-match opposing SAM; Doubles uses the same opposing-team rating aggregation as the rating update.
Rating improvement
Selected-period SAM minus the rating immediately before the first eligible match in that period.
How the calculation works

Rating state

Each Singles or Doubles state contains rating r, rating deviation RD, and volatility sigma. Lower RD means a more certain estimate; sigma controls how readily the model allows the underlying ability to vary.

mu = (r - 1500) / 173.7178
phi = RD / 173.7178

SamScore calculates on the Glicko-2 scale above, then converts back. Displayed SAM is the resulting rating rounded to one decimal place.

Expectation and update

g(phi_j) = 1 / sqrt(1 + 3 * phi_j^2 / pi^2)
E = 1 / (1 + exp(-g(phi_j) * (mu - mu_j)))
v = 1 / (g(phi_j)^2 * E * (1 - E))
Delta = v * g(phi_j) * (s - E)
phi* = sqrt(phi^2 + sigma'^2)
phi' = 1 / sqrt(1 / phi*^2 + 1 / v)
mu' = mu + phi'^2 * g(phi_j) * (s - E)

Here mu and phi are the player's transformed rating and deviation; the j values describe the opponent; E is expected outcome; s is 1 for a win, 0 for a loss, or 0.5 for a tie; v is estimated variance; and Delta is the estimated improvement. The new volatility sigma' is solved by the Glicko-2 iterative procedure using system constant tau = 0.5.

Opponent strength changes E, while opponent deviation changes g and therefore how much evidence the result carries. SamScore does not currently run a separate clock-based inactivity inflation pass; uncertainty evolves when rated matches are processed.

Doubles is a SamScore product choice

r_team = sum(r_i) / n
RD_team = sqrt(sum(RD_i^2)) / n
sigma_team = sum(sigma_i) / n

For a team of n players, SamScore builds this aggregate opponent state. Each player is then updated independently against the opposing aggregate, so a Doubles match produces four player updates. This team representation is SamScore-specific rather than a universal Glicko-2 rule.

Confidence and Monthly replay

confidence = round(100 * clamp(1 - (RD - 30) / (350 - 30), 0, 1))

The mapping rounds to a whole percentage and clamps values to 0-100. It has no 90% cap. The practical plateau near 91% emerges because phi* = sqrt(phi^2 + sigma'^2) injects volatility uncertainty before each update, preventing RD from simply shrinking to zero. All-time updates use the stored state. Monthly replay anchors each player to the exact All-time rating and volatility immediately before that player's first eligible match, replaces RD with 350, and replays only current-month events in deterministic timestamp order. The replay is read-only.

Worked Singles example

Two equally rated players begin at 1500.0 with RD 80 and volatility 0.06. After player A wins, the real rating engine moves player A to 1517.3, a change of +17.3. The values are generated by the same function used to record a match.

Why was this built?

Most recreational pickleball groups rely on memory, reputation, and the occasional heated debate about who is improving.

SAM Score was built to provide a simple, transparent way to track results and estimate skill using real match data. The objective is not to create a perfect rating. No rating system can do that.

The objective is to create a useful one: the system's best approximation of a player's current skill level, based on the evidence available today.