Model transparency
We do not hide how accurate we are. These numbers come from the live database and are refreshed daily.
Us / market / gap
The metric is log-loss — lower is better. The reference is the bookmakers' closing odds with the margin removed (Shin). The closing line is the hardest known benchmark in this field.
| League | matches | us | market | gap |
|---|---|---|---|---|
| La Liga | 1140 | 0.9683 | 0.9530 | +0.0153 |
| Premier League | 1140 | 0.9755 | 0.9599 | +0.0156 |
| Ligue 1 | 918 | 0.9981 | 0.9820 | +0.0161 |
| Serie A | 1140 | 0.9825 | 0.9636 | +0.0189 |
| Primeira Liga | 918 | 0.9310 | 0.9079 | +0.0231 |
| Eredivisie | 918 | 0.9605 | 0.9362 | +0.0243 |
| Bundesliga | 918 | 0.9881 | 0.9606 | +0.0275 |
| Süper Lig | 1028 | 0.9832 | 0.9384 | +0.0449 |
The gap is positive on every row: the market is more accurate than we are. That is exactly why we publish this table — a tool that hides its own limits deserves no trust in any number it shows.
How these numbers were produced
- Walk-forward. Every prediction comes from a model trained only on data known before that match. Future matches get zero weight, so leakage is impossible at the code level.
- No hindsight edits. A published prediction is never changed after the match is played.
- Calibration requires proof. Post-hoc calibration was measured and found not to help, so it is switched off.