Prediction accuracy: basketball

What is checked: who wins the game, overtime included. An honest probability means outcomes at 70% happen about 70% of the time.

Check on history

The NBA players’ ratings were refitted every week on past games only; every game counted the players available before it. The model’s parameters are those it predicts with now. That is how 2,643 matches from 22 October 2024 to 14 June 2026 were checked.

Model calibration: stated probability against observed frequencyEach dot is both sides' chances estimated in that range; 5,286 estimates.0%0%20%20%40%40%60%60%80%80%100%100%perfect calibrationModel probabilityObserved frequency
Each dot is both sides' chances estimated in that range; 5,286 estimates.
Model estimateEstimatesAverageHappened
0–10%996.8%6.1%
10–20%39215.6%14.8%
20–30%57425.1%24.0%
30–40%74635.2%35.8%
40–50%83245.2%42.8%
50–60%83254.8%57.2%
60–70%74664.8%64.2%
70–80%57474.9%76.0%
80–90%39284.4%85.2%
90–100%9993.2%93.9%

How to read probabilities and calibration →

Only the model's favourite

Confidence fromShare of matchesEstimateCame true
60%69%73.8%74.1%
70%40%80.1%81.0%
80%19%86.2%87.0%
90%4%93.2%93.9%

Overall the model's most likely outcome came true in 69% of matches, with the favourite estimated at 68% on average. When the two are close, the model neither overstates nor understates its confidence.

Since launch

We store the last estimate before each match and never change it afterwards. Since 6 October 2026 the most likely outcome came true in 55 of 82 matches with an expected share of 67%. The sample is still small: conclusions need several hundred matches.

CompetitionMatchesCame trueExpected
LNBP221769%
EuroLeague171064%
Liga Nacional15764%
EuroCup12863%
Liga ACB9768%
VTB United League7679%

Latest 12 matches

  • Obera TCRacing de Chivilcoy14 October · Liga Nacional
    1The most likely outcome did not happen: 1Final score 78:84. Model's score: —.161.3
  • ValenciaOlympiacos13 October · EuroLeague
    1The most likely outcome did not happen: 1Final score 97:102 in overtime. Model's score: —.184.0
  • Partizan Mozzart BetPanathinaikos13 October · EuroLeague
    2The most likely outcome came true: 2Final score 55:72. Model's score: —.166.3
  • Olimpia MilanoReal Madrid13 October · EuroLeague
    2The most likely outcome came true: 2Final score 89:98. Model's score: —.175.3
  • BaskoniaDubai13 October · EuroLeague
    1The most likely outcome did not happen: 1Final score 79:93. Model's score: —.178.0
  • BarcelonaMaccabi Tel Aviv13 October · EuroLeague
    1The most likely outcome came true: 1Final score 90:87. Model's score: —.178.8
  • TrentoChemnitz13 October · EuroCup
    1The most likely outcome did not happen: 1Final score 80:88. Model's score: —.157.9
  • BC RomaBalkan13 October · EuroCup
    1The most likely outcome came true: 1Final score 77:72 in overtime. Model's score: —.172.1
  • 2The most likely outcome came true: 2Final score 82:84. Model's score: —.166.6
  • FenerbahceZalgiris Kaunas13 October · EuroLeague
    1The most likely outcome came true: 1Final score 99:80. Model's score: —.161.1
  • NeptunasJL Bourg13 October · EuroCup
    2The most likely outcome did not happen: 2Final score 93:89. Model's score: —.170.2
  • LietkabelisPAOK13 October · EuroCup
    2The most likely outcome did not happen: 2Final score 95:86. Model's score: —.162.1

All predictions of the section →