StatsAI.bet

AI model performance

Every resolved StatsAI prediction from 31 Aug 2026 to 29 Oct 2026, scored against the result and against bookmaker odds with the margin removed. Nothing is left out because it went badly.

Resolved predictions302,817one probability for one outcome
Matches28,297with at least one resolved prediction
Compared with the market57,803events: match × market
Days6031 Aug 2026 – 29 Oct 2026

The short answer

The market is more accurate. On the same events, margin-free bookmaker odds have a better Brier score than the AI model in every market we measure (4), and the gap is larger than random variation.

  • 1X2 (full-time result)Market betterBrier: AI 0.630 · market 0.591 · difference +0.040 (95% interval +0.036 to +0.044)
  • Goals over/under 2.5Market betterBrier: AI 0.496 · market 0.475 · difference +0.021 (95% interval +0.018 to +0.023)
  • Both teams to scoreMarket betterBrier: AI 0.496 · market 0.488 · difference +0.008 (95% interval +0.006 to +0.011)
  • StatsAI Elo (1X2)Market betterBrier: AI 0.612 · market 0.591 · difference +0.021 (95% interval +0.016 to +0.028)

Lower Brier is better. The interval comes from resampling whole days, because matches on the same day are not independent.

AI model vs market and base rate

The base rate is the simplest possible forecast: always the same distribution, equal to how often each outcome happened. A bar right of zero beats it, a bar left of zero does worse. Longer is better.

AI model, rawAI model, calibratedMarket (odds without margin)
−6−4−20+2+4+6+8+10Brier improvement over the base rate (%)1X2 (full-time result)+2.4+2.5+8.6Goals over/under 2.5−5.60.0+4.2Both teams to score−5.20.0+1.6StatsAI Elo (1X2)+5.3+5.2+8.5
MarketEventsBrier rawBrier calibratedBrier marketBrier base rateLog loss AI / marketAccuracy AI / marketRPS AI / market
1X2 (full-time result)22,1600.6310.6300.5910.6461.047 / 0.99045.1 / 52.00.220 / 0.205
Goals over/under 2.514,0180.5230.4960.4750.4960.689 / 0.66854.2 / 59.0–
Both teams to score19,8460.5220.4960.4880.4960.689 / 0.68152.6 / 56.0–
StatsAI Elo (1X2)1,7790.6120.6120.5910.6461.021 / 0.99048.5 / 52.10.212 / 0.202

Calibration: does 60% mean 60%?

Predictions are grouped in bins of ten percentage points. For a well-calibrated model the point sits on the diagonal: of all outcomes given about 60%, about 60% happen. The vertical line is the 95% Wilson interval. Bins with fewer than 100 predictions are not drawn.

AI model, calibratedMarket (odds without margin)
002020404060608080100100Predicted (%)Observed (%)
1X2: predicted vs observed

Expected calibration error (ECE) for 1X2 (full-time result): AI raw 1.30, calibrated 0.64, market 0.75 percentage points.

1X2 (full-time result) · predicted → observed (%), number of predictions below
Bin (%)AI model, rawAI model, calibratedMarket (odds without margin)
0–107.5 → 9.7n 5478.4 → 8.8n 1707.0 → 5.9n 1,505
10–2015.9 → 20.4n 6,75616.9 → 17.2n 4,26816.2 → 15.1n 7,697
20–3025.2 → 25.6n 19,47025.5 → 25.3n 22,55525.5 → 24.9n 26,534
30–4034.2 → 33.2n 22,64234.5 → 34.0n 25,00834.4 → 34.5n 12,693
40–5043.9 → 42.0n 10,74844.1 → 43.8n 9,53144.7 → 45.2n 8,472
50–6053.8 → 54.1n 4,16354.3 → 57.7n 3,62254.7 → 56.0n 5,242
60–7063.7 → 63.9n 1,61663.8 → 69.1n 1,12264.4 → 68.1n 2,581
70–8073.2 → 76.8n 45373.5 → 79.4n 18974.3 → 75.4n 1,236
80–9082.6 → 89.2n 83 · small sample82.0 → 100.0n 15 · small sample84.2 → 88.0n 440
≥ 9091.0 → 100.0n 2 · small sample–92.1 → 95.0n 80 · small sample
Calibration for the other markets

Expected calibration error (ECE) for Goals over/under 2.5: AI raw 9.43, calibrated 4.57, market 1.67 percentage points.

Goals over/under 2.5 · predicted → observed (%), number of predictions below
Bin (%)AI model, rawAI model, calibratedMarket (odds without margin)
0–102.2 → 47.4n 1148.8 → 55.6n 9 · small sample–
10–2015.0 → 47.1n 31218.2 → 66.7n 3 · small sample–
20–3024.5 → 50.6n 1,02724.9 → 44.1n 59 · small sample28.7 → 29.5n 44 · small sample
30–4034.8 → 49.8n 1,73236.7 → 47.7n 23536.5 → 35.7n 1,217
40–5044.7 → 50.9n 3,68046.3 → 50.5n 6,55945.4 → 47.1n 4,139
50–6054.4 → 55.6n 3,02953.8 → 58.3n 6,73555.0 → 56.6n 5,147
60–7063.8 → 58.3n 2,35762.6 → 65.6n 32664.0 → 65.4n 2,844
70–8073.6 → 62.6n 1,10374.5 → 70.8n 65 · small sample73.4 → 77.7n 574
80–9083.3 → 67.8n 44783.9 → 64.7n 17 · small sample82.8 → 82.7n 52 · small sample
≥ 9095.0 → 70.5n 21791.8 → 80.0n 10 · small sample90.7 → 100.0n 1 · small sample

Expected calibration error (ECE) for Both teams to score: AI raw 9.49, calibrated 3.36, market 1.68 percentage points.

Both teams to score · predicted → observed (%), number of predictions below
Bin (%)AI model, rawAI model, calibratedMarket (odds without margin)
0–104.3 → 43.6n 39 · small sample–9.8 → 50.0n 2 · small sample
10–2016.5 → 42.9n 14714.2 → 33.3n 3 · small sample18.3 → 20.0n 5 · small sample
20–3025.4 → 46.1n 73626.9 → 40.0n 40 · small sample26.2 → 37.5n 56 · small sample
30–4035.1 → 50.6n 1,97536.8 → 42.5n 16037.1 → 40.6n 858
40–5046.2 → 53.8n 4,92846.5 → 50.8n 4,92746.1 → 48.5n 5,332
50–6053.8 → 52.4n 4,85252.8 → 55.6n 13,80354.6 → 55.8n 9,514
60–7064.3 → 57.1n 3,54063.1 → 60.1n 71063.4 → 61.9n 3,793
70–8074.1 → 58.8n 2,26673.8 → 60.0n 16572.5 → 71.1n 284
80–9084.0 → 61.9n 1,06683.8 → 62.9n 35 · small sample80.2 → 50.0n 2 · small sample
≥ 9093.3 → 62.6n 29790.9 → 100.0n 3 · small sample–

Expected calibration error (ECE) for StatsAI Elo (1X2): AI raw 1.04, calibrated 0.93, market 0.89 percentage points.

StatsAI Elo (1X2) · predicted → observed (%), number of predictions below
Bin (%)AI model, rawAI model, calibratedMarket (odds without margin)
0–108.3 → 2.9n 34 · small sample8.5 → 4.8n 42 · small sample7.8 → 6.6n 106
10–2015.8 → 14.8n 47215.9 → 15.8n 44316.2 → 14.9n 619
20–3025.9 → 26.1n 2,51226.7 → 25.9n 2,42625.6 → 24.9n 2,181
30–4034.6 → 35.5n 84035.0 → 34.9n 1,16034.6 → 34.9n 990
40–5044.3 → 41.7n 75644.4 → 46.0n 70044.5 → 45.1n 681
50–6053.8 → 54.0n 43554.3 → 55.2n 32854.9 → 55.5n 418
60–7063.7 → 69.9n 20964.4 → 71.1n 15964.4 → 69.6n 204
70–8073.6 → 71.0n 69 · small sample73.9 → 71.8n 71 · small sample74.1 → 77.4n 106
80–9082.3 → 90.0n 10 · small sample82.2 → 87.5n 8 · small sample83.5 → 83.9n 31 · small sample
≥ 90––90.9 → 100.0n 1 · small sample

Where the model is off: by odds (1X2)

Each 1X2 outcome is grouped by its bookmaker odds. For favourites (odds below 1.50) the AI model gives on average 49.3%, the market 70.4%, and they actually win 73.0% of the time. For outsiders (odds 5.00 and above): AI model 24.5%, market 13.4%, observed 12.4%.

AI model, calibratedMarketObserved
010203040506070801.00–1.49n 4,0401.50–1.99n 8,7472.00–2.99n 17,0003.00–4.99n 29,5295.00+n 7,164
OddsOutcomesAI raw %AI calibrated %Market %Observed %
1.00–1.494,04051.549.370.473.0
1.50–1.998,74741.940.852.453.5
2.00–2.9917,00034.534.337.237.5
3.00–4.9929,52930.130.525.224.6
5.00+7,16423.124.513.412.4

Over time

1X2 Brier score by week (Monday to Sunday). A hollow point means the week is only partly in the measurement.

AI model, calibratedMarket (odds without margin)
0.570.580.590.600.610.620.630.6431 Aug7 Sept14 Sept21 Sept28 Sept5 Oct12 Oct19 Oct26 OctWeek · Brier
1X2 (full-time result) · Brier · * week only partly in the measurement
WeekEventsAI model, calibratedMarket (odds without margin)
31 Aug – 6 Sept 2026 *2,5990.6340.595
7 Sept – 13 Sept 20262,9250.6350.592
14 Sept – 20 Sept 20262,9640.6260.585
21 Sept – 27 Sept 20262,0130.6310.590
28 Sept – 4 Oct 20261,8530.6350.580
5 Oct – 11 Oct 20262,7820.6340.595
12 Oct – 18 Oct 20263,0820.6290.597
19 Oct – 25 Oct 20262,9740.6240.591
26 Oct – 1 Nov 2026 *9680.6220.574

Shorter periods

The same calculation over the last 7, 30 and 90 days. Each period is measured in full; nothing is singled out.

Market7 days23 Oct – 29 Oct30 days30 Sept – 29 OctAll31 Aug – 29 Oct
1X2 (full-time result)AI 0.625 · market 0.590n 3,308AI 0.629 · market 0.592n 11,448AI 0.630 · market 0.591n 22,160
Goals over/under 2.5AI 0.493 · market 0.473n 2,429AI 0.495 · market 0.475n 8,050AI 0.496 · market 0.475n 14,018
Both teams to scoreAI 0.493 · market 0.482n 2,986AI 0.495 · market 0.489n 10,305AI 0.496 · market 0.488n 19,846
StatsAI Elo (1X2)AI 0.612 · market 0.598n 339AI 0.604 · market 0.583n 1,061AI 0.612 · market 0.591n 1,779

By competition tier

A filtered view: the same compared events as in the tables above, split by competition tier. The overall result is above; this only shows where the gap between the AI model and the market is larger or smaller. Groups with at least 1,000 events are shown. 100.0% of events are classified.

Top tier is a country's first division, second tier its second division, and third tier and below everything lower (in England from League One down). Cups, national teams, confederation club competitions, youth, reserve and women's football form a separate group.

0+0.01+0.02+0.03+0.04+0.05+0.06+0.07← AI bettermarket better →Brier: AI calibrated − market1X2 (full-time result)Top tierSecond tierThird tier and belowCups, national teams, youth and womenGoals over/under 2.5Top tierSecond tierThird tier and belowCups, national teams, youth and womenBoth teams to scoreTop tierSecond tierThird tier and belowCups, national teams, youth and women
MarketTierEventsAI model, calibratedMarket (odds without margin)Difference (95% interval)
1X2 (full-time result)Top tier5,2280.6220.577+0.045+0.038 … +0.051
Second tier4,3610.6470.607+0.040+0.033 … +0.047
Third tier and below8,2690.6420.612+0.030+0.022 … +0.037
Cups, national teams, youth and women4,3020.6010.548+0.053+0.042 … +0.064
Goals over/under 2.5Top tier3,7410.4930.474+0.019+0.013 … +0.023
Second tier2,8960.4970.487+0.010+0.005 … +0.015
Third tier and below5,1650.5000.475+0.026+0.020 … +0.032
Cups, national teams, youth and women2,2160.4890.462+0.027+0.020 … +0.036
Both teams to scoreTop tier4,9290.4970.491+0.006+0.003 … +0.011
Second tier4,1030.4970.491+0.006+0.002 … +0.010
Third tier and below7,2250.4950.486+0.008+0.005 … +0.013
Cups, national teams, youth and women3,5890.4960.486+0.011+0.005 … +0.017

Markets without a full distribution

For half-time/full-time the model gives only the most likely pair, combinations are derived from other predictions, and goals by half come from our own Poisson model. There are no complete odds for them, so only calibration is measured.

MarketPredictionsAvg. predicted raw / calibratedObservedBrier raw / calibratedECE raw / calibrated
Half-time/full-time16,43422.7 / 20.921.30.165 / 0.1651.59 / 0.46
Combinations (1&GG…)46,29226.4 / 25.526.20.187 / 0.1853.34 / 0.89
Goals by half82,17625.1 / 28.728.90.209 / 0.2026.47 / 0.35

Our Elo vs the input model

On the same 1,929 matches, StatsAI Elo has a Brier score of 0.614 and the input 1X2 model 0.634; accuracy 48.3% vs 44.0%. Elo covers fewer matches, so it is compared only where both exist.

ModelEventsBrierAccuracy
StatsAI Elo1,9290.61448.3
Input 1X2 model1,9290.63444.0
18+ only. Statistics, not betting advice. Terms of use

How we measure AI prediction performance

What is measured
Probabilities for 1X2, goals over/under 2.5, both teams to score and half-time/full-time come from an external statistical model that StatsAI imports every day. StatsAI adds its own Elo model, a Poisson model for goals by half, derived combinations and a calibration layer. Everything shown and resolved is measured, not selected tickets.
Unit of measurement
An event is one match in one market. The three probabilities for 1, X and 2 are one distribution, not three forecasts; over and under are two sides of the same estimate. That is why there are fewer events than predictions.
Metrics
Brier score: the sum of squared differences between forecast and outcome (0 is perfect; an even 1X2 forecast scores 0.667, a 50:50 two-way forecast 0.500). Log loss: −ln of the probability given to what happened, floored at 1%. Accuracy: how often the most likely outcome happened. RPS for 1X2 also respects the order 1 < X < 2.
Market benchmark
Bookmaker odds recorded before kick-off (the first ones found, never updated afterwards) are turned into probabilities: 1/odds divided by the sum of 1/odds over all outcomes (proportional margin removal). Only events with odds for every outcome and a sum between 1.00 and 1.40 are used; 247 events were excluded.
Out-of-sample calibration
The calibration curve for each day is learned only from resolved predictions of the previous 90 days (10 bins, at least 150 predictions per bin, monotonic curve). The day being measured is never part of the learning. The first days without enough history are not compared, so the comparison starts on 1 Sept 2026.
No look-ahead
A prediction is stored before the match and never changed after the result. We also checked the source: on 30 Oct 2026 we compared stored probabilities for finished matches with what the source showed at that time – 1,328 identical, 0 changed. Today's matches enter the measurement the next day.
Nothing is removed afterwards
Every resolved prediction is measured, good or bad. 9,719 predictions on 1,264 matches older than 2 days have no result (postponed, abandoned or result not found) and are therefore not measured. Filtered views (period, odds, competition tier) are always labelled and never shown as the overall result.
Dependence and sample size
Matches on the same day and in the same league are not independent, so intervals come from resampling whole days (1,000 repetitions, fixed seed). Bins with fewer than 100 predictions are marked as small samples. Results for individual leagues are not published because only a few leagues have enough events; leagues are pooled by competition tier instead, and only groups with at least 1,000 events are shown.
Why there is no profit or ROI
We do not publish profit or ROI. Hypothetical betting at recorded odds ignores line movement, limits and real bet execution, so such a number would not be a fair measurement.

Limitations

  • The period is short (60 days). A few months of football are not enough for conclusions about a whole season.
  • Odds come from the pre-match offer, not closing odds. Closing odds are usually even more accurate, so the real market is probably stronger than shown here.
  • Some matches have no half-time score, so the half-time/full-time and goals-by-half markets have fewer resolved predictions.
  • A good Brier score does not mean profit at a bookmaker. This is statistics, not betting advice.

How to cite

StatsAI (2026). AI model performance: football prediction accuracy vs the betting market. https://statsai.bet/en/ai-model-performance (accessed 30 Oct 2026).

Figures change daily, so include the access date.

The aggregate figures on this page can be downloaded as JSON under the CC BY 4.0 licence (free to use with attribution: StatsAI, statsai.bet). Download the data (JSON)

Monthly reports

Every month the figures for the previous month are frozen in a separate report with findings, tables and downloadable data.

The first report (October 2026) will be published on 2 Nov 2026. All reports