The complete settled record behind our published figures — wins and losses, with the entry price we actually took. Downloadable, and computed from the database on every page load rather than written down once.
It is published so it can be checked. Every number on this page is the sum of rows in the file below; if your arithmetic disagrees with ours, ours is wrong and we want to hear about it.
800 settled bets, 2026-01-28 to 2026-07-22. A seven-day delay applies, so the most recent week is not included here or in the download.
Across this record the models won 257 bets and lost 215, and returned +14.60% on stake. That is not a contradiction. A bet has two numbers — how often it lands, and the price paid for it. A service winning 70% of its bets at odds of 1.20 loses money; one winning 40% at 3.00 makes it. Win rate is the easiest metric to inflate, which is why it is the one most often published alone.
Every competition is listed, including the losing ones. 14 of 20 fall below 50 settled bets and are flagged: at that size a single quarter-line settling the other way moves the return by whole percentage points, so those rows describe variance, not skill. They are shown because omitting them would turn this table into a selection of whichever competition got lucky.
| Competition | Bets | Matches | W–L | Return |
|---|---|---|---|---|
| Brazilian Serie B | 88 | 58 | 18–24 | -0.90% |
| La Liga | 83 | 60 | 31–20 | +27.90% |
| Premier League | 82 | 56 | 36–21 | +31.40% |
| World Cup | 74 | 69 | 12–25 | -13.00% |
| Serie A | 64 | 48 | 23–19 | +11.00% |
| Bundesliga | 52 | 33 | 21–15 | +29.00% |
| J1 Leaguesample too small | 47 | 35 | 14–10 | -16.70% |
| Pro Leaguesample too small | 45 | 32 | 17–11 | +35.90% |
| Eredivisiesample too small | 42 | 27 | 12–13 | +4.00% |
| Brazilian Serie Asample too small | 38 | 34 | 12–11 | +23.20% |
| Ligue 1sample too small | 37 | 30 | 14–13 | +20.00% |
| Super Leaguesample too small | 33 | 31 | 10–8 | +5.20% |
| Primeira Ligasample too small | 27 | 18 | 8–3 | +32.60% |
| K League 1sample too small | 24 | 24 | 8–7 | +3.20% |
| UEFA Champions Leaguesample too small | 23 | 14 | 7–6 | -5.40% |
| Indian Super Leaguesample too small | 19 | 12 | 5–1 | +57.70% |
| Süper Ligsample too small | 16 | 14 | 7–6 | +7.80% |
| FA Cupsample too small | 3 | 2 | 2–0 | +79.40% |
| UEFA Europa Conference Leaguesample too small | 2 | 2 | 0–1 | -31.90% |
| UEFA Europa Leaguesample too small | 1 | 1 | 0–1 | -100.00% |
Row-level, one line per settled bet, with the minute and scoreline at entry, the odds recorded before the outcome was known, and the settled profit or loss.
A Dixon-Coles model estimates each side's scoring and conceding rates, adjusted for the opponent, with older matches carrying less weight. It also corrects the low-score dependency that a plain Poisson model gets wrong — 0-0, 1-0 and 1-1 are not independent outcomes in practice.
A side can win 1-0 having been outplayed. Training on results alone teaches the model the wrong lesson, so shot quality enters the estimate: xG measures what a team actually created rather than what fell for it that day.
The fixture is simulated thousands of times from those rates. The output is a distribution rather than a single scoreline: the probability of each exact score, each 1X2 outcome, each goals line and each Asian handicap.
The model probability is compared with the probability implied by the offered price. A bet is only recorded when the gap between them is wide enough. That is why most fixtures produce no bet at all — in most matches the market is already right, and betting into it just pays the margin.
Stated here so that anyone quoting this record is not caught out by them later.
If you use this in a story or a paper, this is the reference we would ask for.
OddsFlow AI, "Settled Predictions Record" (2026-01-28–2026-07-22). Retrieved from oddsflow.ai/open-data.
This page is the archive. The running record, updated after each match, is here.