SportsOracle

How the tennis model works

Serve & return · Elo · Calibration · Fatigue · Final number

1. Serve and return strength. For every player we estimate how often they win points on their own serve and on return, adjusted for who they played, separately by surface, with recent matches counting more and newcomers pulled toward the tour average until we have data. Two players' serve numbers are turned into chances of holding serve, winning tiebreaks, sets and the match by playing the match out point by point (best of 3 or 5, normal tiebreaks, and the 10-point final-set tiebreak at the Slams). That same simulation gives the set scores, the sets handicap, total games and the +5 games handicap on each match card. To keep these consistent with our match-winner %, we nudge the two players' serve numbers in opposite directions until the simulation gives exactly our final win probability. The point-by-point simulation overstates how long matches go (about 26 games on average vs 23.9 in reality), so totals are shifted down by 4 games in best-of-3 and 5 games in best-of-5 (fitted on 2022–24; ATP and WTA needed the same best-of-3 shift, so there is no tour split). Tested on 2025–26 matches the model never saw (lower is better): set-score log-loss 1.290 (vs 1.324 without the nudge); total games over/under at the line we show, 0.677 (vs 0.685 with a single 3-game shift and 0.700 with no shift).

2. Better Elo. A rating that goes up when you win and down when you lose, now also using Challenger and qualifying results (more data on newer players), counting how convincingly a match was won (games), weighting surface Elo 40%, and adjusting for best-of-5. Settings were tuned on matches before 2024 only. Inactivity penalties and ranking-based starting ratings were tested and made things worse, so they are off.

3. Calibration. When we say 70%, those picks should win about 70% of the time. Our raw model was a bit over-confident (picks we rated about 85% won about 78%), so we shrink its probabilities (Platt scaling, slope 0.86). Pinnacle's closing price was already well calibrated and very slightly under-confident, so it is stretched a little (slope 1.08).

4. Fatigue and schedule. Days since the last match, a long layoff, sets and minutes played in the last 7 days and switching surface were each kept only because they improved accuracy on data the model had never seen. Back-to-back days, 3- and 14-day loads were dropped. Travel and time zones are not used: our data has no venue locations.

The final number. When Pinnacle has a price: their no-margin probability, recalibrated, plus the small schedule adjustments. When there is no Pinnacle price: the Elo (70%) and serve/return (30%) model, calibrated, plus the schedule adjustments. Fitting the mix on past matches gave Elo and serve/return almost no weight next to Pinnacle (at most 2–5%), so we don't pretend otherwise: the closing price is hard to beat.

Calibration chart, walk-forward results and every research stage: Tennis → Calibration › · live picks: Performance ›

Ratings snapshot: 2026-10-26, updated in production with each day's new main-tour results. Handicap, sets and totals are model percentages only; our odds feed carries match-winner prices only. Bet responsibly.

How the tennis model works — SportsOracle