Model / Public record
Explore the forecast, the result and the difference. Wins and losses stay on the record.
Across every pre-match prediction we have settled, the model expected 1,085 wins and recorded 1,097. The probability groups below show where forecasts matched results and where they missed.
| When it said | They won | Out by | Matches |
|---|---|---|---|
| 7.4% | 10.7% | +3.3 | 28 |
| 15.6% | 14.6% | −1.0 | 48 |
| 25.7% | 22.0% | −3.7 | 177 |
| 35.6% | 32.2% | −3.4 | 317 |
| 45.1% | 45.6% | +0.5 | 406 |
| 54.0% | 54.5% | +0.5 | 508 |
| 64.5% | 67.9% | +3.4 | 358 |
| 74.4% | 81.2% | +6.8 |
Similar totals alone do not prove calibration. They do not show that forecasts beat the price, and we are not claiming they do: measured against the market's own number with the margin stripped out, the market predicts results at least as well as we do. Treat our number as a second opinion to check a price against, never as a reason on its own to bet.
CourtCockpit is a real-time analytics product for men's ATP and Challenger tennis. Every upcoming match gets a model-estimated win probability, lined up against the bookmakers' price. When the two disagree by more than 5%, we publish the match and show both numbers so you can see where the disagreement is and decide for yourself who you think is right.
No tips, no telegram channels, no "DM for the lock." Just numbers, tracked in the open.
A surface-specific Elo, trained match by match against every ATP result since 2020, plus tour-level Challenger and qualifying. Hard, clay and grass each carry their own rating, weighed against recent form and the head-to-head record on the surface in play.
That win probability becomes a fair decimal price. We line it up against the best price on offer across the sportsbooks, with the book's built-in margin stripped out so the comparison is honest.
Where our price and the market's disagree by more than 5%, we publish the match and show both numbers. A gap is a disagreement, not a prediction that we are the one who is right. Above 15% it usually means the model cannot see something, like an injury or a walkover, so treat a large gap as a reason to look rather than a reason to bet.
One person builds and runs CourtCockpit, which is why the model says what it does and why the record is published with the losses in it. Questions, billing, or something broken: support.
| 181 |
| 84.3% | 83.6% | −0.7 | 73 |
| 92.9% | 94.3% | +1.4 | 35 |