Transparency

Public track record

Every prediction is stored before kick-off and never rewritten afterwards. After the final whistle we score it against the real result. Nothing is hidden: good and bad markets are shown side by side.

Model v1.1

2,838

Predictions scored

Brier score

0.220

Lower is better. 0 = perfect, 0.25 = coin flip.

vs 0.25

12% better than a coin flip

Lower is better. 0 = perfect, 0.25 = coin flip.

By market

MarketSamplesPredictedActualCalibration gapBrier score
Corners O8.522856.7%61.4%-4.7 pp0.239
Corners O9.532541.6%48.6%-7.1 pp0.234
Corners O10.522832.4%41.2%-8.9 pp0.245
Cards O3.522853.4%53.5%-0.2 pp0.268
Cards O4.532535.4%33.8%+1.5 pp0.213
Goals O1.522874.0%78.5%-4.5 pp0.202
Goals O2.532555.3%59.4%-4.1 pp0.244
Both teams to score32551.5%53.8%-2.4 pp0.253
Corners · safe line21980.1%81.7%-1.6 pp0.149
Cards · safe line19484.0%79.4%+4.7 pp0.161
Goals · safe line21380.4%77.9%+2.5 pp0.168

Predicted average minus how often it actually happened. Close to 0 = well calibrated.

By league

LeagueSamplesPredictedActualCalibration gapBrier score
SpainLa Liga(Spain)72058.2%61.8%-3.6 pp0.231
ItalySerie A(Italy)52356.5%55.6%+0.8 pp0.244
FranceLigue 1(France)47955.2%60.3%-5.1 pp0.225
GermanyBundesliga(Germany)37660.9%69.1%-8.3 pp0.203
EuropeUEFA Europa League(Europe)35261.5%59.9%+1.6 pp0.229
EnglandPremier League(England)20046.4%46.0%+0.4 pp0.171
EuropeUEFA Champions League(Europe)18844.0%43.6%+0.4 pp0.168

Predicted average minus how often it actually happened. Close to 0 = well calibrated.

Recent results

Last 30 days of finished matches. ✓ = right side (≥50% and it happened, or <50% and it didn't), ✗ = wrong side.

MatchFinalCorners O9.5Cards O4.5Goals O2.5Both teams to score
Valencia vs Real SociedadSpainLa Liga(Spain)2–312 corners · 6 cards40% ✗15% ✗31% ✗0% ✗
Marseille vs Paris Saint GermainFranceLigue 1(France)1–210 corners · 4 cards20% ✗25% ✓97% ✓93% ✓
AC Milan vs LecceItalySerie A(Italy)3–05 corners · 1 cards16% ✓16% ✓22% ✗31% ✓
SC Paderborn 07 vs 1899 HoffenheimGermanyBundesliga(Germany)3–111 corners · 1 cards66% ✓3% ✓10% ✗0% ✗
Villarreal vs LevanteSpainLa Liga(Spain)3–18 corners · 2 cards49% ✓18% ✓17% ✗0% ✗
Deportivo La Coruna vs Real BetisSpainLa Liga(Spain)1–116 corners · 2 cards52% ✓74% ✗69% ✗69% ✓
Juventus vs AtalantaItalySerie A(Italy)2–09 corners · 3 cards45% ✓0% ✓27% ✓25% ✓
FC Schalke 04 vs SV ElversbergGermanyBundesliga(Germany)0–08 corners · 3 cards66% ✗29% ✓37% ✓0% ✓
Fulham vs Manchester UnitedEnglandPremier League(England)1–116 corners · 3 cards57% ✓10% ✓84% ✗78% ✓
Nice vs LilleFranceLigue 1(France)2–110 corners · 4 cards27% ✗4% ✓22% ✗23% ✗
Atletico Madrid vs Real MadridSpainLa Liga(Spain)2–14 corners · 5 cards52% ✗30% ✗86% ✓72% ✓
Bayer Leverkusen vs RB LeipzigGermanyBundesliga(Germany)2–015 corners · 5 cards67% ✓13% ✗82% ✗41% ✓
Auxerre vs Stade Brestois 29FranceLigue 1(France)2–111 corners · 2 cards58% ✓7% ✓70% ✓67% ✓
Leeds vs Crystal PalaceEnglandPremier League(England)0–07 corners · 5 cards25% ✓27% ✗72% ✗58% ✗
Manchester City vs SunderlandEnglandPremier League(England)5–311 corners · 1 cards35% ✗14% ✓97% ✓88% ✓
Frosinone vs ComoItalySerie A(Italy)2–015 corners · 5 cards69% ✓2% ✗94% ✗86% ✗
Parma vs GenoaItalySerie A(Italy)2–17 corners · 6 cards51% ✗17% ✗1% ✗0% ✗
Bournemouth vs LiverpoolEnglandPremier League(England)0–16 corners · 3 cards29% ✓27% ✓62% ✗55% ✗
Getafe vs MalagaSpainLa Liga(Spain)1–014 corners · 6 cards38% ✗59% ✓34% ✓23% ✓
Fiorentina vs NapoliItalySerie A(Italy)1–19 corners · 3 cards40% ✓0% ✓70% ✗48% ✗
Sevilla vs BarcelonaSpainLa Liga(Spain)1–34 corners · 1 cards36% ✓12% ✓92% ✓65% ✓
Venezia vs LazioItalySerie A(Italy)0–29 corners · 6 cards21% ✓21% ✗58% ✗49% ✓
Le Mans vs LorientFranceLigue 1(France)2–14 corners · 6 cards43% ✓2% ✗42% ✗42% ✗
Toulouse vs Le HavreFranceLigue 1(France)3–213 corners · 4 cards40% ✗28% ✓2% ✗0% ✗
Lyon vs RennesFranceLigue 1(France)4–011 corners · 6 cards64% ✓4% ✗44% ✗45% ✓
Angers vs Estac TroyesFranceLigue 1(France)2–013 corners · 5 cards60% ✓9% ✗37% ✓39% ✓
VfB Stuttgart vs Borussia DortmundGermanyBundesliga(Germany)0–18 corners · 7 cards68% ✗13% ✗76% ✗63% ✗
Nottingham Forest vs CoventryEnglandPremier League(England)0–18 corners · 2 cards26% ✓27% ✓0% ✓0% ✓
Celta Vigo vs Racing SantanderSpainLa Liga(Spain)5–06 corners · 7 cards64% ✗50% ✗49% ✗50% ✗
AS Roma vs InterItalySerie A(Italy)2–26 corners · 6 cards43% ✓14% ✗54% ✓30% ✗
Paris FC vs StrasbourgFranceLigue 1(France)2–13 corners · 5 cards25% ✓8% ✗84% ✓81% ✓
Athletic Club vs AlavesSpainLa Liga(Spain)0–06 corners · 2 cards58% ✗14% ✓52% ✗47% ✓
Everton vs IpswichEnglandPremier League(England)1–08 corners · 4 cards35% ✓71% ✗83% ✗76% ✗
Brighton vs ArsenalEnglandPremier League(England)3–011 corners · 5 cards35% ✗52% ✓80% ✓60% ✗
Newcastle vs Hull CityEnglandPremier League(England)2–111 corners · 6 cards47% ✗51% ✓91% ✓86% ✓
Borussia Mönchengladbach vs FSV Mainz 05GermanyBundesliga(Germany)3–410 corners · 11 cards64% ✓42% ✗96% ✓80% ✓
Werder Bremen vs FC AugsburgGermanyBundesliga(Germany)3–24 corners · 4 cards75% ✗20% ✓73% ✓71% ✓
Eintracht Frankfurt vs SC FreiburgGermanyBundesliga(Germany)2–28 corners · 4 cards40% ✓37% ✓19% ✗26% ✗
Hamburger SV vs 1. FC KölnGermanyBundesliga(Germany)2–18 corners · 5 cards71% ✗61% ✓62% ✓47% ✗
Bologna vs TorinoItalySerie A(Italy)1–17 corners · 3 cards38% ✓2% ✓40% ✓43% ✗

How we score

  • Brier score = average of (probability − outcome)², where outcome is 1 if it happened and 0 if not. A model that always says 50% scores 0.25.
  • Calibration: when we say 70%, it should happen about 70% of the time. The gap column shows how far each market is from that.
  • Predictions are frozen at kick-off. Our pipeline refuses to recompute a match that has already started.