betaider.com
Sign in

Model

Basketball: how well the predictions actually do, and what they were built from

Is the model any good?
Log loss scores how much probability the model put on what actually happened — lower is better. What matters is the comparison with baseline, which is a model that always predicts the league's average home/draw/away split. The edge between them is the only evidence the model has learned anything. If edge is zero or negative, ignore every other number on this site.

Backtests

ModelMatchesLog loss BaselineEdgeBrier AccuracySettingsRun
nba-normal-oos 410 0.6178 0.6915 +0.0738 0.4256 65.6% WNBA | sport=basketball target=xg xi=0.008 reg=1.0 step=30 | margin MAE 9.98 (naive 11.26) | total MAE 14.68 (naive 16.19) 4 Sep 03:46
nba-normal-oos 9031 0.5548 0.6682 +0.1134 0.3776 70.5% NCAAB | sport=basketball target=xg xi=0.008 reg=1.0 step=300 | margin MAE 9.18 (naive 11.15) | total MAE 13.69 (naive 15.19) 4 Sep 03:45
nba-normal-oos 8725 0.4794 0.6782 +0.1988 0.3201 75.4% NCAAW | sport=basketball target=xg xi=0.008 reg=1.0 step=300 | margin MAE 9.72 (naive 14.22) | total MAE 12.95 (naive 14.81) 4 Sep 03:45
nba-normal-oos 8032 0.5510 0.6642 +0.1132 0.3755 70.5% NCAAB | sport=basketball target=xg xi=0.008 reg=1.0 step=300 | margin MAE 9.15 (naive 11.12) | total MAE 13.63 (naive 15.19) 4 Sep 03:15
nba-normal-oos 7724 0.4800 0.6767 +0.1968 0.3212 75.4% NCAAW | sport=basketball target=xg xi=0.008 reg=1.0 step=300 | margin MAE 9.78 (naive 14.26) | total MAE 12.93 (naive 14.85) 4 Sep 03:14
nba-normal-oos 410 0.6178 0.6915 +0.0738 0.4256 65.6% WNBA | sport=basketball target=xg xi=0.008 reg=1.0 step=30 | margin MAE 9.98 (naive 11.26) | total MAE 14.68 (naive 16.19) 4 Sep 03:01
nba-normal-oos 4082 0.6132 0.6888 +0.0757 0.4252 66.0% NBA | sport=basketball target=xg xi=0.008 reg=1.0 step=50 | margin MAE 11.29 (naive 12.73) | total MAE 15.09 (naive 16.19) 4 Sep 01:03
sweep-r60.0-x0.014 4082 0.6521 0.6888 +0.0367 0.4598 63.4% NBA | sport=basketball target=goals xi=0.014 reg=60.0 step=50 | margin MAE 12.05 (naive 12.73) | total MAE 15.59 (naive 16.19) 4 Sep 01:02
sweep-r60.0-x0.008 4082 0.6445 0.6888 +0.0444 0.4525 64.4% NBA | sport=basketball target=goals xi=0.008 reg=60.0 step=50 | margin MAE 11.90 (naive 12.73) | total MAE 15.52 (naive 16.19) 4 Sep 01:02
sweep-r60.0-x0.004 4082 0.6390 0.6888 +0.0498 0.4476 64.5% NBA | sport=basketball target=goals xi=0.004 reg=60.0 step=50 | margin MAE 11.79 (naive 12.73) | total MAE 15.45 (naive 16.19) 4 Sep 01:02
sweep-r25.0-x0.014 4082 0.6321 0.6888 +0.0567 0.4413 64.8% NBA | sport=basketball target=goals xi=0.014 reg=25.0 step=50 | margin MAE 11.68 (naive 12.73) | total MAE 15.30 (naive 16.19) 4 Sep 01:02
sweep-r25.0-x0.008 4082 0.6268 0.6888 +0.0620 0.4364 65.2% NBA | sport=basketball target=goals xi=0.008 reg=25.0 step=50 | margin MAE 11.56 (naive 12.73) | total MAE 15.25 (naive 16.19) 4 Sep 01:02
sweep-r25.0-x0.004 4082 0.6274 0.6888 +0.0614 0.4373 65.5% NBA | sport=basketball target=goals xi=0.004 reg=25.0 step=50 | margin MAE 11.54 (naive 12.73) | total MAE 15.27 (naive 16.19) 4 Sep 01:02
sweep-r10.0-x0.014 4082 0.6180 0.6888 +0.0708 0.4292 65.5% NBA | sport=basketball target=goals xi=0.014 reg=10.0 step=50 | margin MAE 11.41 (naive 12.73) | total MAE 15.11 (naive 16.19) 4 Sep 01:02
sweep-r10.0-x0.008 4082 0.6166 0.6888 +0.0722 0.4279 65.9% NBA | sport=basketball target=goals xi=0.008 reg=10.0 step=50 | margin MAE 11.36 (naive 12.73) | total MAE 15.11 (naive 16.19) 4 Sep 01:01
sweep-r10.0-x0.004 4082 0.6226 0.6888 +0.0663 0.4333 65.7% NBA | sport=basketball target=goals xi=0.004 reg=10.0 step=50 | margin MAE 11.44 (naive 12.73) | total MAE 15.20 (naive 16.19) 4 Sep 01:01
sweep-r5.0-x0.014 4082 0.6137 0.6888 +0.0751 0.4257 65.8% NBA | sport=basketball target=goals xi=0.014 reg=5.0 step=50 | margin MAE 11.33 (naive 12.73) | total MAE 15.06 (naive 16.19) 4 Sep 01:01
sweep-r5.0-x0.008 4082 0.6139 0.6888 +0.0749 0.4258 66.0% NBA | sport=basketball target=goals xi=0.008 reg=5.0 step=50 | margin MAE 11.30 (naive 12.73) | total MAE 15.08 (naive 16.19) 4 Sep 01:01
sweep-r5.0-x0.004 4082 0.6215 0.6888 +0.0674 0.4325 65.7% NBA | sport=basketball target=goals xi=0.004 reg=5.0 step=50 | margin MAE 11.42 (naive 12.73) | total MAE 15.19 (naive 16.19) 4 Sep 01:01
sweep-r1.0-x0.014 4082 0.6132 0.6888 +0.0756 0.4251 65.8% NBA | sport=basketball target=goals xi=0.014 reg=1.0 step=50 | margin MAE 11.32 (naive 12.73) | total MAE 15.10 (naive 16.19) 4 Sep 01:01
sweep-r1.0-x0.008 4082 0.6132 0.6888 +0.0757 0.4252 66.0% NBA | sport=basketball target=goals xi=0.008 reg=1.0 step=50 | margin MAE 11.29 (naive 12.73) | total MAE 15.09 (naive 16.19) 4 Sep 01:01
sweep-r1.0-x0.004 4082 0.6211 0.6888 +0.0678 0.4321 65.8% NBA | sport=basketball target=goals xi=0.004 reg=1.0 step=50 | margin MAE 11.41 (naive 12.73) | total MAE 15.19 (naive 16.19) 4 Sep 01:01
sweep-test 4082 0.6139 0.6888 +0.0749 0.4258 66.0% NBA | sport=basketball target=goals xi=0.008 reg=5.0 step=50 | margin MAE 11.30 (naive 12.73) | total MAE 15.08 (naive 16.19) 4 Sep 01:00
sweep-r60.0-x0.008 4082 0.6445 0.6888 +0.0444 0.4525 64.4% NBA | sport=basketball target=goals xi=0.008 reg=60.0 step=50 | margin MAE 11.90 (naive 12.73) | total MAE 15.52 (naive 16.19) 4 Sep 00:59
sweep-r60.0-x0.004 4082 0.6390 0.6888 +0.0498 0.4476 64.5% NBA | sport=basketball target=goals xi=0.004 reg=60.0 step=50 | margin MAE 11.79 (naive 12.73) | total MAE 15.45 (naive 16.19) 4 Sep 00:59

Log loss is the average negative log probability the model gave to what actually happened — lower is better. Baseline is the same score for a model that always predicts the league's base rate of home/draw/away, and edge is how much the model beats it by. An edge at or below zero means the model has learned nothing worth having.

Stored predictions

ModelPredictionsOn upcoming fixturesGenerated
deep 28 28 21 Oct 2026 18:10
nba-normal-oos 22248 0 4 Sep 2026 03:46
nba-normal 4875 4875 4 Sep 2026 03:45

Data behind it

Matches
32863
Played
27946
Scheduled
4917
Shots recorded
0
Matches with shot data
0

Covering 2022-10-01 to 2027-04-11. Source: Understat, via the soccerdata scraper.

Calibration

When the model claimed a probability in each band, how often was it actually right? A negative gap means overconfidence — the model promises more than it delivers, and every pick in that band is marked down before it is ranked. Bands with fewer than 60 past results are hidden as too thin to read anything into.

MarketBandClaimed Actually wonGapSample
Century marks 35%–40% 37.5% 35.9% -1.6 1344
Century marks 40%–45% 42.5% 41.9% -0.6 1268
Century marks 45%–50% 47.5% 46.9% -0.5 1178
Century marks 50%–55% 52.5% 52.3% -0.2 1200
Century marks 55%–60% 57.5% 56.3% -1.2 1282
Century marks 60%–65% 62.6% 61.8% -0.8 1472
Century marks 65%–70% 67.5% 63.7% -3.8 1635
Century marks 70%–75% 72.5% 72.3% -0.2 1973
Century marks 75%–80% 77.6% 76.9% -0.6 2163
Century marks 80%–85% 82.5% 79.2% -3.3 2428
Century marks 85%–90% 87.6% 85.0% -2.6 2737
Century marks 90%–95% 92.5% 90.3% -2.2 3103
Century marks 95%–100% 97.1% 94.8% -2.2 2170
H1 result 35%–40% 37.5% 37.8% +0.3 5490
H1 result 40%–45% 42.5% 42.7% +0.2 5734
H1 result 45%–50% 47.5% 47.3% -0.2 5980
H1 result 50%–55% 52.4% 51.8% -0.6 5734
H1 result 55%–60% 57.5% 57.3% -0.2 5462
H1 result 60%–65% 62.4% 62.2% -0.2 4912
H1 result 65%–70% 67.4% 68.3% +0.9 3985
H1 result 70%–75% 72.4% 73.0% +0.6 3065
H1 result 75%–80% 77.4% 79.2% +1.9 2211
H1 result 80%–85% 82.2% 83.6% +1.4 1503
H1 result 85%–90% 87.4% 88.7% +1.4 995
H1 result 90%–95% 92.3% 93.5% +1.2 567
H1 result 95%–100% 97.1% 98.8% +1.7 256
H1 total 35%–40% 37.8% 37.3% -0.5 50355
H1 total 40%–45% 42.4% 41.8% -0.6 29994
H1 total 45%–50% 47.6% 47.4% -0.2 79623
H1 total 50%–55% 52.4% 52.6% +0.2 79623
H1 total 55%–60% 57.6% 58.2% +0.6 29994
H1 total 60%–65% 62.2% 62.7% +0.5 50355
H1 total 65%–70% 68.0% 67.4% -0.6 45899
H1 total 70%–75% 71.8% 73.5% +1.7 21330
H1 total 75%–80% 78.1% 77.4% -0.7 46655
H1 total 80%–85% 81.6% 82.5% +0.9 16299
H1 total 85%–90% 88.0% 87.7% -0.3 34404
H1 total 90%–95% 90.4% 90.8% +0.4 1415
H2 result 35%–40% 37.5% 41.3% +3.7 5270
H2 result 40%–45% 42.5% 43.6% +1.0 5444
H2 result 45%–50% 47.5% 47.1% -0.4 5745
H2 result 50%–55% 52.5% 51.2% -1.3 5437
H2 result 55%–60% 57.5% 55.0% -2.5 5205
H2 result 60%–65% 62.4% 58.8% -3.6 4711
H2 result 65%–70% 67.4% 62.7% -4.7 4082
H2 result 70%–75% 72.4% 67.5% -4.9 3086
H2 result 75%–80% 77.3% 73.9% -3.5 2361
H2 result 80%–85% 82.3% 79.5% -2.9 1743
H2 result 85%–90% 87.4% 84.0% -3.3 1140
H2 result 90%–95% 92.3% 89.2% -3.1 719
H2 result 95%–100% 97.1% 95.3% -1.8 363
H2 total 35%–40% 38.1% 38.4% +0.2 46487
H2 total 40%–45% 42.2% 42.7% +0.4 32423
H2 total 45%–50% 47.6% 47.6% +0.0 81393
H2 total 50%–55% 52.4% 52.4% -0.0 81393
H2 total 55%–60% 57.8% 57.3% -0.4 32423
H2 total 60%–65% 61.9% 61.6% -0.2 46487
H2 total 65%–70% 67.6% 66.4% -1.2 53394
H2 total 70%–75% 72.6% 72.2% -0.4 15545
H2 total 75%–80% 77.3% 75.8% -1.5 50869
H2 total 80%–85% 82.7% 81.8% -0.9 11948
H2 total 85%–90% 87.1% 85.2% -1.9 33754
H2 total 90%–95% 90.3% 87.6% -2.8 161
Half time 35%–40% 37.5% 37.9% +0.3 3846
Half time 40%–45% 42.5% 42.8% +0.3 4054
Half time 45%–50% 47.5% 47.2% -0.3 4270
Half time 50%–55% 52.4% 51.9% -0.6 4061
Half time 55%–60% 57.5% 56.9% -0.5 3850
Half time 60%–65% 62.4% 62.5% +0.1 3417
Half time 65%–70% 67.4% 68.4% +1.1 2782
Half time 70%–75% 72.4% 73.5% +1.1 2161
Half time 75%–80% 77.4% 79.7% +2.4 1595
Half time 80%–85% 82.3% 83.3% +1.1 1111
Half time 85%–90% 87.4% 89.5% +2.2 772
Half time 90%–95% 92.3% 94.1% +1.8 459
Half time 95%–100% 97.2% 98.7% +1.5 227
Handicap 35%–40% 37.5% 38.1% +0.6 49523
Handicap 40%–45% 42.5% 42.9% +0.4 48554
Handicap 45%–50% 47.5% 47.6% +0.1 48004
Handicap 50%–55% 52.5% 52.4% -0.1 48004
Handicap 55%–60% 57.5% 57.1% -0.4 48554
Handicap 60%–65% 62.5% 61.9% -0.6 49523
Handicap 65%–70% 67.5% 66.7% -0.8 50710
Handicap 70%–75% 72.5% 71.6% -0.9 52632
Handicap 75%–80% 77.5% 76.5% -1.1 55822
Handicap 80%–85% 82.5% 81.1% -1.4 60224
Handicap 85%–90% 87.6% 85.9% -1.7 67356
Handicap 90%–95% 92.6% 91.1% -1.5 80812
Handicap 95%–100% 98.2% 97.4% -0.7 153713
Highest scoring half 40%–45% 43.4% 47.4% +4.1 4082
Highest scoring half 45%–50% 49.5% 52.7% +3.1 410
Highest scoring half 50%–55% 50.5% 47.3% -3.1 410
Highest scoring half 55%–60% 56.6% 52.6% -4.1 4082
Highest scoring half 65%–70% 69.5% 71.7% +2.2 587
Highest scoring half 70%–75% 72.3% 67.0% -5.3 8163
Highest scoring half 75%–80% 77.9% 71.6% -6.2 14616
Highest scoring half 80%–85% 81.0% 71.4% -9.5 3418
Highest scoring quarter 35%–40% 35.4% 28.4% -7.0 1398
HT/FT 35%–40% 37.5% 37.8% +0.3 3168
HT/FT 40%–45% 42.5% 41.0% -1.5 2935
HT/FT 45%–50% 47.5% 46.6% -0.9 2773
HT/FT 50%–55% 52.5% 51.1% -1.4 2571
HT/FT 55%–60% 57.4% 56.8% -0.6 2259
HT/FT 60%–65% 62.4% 62.3% -0.1 1955
HT/FT 65%–70% 67.5% 68.3% +0.8 1658
HT/FT 70%–75% 72.4% 73.2% +0.8 1335
HT/FT 75%–80% 77.4% 78.1% +0.7 1126
HT/FT 80%–85% 82.3% 84.6% +2.3 826
HT/FT 85%–90% 87.3% 89.2% +1.9 650
HT/FT 90%–95% 92.3% 94.1% +1.8 425
HT/FT 95%–100% 97.2% 98.6% +1.4 222
Moneyline 35%–40% 37.5% 39.4% +1.9 2385
Moneyline 40%–45% 42.5% 44.8% +2.4 2446
Moneyline 45%–50% 47.5% 49.0% +1.6 2577
Moneyline 50%–55% 52.5% 51.0% -1.6 2577
Moneyline 55%–60% 57.5% 55.2% -2.4 2446
Moneyline 60%–65% 62.5% 60.6% -1.9 2385
Moneyline 65%–70% 67.5% 64.4% -3.1 2444
Moneyline 70%–75% 72.5% 68.7% -3.8 2317
Moneyline 75%–80% 77.5% 75.0% -2.4 2228
Moneyline 80%–85% 82.4% 80.9% -1.6 2028
Moneyline 85%–90% 87.5% 85.5% -2.0 1888
Moneyline 90%–95% 92.5% 90.6% -1.9 1813
Moneyline 95%–100% 97.9% 97.5% -0.4 2119
Odd/Even 45%–50% 49.5% 49.5% +0.0 66733
Odd/Even 50%–55% 50.5% 50.5% -0.0 66737
Overtime 90%–95% 93.4% 94.0% +0.6 15855
Overtime 95%–100% 96.6% 97.0% +0.4 6390
Q1 result 35%–40% 37.7% 38.3% +0.6 2800
Q1 result 40%–45% 42.6% 42.9% +0.4 3405
Q1 result 45%–50% 47.5% 47.6% +0.1 3743
Q1 result 50%–55% 52.5% 52.6% +0.2 3360
Q1 result 55%–60% 57.4% 57.3% -0.1 2708
Q1 result 60%–65% 62.4% 64.9% +2.6 1925
Q1 result 65%–70% 67.4% 72.4% +5.0 1312
Q1 result 70%–75% 72.3% 73.8% +1.6 803
Q1 result 75%–80% 77.2% 80.1% +2.8 527
Q1 result 80%–85% 82.2% 86.2% +3.9 282
Q1 result 85%–90% 87.2% 92.7% +5.5 151
Q1 result 90%–95% 92.1% 92.6% +0.5 68
Q1 total 35%–40% 36.8% 38.3% +1.5 10097
Q1 total 40%–45% 43.1% 41.4% -1.7 14931
Q1 total 45%–50% 47.5% 47.3% -0.2 24062
Q1 total 50%–55% 52.5% 52.7% +0.2 24062
Q1 total 55%–60% 56.9% 58.6% +1.7 14931
Q1 total 60%–65% 63.2% 61.7% -1.5 10097
Q1 total 65%–70% 67.4% 67.6% +0.2 15393
Q1 total 70%–75% 72.5% 72.7% +0.2 12376
Q1 total 75%–80% 77.4% 76.9% -0.5 14401
Q1 total 80%–85% 82.5% 82.8% +0.3 9791
Q1 total 85%–90% 88.2% 87.4% -0.8 16125
Q1 total 90%–95% 90.3% 91.1% +0.8 1750
Q2 result 35%–40% 37.6% 35.7% -1.9 2868
Q2 result 40%–45% 42.6% 43.9% +1.3 3454
Q2 result 45%–50% 47.5% 47.0% -0.5 3834
Q2 result 50%–55% 52.5% 51.4% -1.1 3427
Q2 result 55%–60% 57.4% 59.4% +2.0 2752
Q2 result 60%–65% 62.4% 61.9% -0.5 1939
Q2 result 65%–70% 67.4% 68.4% +1.0 1288
Q2 result 70%–75% 72.3% 75.3% +3.0 774
Q2 result 75%–80% 77.2% 81.0% +3.8 484
Q2 result 80%–85% 82.2% 85.3% +3.1 273
Q2 result 85%–90% 87.2% 93.5% +6.3 123
Q2 result 90%–95% 91.9% 95.4% +3.5 65
Q2 total 35%–40% 36.8% 39.3% +2.5 10125
Q2 total 40%–45% 43.1% 41.8% -1.3 14880
Q2 total 45%–50% 47.5% 47.3% -0.2 24128
Q2 total 50%–55% 52.5% 52.7% +0.2 24128
Q2 total 55%–60% 56.9% 58.2% +1.3 14880
Q2 total 60%–65% 63.2% 60.7% -2.5 10125
Q2 total 65%–70% 67.4% 67.4% -0.0 15551
Q2 total 70%–75% 72.5% 72.0% -0.5 12230
Q2 total 75%–80% 77.4% 76.8% -0.6 14350
Q2 total 80%–85% 82.4% 83.0% +0.6 9725
Q2 total 85%–90% 88.2% 87.3% -0.8 16235
Q2 total 90%–95% 90.3% 90.8% +0.5 1702
Q3 result 35%–40% 37.6% 38.8% +1.2 2763
Q3 result 40%–45% 42.6% 42.3% -0.3 3315
Q3 result 45%–50% 47.5% 47.6% +0.0 3655
Q3 result 50%–55% 52.4% 52.7% +0.2 3256
Q3 result 55%–60% 57.3% 56.8% -0.5 2652
Q3 result 60%–65% 62.3% 60.8% -1.5 1912
Q3 result 65%–70% 67.3% 66.7% -0.7 1300
Q3 result 70%–75% 72.2% 73.1% +0.9 904
Q3 result 75%–80% 77.4% 81.8% +4.4 576
Q3 result 80%–85% 82.2% 86.0% +3.8 343
Q3 result 85%–90% 87.2% 87.4% +0.1 182
Q3 result 90%–95% 91.9% 95.6% +3.7 91
Q3 total 35%–40% 36.7% 38.1% +1.4 9983
Q3 total 40%–45% 43.1% 41.6% -1.5 14952
Q3 total 45%–50% 47.5% 47.7% +0.2 24410
Q3 total 50%–55% 52.5% 52.3% -0.2 24410
Q3 total 55%–60% 56.9% 58.4% +1.5 14952
Q3 total 60%–65% 63.3% 61.9% -1.4 9983
Q3 total 65%–70% 67.2% 67.8% +0.6 15758
Q3 total 70%–75% 72.7% 71.8% -0.9 12479
Q3 total 75%–80% 77.2% 77.3% +0.1 14667
Q3 total 80%–85% 82.9% 82.3% -0.6 8491
Q3 total 85%–90% 87.7% 87.2% -0.5 17900
Q3 total 90%–95% 90.2% 90.9% +0.7 286
Q4 result 35%–40% 37.6% 42.5% +4.8 2782
Q4 result 40%–45% 42.6% 43.1% +0.5 3359
Q4 result 45%–50% 47.5% 47.6% +0.1 3732
Q4 result 50%–55% 52.4% 51.4% -1.0 3307
Q4 result 55%–60% 57.3% 52.0% -5.4 2684
Q4 result 60%–65% 62.3% 57.7% -4.6 1897
Q4 result 65%–70% 67.4% 60.4% -6.9 1281
Q4 result 70%–75% 72.2% 66.0% -6.3 873
Q4 result 75%–80% 77.3% 71.1% -6.3 560
Q4 result 80%–85% 82.2% 73.8% -8.4 321
Q4 result 85%–90% 87.2% 82.7% -4.5 179
Q4 result 90%–95% 92.0% 82.5% -9.5 80
Q4 total 35%–40% 36.7% 38.6% +1.8 12188
Q4 total 40%–45% 43.3% 41.6% -1.6 14044
Q4 total 45%–50% 47.5% 47.5% +0.0 25596
Q4 total 50%–55% 52.5% 52.5% -0.0 25596
Q4 total 55%–60% 56.7% 58.4% +1.6 14044
Q4 total 60%–65% 63.3% 61.4% -1.8 12188
Q4 total 65%–70% 67.0% 67.4% +0.4 15282
Q4 total 70%–75% 72.9% 71.5% -1.4 14695
Q4 total 75%–80% 76.6% 76.9% +0.3 10817
Q4 total 80%–85% 82.8% 82.0% -0.8 11054
Q4 total 85%–90% 86.7% 85.6% -1.1 15250
Team total 35%–40% 37.6% 38.8% +1.2 68845
Team total 40%–45% 42.8% 42.9% +0.1 40516
Team total 45%–50% 47.6% 47.7% +0.2 104660
Team total 50%–55% 52.4% 52.3% -0.2 104660
Team total 55%–60% 57.2% 57.1% -0.1 40516
Team total 60%–65% 62.4% 61.2% -1.2 68845
Team total 65%–70% 67.8% 66.4% -1.4 52728
Team total 70%–75% 72.1% 70.7% -1.4 63001
Team total 75%–80% 77.5% 75.1% -2.4 67339
Team total 80%–85% 82.6% 80.7% -1.9 36126
Team total 85%–90% 86.6% 83.9% -2.7 54680
Team total 90%–95% 91.5% 86.3% -5.2 1187
Team total 95%–100% 98.4% 72.4% -26.0 308
Total points 35%–40% 37.4% 38.5% +1.1 46085
Total points 40%–45% 42.5% 43.5% +1.0 44207
Total points 45%–50% 48.0% 47.7% -0.3 65046
Total points 50%–55% 52.0% 52.3% +0.3 65046
Total points 55%–60% 57.5% 56.5% -1.0 44207
Total points 60%–65% 62.6% 61.5% -1.1 46085
Total points 65%–70% 67.4% 65.9% -1.6 41578
Total points 70%–75% 72.8% 70.8% -1.9 30410
Total points 75%–80% 77.0% 75.6% -1.4 22878
Total points 80%–85% 83.2% 80.6% -2.6 25845
Total points 85%–90% 87.1% 85.0% -2.1 29334
Total points 90%–95% 91.7% 88.8% -2.8 27840
Total points 95%–100% 95.7% 91.8% -3.9 452
Win both halves 35%–40% 37.4% 36.3% -1.1 2445
Win both halves 40%–45% 42.4% 40.6% -1.8 2005
Win both halves 45%–50% 47.4% 45.8% -1.6 1529
Win both halves 50%–55% 52.4% 50.3% -2.0 1297
Win both halves 55%–60% 57.4% 57.8% +0.4 983
Win both halves 60%–65% 62.4% 60.6% -1.8 855
Win both halves 65%–70% 67.5% 66.8% -0.7 641
Win both halves 70%–75% 72.5% 72.0% -0.6 478
Win both halves 75%–80% 77.3% 77.1% -0.2 401
Win both halves 80%–85% 82.4% 82.3% -0.1 327
Win both halves 85%–90% 87.4% 86.0% -1.4 221
Win both halves 90%–95% 92.3% 93.2% +0.9 162
Win both halves 95%–100% 97.3% 96.4% -0.9 110
Winning margin 35%–40% 37.6% 40.2% +2.7 251
Winning margin 40%–45% 42.5% 48.9% +6.4 184
Winning margin 45%–50% 47.4% 47.5% +0.1 139
Winning margin 50%–55% 52.2% 48.4% -3.9 124
Winning margin 55%–60% 57.5% 64.7% +7.2 85
Winning margin 60%–65% 62.6% 70.5% +7.9 78
Winning margin 65%–70% 67.5% 72.3% +4.8 65

How the model works

Each team carries an attack and a defence rating on the log scale. The goals a home side is expected to score are exp(attackhome + defenceaway + home advantage), and the away side's are exp(attackaway + defencehome). Those two numbers feed a pair of Poisson distributions, combined into a full scoreline matrix from which every market — 1X2, over/under, both teams to score, exact score — is read off.

Two departures from the textbook version matter:

The rho parameter is Dixon and Coles' correction to the low-scoring cells (0-0, 1-0, 0-1, 1-1), where treating the two scores as independent is known to misfit.

betaider.com

Sport

Basketball sections

Preferences

Appearance
Aider Reading the Basketball model · online
Open the Radar
Bet slip
Open full page
↑↓ to move ↵ to open esc to close See all results

On this page

Model

What this page is for

The evidence for or against trusting anything else on this site. Every probability elsewhere comes from the model described here, and this page is where it is held to account.

How to read the backtests

Log loss scores probabilities: lower is better, and it punishes confident mistakes far harder than cautious ones. The number to compare it against is the baseline beside it, which is what you get by predicting the league's base rates and nothing else. If the model does not beat that baseline, it has learned nothing, however good its accuracy percentage looks — and a banner will say so on every page of that sport.

The backtest is walk-forward: the model is only ever asked about matches later than the ones it was fitted on. That is what makes the score meaningful rather than a measure of how well it memorised the past.

How to read the data section

Coverage is a limit on everything above it. A model fitted on few matches, or on a league with patchy shot data, produces confident-looking numbers built on very little.

Where to go next

Calibration asks a different question — not whether the model is sharp, but whether its stated probabilities are honest.

Press esc to close Read the full guide