Our public track record. The aim is that every claim on this site can be checked here — where that isn't possible yet, we say so next to the number.
Early sample — 37 settled 1X2 predictions. These figures are provisional and not yet statistically meaningful.
Market RPS and CLV cannot be checked yet: they rest on closing lines and logged prices that the archive does not show per row.
Ranked Probability Score (RPS) — a measure of how close our probabilities were to reality, in plain terms: lower is better, zero would be perfect. We aim to land within ±0.005 RPS of the closing market line — beating it outright is not the claim. The RPS delta above is in the same unit.
We do not claim to beat the bookmakers. We publish calibrated probabilities and let the numbers stand.
Since the market anchor (ADR 0079) the served 1X2 probability is the market's vig-free price plus a bounded lean from the model, so an anchored call sits, by construction, no more than a few points from the market's price when the call was made. None of the calls the model made on its own has a logged closing line, so the RPS figures, “Graded vs closing line” and CLV above come only from market-anchored calls. Only the hit rate and the settled count mix the two groups. Here they are apart — each graded only on its own rows, with its own verdict.
33 settled · 33 graded vs the closing line
Does not beat the market4 settled · 0 graded vs the closing line
No closing line logged — cannot be gradedThe headline above is the 1X2 record. The model also predicts both-teams-to-score and over/under 2.5 goals, so here is every market on the same terms. Both RPS columns are scored only on the graded rows — the ones with a stored closing line (“Graded”) — so model and market are always compared on the same matches; “Settled” counts every settled prediction. A market with no stored closing line is shown as unbenchmarked; we never invent a line to grade it against.
| Market | Settled | Model RPS | Graded | Market RPS | RPS delta | Verdict |
|---|---|---|---|---|---|---|
| 1X2headlinemarket-anchored | 37 | 0.2334 | 33 | 0.2326 | +0.0008 | Does not beat the market |
| BTTS | 33 | 0.2452 | 33 | 0.2556 | -0.0104 | Beats the market |
| Market-anchored | 27 | 0.2568 | 27 | 0.2602 | -0.0034n < 30 — says nothing yet | Not proven — too few rows to test |
| Model-only | 6 | 0.1931 | 6 | 0.2350 | -0.0418n < 30 — says nothing yet | Not proven — too few rows to test |
| O/U 2.5 | 33 | 0.2091 | 33 | 0.2260 | -0.0169 | Beats the market |
| Market-anchored | 27 | 0.2222 | 27 | 0.2258 | -0.0036n < 30 — says nothing yet | Not proven — too few rows to test |
| Model-only | 6 | 0.1499 | 6 | 0.2270 | -0.0771n < 30 — says nothing yet | Not proven — too few rows to test |
RPS levels are not comparable across markets: BTTS and O/U 2.5 have two outcomes, 1X2 has three. Read each row against its own market.
The Market RPS column cannot be checked here yet: the closing lines behind it are not shown per row in the archive.
What it predicted and how each one landed — the calls behind the number above.
| Match | Date | Our call | Result | Called it? |
|---|---|---|---|---|
| Slovan Bratislava Vfb Stuttgart | 14 Oct 2026 | Away69%market-anchored | 0–3Away | |
| Manchester City Paris Saint Germain | 14 Oct 2026 | Home49%market-anchored | 2–4Away | |
| Bodo Glimt Borussia Dortmund | 14 Oct 2026 | Away40%market-anchored | 1–0Home | |
| Real Betis Fc Porto | 14 Oct 2026 | Home45%market-anchored | 3–2Home | |
| Aston Villa Fenerbahce | 14 Oct 2026 | Home56%market-anchored | 6–0Home | |
| As Roma Real Madrid | 14 Oct 2026 | Away48%market-anchored | 3–4Away | |
| Lincoln West Ham | 14 Oct 2026 | Away54%market-anchored | 0–6Away | |
| Qpr Derby | 14 Oct 2026 | Home54%market-anchored | 4–1Home |
Every tracked AI pick, from publication to result. See the price, the risk and the outcome together — including picks we could not price.
Loading picks…
A retrospective replay of settled 1X2, over/under 2.5 and both-teams-to-score calls, using a notional $10,000 and flat 1% stakes. Prices must have been recorded at or before the prediction. That cannot be checked here yet: neither the table nor the export shows each price's time and bookmaker. This reconstruction is separate from the forward journal above; its balance is not carried into the new account.
Started with $10,000
| Match | Pick | Odds | Stake | P&L | Balance |
|---|---|---|---|---|---|
| Lincoln vs West Ham14 Oct 2026 | Over 2.5 | 1.87 | $109 | +$95 | $11,385 |
| AS Roma vs Real Madrid14 Oct 2026 | Over 2.5 | 1.47 | $109 | +$51 | $11,290 |
| Aston Villa vs Fenerbahçe14 Oct 2026 | Over 2.5 | 1.62 | $109 | +$68 | $11,239 |
| Real Betis vs FC Porto14 Oct 2026 | Over 2.5 | 1.70 | $109 | +$76 | $11,171 |
| Bodo/Glimt vs Borussia Dortmund14 Oct 2026 | Over 2.5 | 1.38 | $109 | -$109 | $11,095 |
| Manchester City vs Paris Saint Germain14 Oct 2026 | Over 2.5 | 1.37 | $109 | +$40 | $11,204 |
| Slovan Bratislava vs VfB Stuttgart14 Oct 2026 | Over 2.5 | 1.35 | $109 | +$38 | $11,164 |
| Lincoln vs West Ham14 Oct 2026 | BTTS yes | 1.87 | $109 | -$109 | $11,125 |
| Slovan Bratislava vs VfB Stuttgart14 Oct 2026 | BTTS yes | 1.55 | $109 | -$109 | $11,235 |
| Aston Villa vs Fenerbahçe14 Oct 2026 | BTTS yes | 1.62 | $109 | -$109 | $11,344 |
| Real Betis vs FC Porto14 Oct 2026 | BTTS yes | 1.62 | $109 | +$68 | $11,453 |
| Bodo/Glimt vs Borussia Dortmund14 Oct 2026 | BTTS yes | 1.36 | $109 | -$109 | $11,385 |
| Manchester City vs Paris Saint Germain14 Oct 2026 | BTTS yes | 1.36 | $109 | +$39 | $11,495 |
| AS Roma vs Real Madrid14 Oct 2026 | BTTS yes | 1.44 | $109 | +$48 | $11,455 |
| Manchester City vs Paris Saint Germain14 Oct 2026 | Home | 2.02 | $109 | -$109 | $11,407 |
| Lincoln vs West Ham14 Oct 2026 | Away | 1.75 | $109 | +$82 | $11,516 |
| AS Roma vs Real Madrid14 Oct 2026 | Away | 1.95 | $109 | +$104 | $11,434 |
| Aston Villa vs Fenerbahçe14 Oct 2026 | Home | 1.72 | $109 | +$79 | $11,331 |
| Real Betis vs FC Porto14 Oct 2026 | Home | 2.15 | $109 | +$126 | $11,252 |
| Bodo/Glimt vs Borussia Dortmund14 Oct 2026 | Away | 2.27 | $109 | -$109 | $11,127 |
| Slovan Bratislava vs VfB Stuttgart14 Oct 2026 | Away | 1.39 | $109 | +$43 | $11,236 |
| Norwich vs Southampton14 Oct 2026 | Over 2.5 | 1.62 | $109 | -$109 | $11,193 |
| Portsmouth vs Sheffield Utd14 Oct 2026 | Over 2.5 | 1.93 | $109 | +$102 | $11,302 |
| QPR vs Derby14 Oct 2026 | Over 2.5 | 1.91 | $109 | +$99 | $11,201 |
| Portsmouth vs Sheffield Utd14 Oct 2026 | BTTS yes | 1.73 | $109 | +$80 | $11,101 |
A hindsight replay of the same settled picks under other staking rules. Not a forecast — the best row here is not a recommendation.
| Strategy | End balance | Growth | Max drawdown | Bets placed |
|---|---|---|---|---|
| Flat 0.5% | $10,682 | +6.8% | 4.6% | 99 |
| Flat 1%Replay rule | $11,385 | +13.9% | 9.1% | 99 |
| Flat 2% | $12,853 | +28.5% | 17.7% | 99 |
| Quarter-Kelly (5% cap) | $13,474 | +34.7% | 2.0% | 35 |
Quarter-Kelly stakes only when the model claims an edge at the recorded price — picks with no claimed edge are sat out, which is why its row can stay at the seed. That is the honest result, not a display bug.
Where all 103 settled predictions went:
Showing the latest 25 of 99 reconstructed bets. Download the complete history below.
Historical simulation, reconstructed from stored predictions and prices. It does not show bets actually placed or a real betting-account balance. It applies results in fixture order, without modelling overlapping open stakes or actual settlement times; it is not necessarily what a follower with limited available cash could have earned. The separate forward journal reserves stakes and records later settlements. This replay does not establish an edge. Past results do not guarantee future returns. 18+.
It stakes the 1X2 outcome where the model sees value against the best price — not the published call. So these are not the same bets as in the AI bankroll, and the result is not that of the quarter-Kelly row in its staking lab.
Backtested and hypothetical — not betting advice, and not a real ledger. Each pick is priced at the best bookmaker line snapped before kickoff; picks with no recorded price are excluded. Each price's time and bookmaker are not published yet, so that cannot be checked. Past performance does not guarantee future results. 18+.
Counting only the 12 competitions in the public record.
| Month | Published (market-anchored) | Market (closing) | Sample |
|---|---|---|---|
| Oct 2026 | 0.2334 | 0.2326 | 33 graded of 37 settled |
The historical AI bankroll replay above is one number, and one number can hide what made it: a book that only profits on odds-on favourites reads exactly like one that only profits on longshots. These are the same 99 settled bets, split by the price we took and by the market. Hypothetical, like every figure here.
| Price | Bets | Return | Won |
|---|---|---|---|
| Odds-on (under 2.00) | 82 | +14.7% | 70% |
| Mid (2.00–3.50)n < 30 — not meaningful yet | 17 | +8.2% | 47% |
| Market | Bets | Return | Won |
|---|---|---|---|
| 1X2 | 33 | +5.4% | 58% |
| BTTS | 33 | +1.7% | 61% |
| OU25implausible — treated as a bug | 33 | +33.6% | 79% |
A fixed 1 unit per bet across 99 settled bets, at the best screened price recorded at or before the forecast. Each price's time and bookmaker are not shown yet, so that cannot be checked here. A price band nobody bet in is left out rather than shown as a flat zero. 4 of 103 settled predictions had no price at the forecast and are left out.
Every signal whose match has a logged closing line is scored once it kicks off: the best screened price at detection vs the de-vigged closing consensus. Two caveats we would rather state than bury — it mixes line-shopping with timing, and it divides a price that still carries the bookmaker's margin by a margin-free fair price, so it reads low before any timing skill is involved. If the edge isn't there, this number says so.
Part of that number is the market's margin, not timing: on the 125 graded signals whose closing board stored a booksum, a bet struck at the market's own margin would have scored roughly -4.8% on its own. Net of that, the signals scored roughly +1.1% — which still includes whatever taking the best price across books earned, so read it as an upper bound on timing, and the replayed null below as the real comparison. Both figures are approximations: here the margin counts the same for every outcome, while the fair close puts more of it on longshots.
The null has graded nothing yet — last run 12 Oct 2026, with nothing to grade. It is replayed weekly.
| Signal | Match | Outcome | Price at signal | Closing fair | Vs closing | Detected |
|---|---|---|---|---|---|---|
| Model gap | Slovan Bratislava vs VfB Stuttgart | Home | 8.50Marathonbet | 8.23 | +3.2%Beat close | Wed 14 Oct, 19:44 |
| Model gap | Manchester City vs Paris Saint Germain | Draw | 4.25Marathonbet | 4.42 | -3.8%Missed close | Wed 14 Oct, 19:44 |
| Model gap | Bodo/Glimt vs Borussia Dortmund | Home | 3.00Betano | 3.04 | -1.3%Missed close | Wed 14 Oct, 19:44 |
| Model gap | AS Roma vs Real Madrid | Home | 3.88Marathonbet | 3.85 | +0.8%Beat close | Wed 14 Oct, 19:44 |
| Model gap | Feyenoord vs Como | Draw | 3.90Betano | 4.10 | -5.0%Missed close | Wed 14 Oct, 17:34 |
| Model gap | Slovan Bratislava vs VfB Stuttgart | Home | 10.00Betfair | 8.23 | +21.5%Beat close | Wed 14 Oct, 14:06 |
| Model gap | Real Betis vs FC Porto | Draw | 3.95Betano | 3.91 | +0.9%Beat close | Wed 14 Oct, 14:06 |
| Model gap | QPR vs Derby | Away | 5.50Betano | 5.46 | +0.7%Beat close | Wed 14 Oct, 13:56 |
| Model gap | Slovan Bratislava vs VfB Stuttgart | Home | 9.60Marathonbet | 8.23 | +16.6%Beat close | Wed 14 Oct, 08:06 |
| Model gap | Bodo/Glimt vs Borussia Dortmund | Home | 3.20Betano | 3.04 | +5.2%Beat close | Wed 14 Oct, 08:06 |
| Model gap | Real Betis vs FC Porto | Draw | 3.95Betano | 3.91 | +0.9%Beat close | Wed 14 Oct, 08:06 |
| Model gap | AS Roma vs Real Madrid | Home | 3.70Betano | 3.85 | -3.9%Missed close | Wed 14 Oct, 08:06 |
| Model gap | Lincoln vs West Ham | Home | 5.00Bet365 | 5.54 | -9.7%Missed close | Wed 14 Oct, 08:06 |
| Model gap | QPR vs Derby | Away | 5.10Betano | 5.46 | -6.7%Missed close | Wed 14 Oct, 07:56 |
| Model gap | Feyenoord vs Como | Draw | 4.30Marathonbet | 4.10 | +4.8%Beat close | Wed 14 Oct, 05:56 |
| Model gap | Portsmouth vs Sheffield Utd | Away | 3.40Betfair | 3.22 | +5.7%Beat close | Tue 13 Oct, 19:58 |
| Model gap | RB Leipzig vs PSV Eindhoven | Away | 5.09Pinnacle | 5.30 | -4.0%Missed close | Tue 13 Oct, 19:38 |
| Model gap | Inter vs Club Brugge KV | Away | 13.00BetVictor | 14.16 | -8.2%Missed close | Tue 13 Oct, 19:38 |
| Model gap | Inter vs Club Brugge KV | Draw | 7.20Dafabet | 7.55 | -4.6%Missed close | Tue 13 Oct, 19:38 |
| Model gap | Galatasaray vs Barcelona | Home | 9.50Betfair | 10.19 | -6.7%Missed close | Tue 13 Oct, 19:38 |
When a match has a market price, the headline 1X2 probability is anchored to that vig-free price, and the model may lean at most ±3 pp per outcome. The price comes from the sharp bookmakers that quote the match — that can be a single one — or else from the median of all bookmakers. The rows are scored on the same live, market-anchored predictions: the model's own number before anchoring and the market price it was anchored to — both stored when the prediction was made — plus the closing line on those of the rows with a logged close. The live row is the anchored number we actually published. Every row carries its own n. We publish the table even where the market wins.
| Probability source | n | Brier | RPS |
|---|---|---|---|
| Model alone (before anchoring) | 33 | 0.2043 | 0.2494 |
| Market's vig-free price (same instant) | 33 | 0.1836 | 0.2329 |
| Anchored headline (simulated)No comparable rows yet: the simulation is built only from settled predictions the model made on its own with a market snapshot from the same instant. | — | — | — |
| Closing line | 33 | 0.1833 | 0.2326 |
| Anchored headline (live) | 33 | 0.1851 | 0.2334 |
Brier = mean over the three outcomes, Σ(p−o)²/3; 0 is perfect, 0.667 is worst. Lower is better for both Brier and RPS.
Every prediction is hashed into a Merkle tree and sealed on a schedule into a hash-linked block signed with Ed25519. The chain shows that a prediction existed at seal time. The timestamps are self-attested until they are anchored externally. The last prediction before a match is made minutes before kickoff and is usually sealed only after kickoff, so the chain does not yet prove that a call existed before the match. This is the chain's latest block when the page loaded; every row in the archive links to its own receipt, with the checks the server re-runs on request.
MASTER_SPEC §10 names three conditions under which we change course: model RPS out of band against the closing line after three live months, signal CLV consistently negative, and free-to-paid conversion below the floor. We claim to follow these rules; this is where anyone can check. Evaluated daily by the spec_check job — a trigger never fires on an unprovable sample, and the numbers are shown even where there is no verdict yet.
| Trigger | Status | Value | Threshold | Sample |
|---|---|---|---|---|
| 1X2 RPS vs closing line | Not due yet | -0.0022 | gap within ±0.005 RPS of the closing line, judged after 90 live dayslive since 11 Oct 2026 (date of the first settled prediction) | 22 graded of 26 settled |
| Signal CLV | Unprovable — sample too small | -6.9% all-time · -6.9% last 30 d | mean below zero with under half beating the close, in both windows | 74 · 74 settled signals (min 100) |
| Free → paid conversion | Unmeasured — too few signups | 0.0% | rate at least 1% on 100 or more signups (90 d) | 0 of 2 signups |
Evaluated 14 Oct 2026 · live since 11 Oct 2026