Calibration
The model, checked in public
Pre-match: does the predicted probability match what happens?
2,143 games checked, from 7/17/2026 to 10/17/2026.
1X2 Brier score
0.661
no-model baseline: 0.655
1X2 log loss
1.104
lower is better
Games checked
2,143
prediction locked before kickoff
In this period, the model didn't beat the no-model baseline (0.661 vs. 0.655).
Predicted probability vs. actual frequency
By market
| Market | Games | Predicted | Happened | Difference |
|---|---|---|---|---|
| Home win | 2,143 | 36.8% | 41.7% | +5.0 pp |
| Draw | 2,143 | 23.2% | 27.4% | +4.2 pp |
| Away win | 2,143 | 40.1% | 30.9% | -9.2 pp |
| Over 2.5 goals | 2,143 | 53.1% | 51.7% | -1.3 pp |
| Both teams to score | 2,100 | 21.1% | 55.6% | +34.5 pp |
Positive difference: it happened more often than the model predicted. Negative: the model was too optimistic.
Month by month
| Month | Games | Brier | Log loss |
|---|---|---|---|
| Jul 2026 | 182 | 0.696 | 1.137 |
| Aug 2026 | 602 | 0.642 | 1.072 |
| Sep 2026 | 650 | 0.673 | 1.129 |
| Oct 2026 | 709 | 0.658 | 1.099 |
In red, the months when the model did the same as or worse than the no-model baseline.
Live Radar: rule by rule
Last 90 days: 6,986 alerts, 3,489 hits and 1,602 misses, a 68.5% hit rate among graded alerts. 1,763 couldn't be graded automatically and 132 were still in play.
| Rule | Alerts | Hits | Misses | Not graded | Hit rate | Average odds | Return/unit |
|---|---|---|---|---|---|---|---|
| Hot zone, level score | 1,941 | 1,574 | 322 | 0 | 83.0% | 2.17 | 81.0% |
| Away team pressing | 1,409 | 302 | 196 | 888 | 60.6% | 1.79 | 5.8% |
| Home team pressing | 1,068 | 259 | 89 | 695 | 74.4% | 1.83 | 32.7% |
| Open finish | 902 | 564 | 331 | 0 | 63.0% | 1.85 | 16.4% |
| Deceptive 0-0 | 619 | 387 | 215 | 0 | 64.3% | 1.49 | -4.5% |
| Favorite conceded first | 398 | 112 | 278 | 0 | 28.7% | 1.45 | -58.4% |
| BTTS pending | 377 | 233 | 140 | 0 | 62.5% | 1.59 | -7.0% |
| Clear favorite drawing | 178 | 0 | 0 | 177 | — | — | — |
| Leader with a man advantage | 51 | 37 | 14 | 0 | 72.5% | 1.80 | 33.0% |
| Underdog down a man | 36 | 20 | 14 | 0 | 58.8% | 1.78 | -5.4% |
| Pre-match over 2.5 | 4 | 1 | 3 | 0 | 25.0% | 1.52 | -62.5% |
| Favorite 0-0 at halftime | 3 | 0 | 0 | 3 | — | — | — |
What's underperforming right now: “Deceptive 0-0” hits 64.3%, below the 67.1% that average odds of 1.49 require; “Favorite conceded first” hits 28.7%, below the 69.0% that average odds of 1.45 require; “BTTS pending” hits 62.5%, below the 62.9% that average odds of 1.59 require. These rules stay in the app, but the number stays here for you to weigh.
Match reads
The reads the app suggests for each match, checked over the last 365 days. The sample is still small (52 settled and 40 pending): treat it as a trend, not a final rate.
| Read | Settled | Hits | Hit rate |
|---|---|---|---|
| Main (55% to 90% chance) | 32 | 20 | 62.5% |
| Value (sportsbook odds 5% above fair) | 20 | 13 | 65.0% |
How to read these numbers
- Calibration: if the model says 60%, the event should happen in about 60 out of 100 games. A point above the chart's diagonal means the model was too pessimistic; below it, too optimistic.
- Brier score: mean squared error of the predicted 1X2 probability (0 is perfect; guessing 1/3 for each outcome gives 0.667). We compare it with a no-model baseline that only uses how often home wins, draws and away wins happened in the period.
- Log loss: punishes confident mistakes harder. Predicting 90% and missing costs far more than predicting 55% and missing.
- Radar hit rate: hits ÷ (hits + misses). “Not graded” are alerts the automatic checker can't judge (pressure alerts, for example), and they don't count toward the rate. Return per unit uses the alert's fair odds, not a sportsbook's odds.
Past results don't guarantee future results. A 60% chance misses 4 times out of 10.
See the math done for every match of the day.
Fair odds, a scoreline matrix and a live Radar across 55 leagues. 7-day guarantee.
See plans