Every call, on the record.
Each prediction is logged before kick-off and settled in the open. Value flags are recorded live since 26 September 2026; earlier ones are a labelled backtest. How we verify →
Why it is below zero: a prediction simply takes the market’s most likely result (or the two most likely, as a double chance) at the Pinnacle price recorded for it, usually days before kick-off, and this CLV compares that price with Pinnacle’s closing price with the margin left in, a margin that is usually smaller at the close; value flags are measured separately, below.
Tracking since: 8 Jun 2026
As of 2 Nov 2026, 23:50 UTC: 8,397 predictions logged before kick-off, 7,984 settled; the displayed pick won 72.2% of the time and the average closing line value is -0.9%. Value flags recorded live since 26 Sep 2026: 1499 settled, average CLV at signal +1.6% (95% interval +1.1% to +2.0%). For the 83% of flags whose price we could re-check within 60 minutes, CLV at that price was +1.0%. The interval of CLV at signal excludes zero.
What these numbers support
- At the moment we flagged it, the bookmaker price beat the fair closing price on average: CLV +1.6% (95% interval +1.1% to +2.0%).
- When we re-read the same bookmaker within the hour, the advantage was smaller (+1.0%), so part of it is gone by the time you can place the bet.
- Profit is not proven: the ROI interval (-3.9% to +7.2%) includes zero, so the results so far are consistent with luck.
42 predictions voided (match postponed, cancelled or never played) — excluded from every figure on this page, never deleted from the ledger.
Every day a snapshot of the full public record is published to a public Git repository and timestamped with OpenTimestamps. Timestamped snapshots are never overwritten and the Git history shows any difference, so a later change to a past row is visible by comparing two snapshots. The corrections file lists the corrections we announced. Verify on the public log →
Since 20 June 2026 the public record is snapshotted daily (07:40 Bucharest time: 04:40 UTC in summer time, 05:40 UTC in winter) to an external log. A prediction is externally timestamped before kick-off only if it was in a snapshot taken before the match; predictions logged on match day, or whose Pinnacle price was added after logging, first appear there after kick-off. Value flags have been recorded live only since 26 September 2026; earlier value flags were reconstructed on that date.
Performance of flagged value — if you had backed every flag at the odds recorded, flat stakes
Live — recorded when shown, since 26 Sep 2026
Backtest — reconstructed on 26 Sep 2026 from stored prices (flags detected 8 Jun – 26 Sep 2026)
Notes and corrections (3)
Realizable CLV. A flag’s price can be several hours old when the flag appears, and may be gone by the time you act on it. So next to CLV at signal we show realizable CLV: the first price the same bookmaker quoted on the same selection after the flag was recorded, within 60 minutes and before kick-off, measured against the same devigged close. Flags with no such quote are left out of that average; the percentage is how many had one. The gap between the two numbers is value that was on paper rather than on offer.
Rule change, 30 September 2026 (flag-v2): exchange prices (Betfair Exchange, Matchbook) are no longer treated as a soft bookmaker’s best price — in the backtest they had negative CLV even before commission — and a flag now needs a soft price and a Pinnacle price seen within the last 90 minutes. Flags recorded earlier stay under the rule they were recorded with.
Correction, 26 September 2026: this panel previously scored each flag at the highest soft price ever logged for the match and measured CLV against Pinnacle's raw closing odds (margin included), which overstated it (shown: +7.9% CLV). Flags are now scored at the first price at which today’s flag rule fires, with CLV against the devigged close. From 26 September 2026 that price is recorded live, when the site shows the flag. For earlier matches it is a reconstruction — a replay of today’s rule on the prices we had stored — not the price the site displayed at the time. Clarified 29 September 2026: the reconstruction is a backtest and is now shown separately from the live record.
Value flags recorded live — cumulative result
One step per settled flag recorded live, when the site showed it, at 1 unit and the odds recorded then. The reconstructed backtest is the separate chart below.
Value flags — cumulative result of the backtest (reconstructed)
Breakdown — every settled flag, whole history
Live record vs backtest
| Segment | n | Win rate | ROI | CLV |
|---|---|---|---|---|
| Live: recorded when shown, sealed before kick-off | 1,499 | 50% | +1.6% ± 5.6 |
+1.6% ± 0.5 |
| Backtest: reconstructed on 26 Sep 2026 from stored prices (not recorded at the time) | 3,085 | 50% | +2.2% ± 3.9 |
+1.9% ± 0.3 |
By tier
| Segment | n | Win rate | ROI | CLV |
|---|---|---|---|---|
| Strong value | 1,417 | 47% | +4.9% ± 6.2 |
+3.7% ± 0.5 |
| Value flag | 1,259 | 51% | +3.7% ± 6.0 |
+1.5% ± 0.5 |
| Micro-edge | 1,908 | 52% | -1.2% ± 4.6 |
+0.5% ± 0.3 |
By odds band
| Segment | n | Win rate | ROI | CLV |
|---|---|---|---|---|
| < 1.80 | 1,364 | 69% | +3.7% ± 3.8 |
+2.0% ± 0.3 |
| 1.80 – 2.49 | 1,794 | 49% | +1.2% ± 4.9 |
+1.8% ± 0.4 |
| 2.50 – 3.99 | 1,426 | 34% | +1.5% ± 7.3 |
+1.4% ± 0.5 |
By month
| Segment | n | Win rate | ROI | CLV |
|---|---|---|---|---|
| Jun 2026 | 166 | 52% | +9.4% ± 17.0 |
+1.8% ± 1.0 |
| Jul 2026 | 489 | 53% | +5.5% ± 9.6 |
+1.7% ± 0.6 |
| Aug 2026 | 1,034 | 51% | +5.3% ± 6.8 |
+2.0% ± 0.4 |
| Sep 2026 | 1,410 | 48% | -2.4% ± 5.7 |
+1.8% ± 0.5 |
| Oct 2026 | 1,366 | 50% | +1.1% ± 5.8 |
+1.6% ± 0.5 |
| Nov 2026 | 119 | 55% | +12.3% ± 19.6 |
+1.0% ± 1.6 |
By league
| Segment | n | Win rate | ROI | CLV |
|---|---|---|---|---|
| Brazil Serie B | 179 | 46% | -3.6% ± 16.2 |
+0.2% ± 1.2 |
| Argentina Liga Profesional | 160 | 50% | +11.4% ± 18.3 |
+1.2% ± 1.2 |
| MLS | 157 | 49% | -0.5% ± 17.0 |
+3.6% ± 1.6 |
| Brazil Serie A | 117 | 56% | +13.4% ± 19.9 |
+1.4% ± 1.8 |
| Championship | 117 | 55% | +21.8% ± 21.5 |
+1.9% ± 1.4 |
| Allsvenskan | 115 | 56% | +6.3% ± 18.8 |
+2.0% ± 1.4 |
| League One | 112 | 46% | -1.8% ± 20.6 |
+0.8% ± 1.7 |
| League Two | 112 | 36% | -20.7% ± 20.8 |
-0.3% ± 1.4 |
| Veikkausliiga | 104 | 54% | +10.4% ± 21.2 |
+3.4% ± 1.8 |
| Segunda Division | 96 | 51% | — | -0.0% ± 1.7 |
| Eliteserien | 94 | 54% | — | +3.1% ± 1.6 |
| China Super League | 84 | 40% | — | +0.6% ± 3.0 |
| La Liga | 79 | 56% | — | +2.1% ± 2.1 |
| Serie A | 79 | 59% | — | +1.3% ± 1.8 |
| Ekstraklasa | 78 | 46% | — | -1.8% ± 1.6 |
| 3. Liga | 76 | 49% | — | +0.5% ± 2.4 |
| Eredivisie | 75 | 51% | — | +2.0% ± 1.8 |
| Primera Nacional | 75 | 47% | — | +1.9% ± 1.5 |
| Serie B | 71 | 45% | — | +1.6% ± 2.1 |
| 2. Bundesliga | 70 | 33% | — | +0.9% ± 1.8 |
| Premier League | 70 | 43% | — | +0.8% ± 1.9 |
| Liga MX | 68 | 49% | — | +2.8% ± 2.5 |
| Premier Division | 66 | 44% | — | +1.8% ± 2.3 |
| Süper Lig | 66 | 56% | — | +3.3% ± 2.0 |
| Ligue 2 | 64 | 42% | — | -0.9% ± 1.7 |
| MLS Next Pro | 64 | 47% | — | +1.8% ± 1.7 |
| Superettan | 64 | 45% | — | +1.3% ± 1.6 |
| Ligue 1 | 63 | 51% | — | +1.1% ± 2.4 |
| Peru Liga 1 | 63 | 52% | — | +2.6% ± 2.2 |
| Bundesliga | 62 | 45% | — | +2.0% ± 2.2 |
| Primera A | 62 | 45% | — | +3.3% ± 2.2 |
| Urvalsdeild | 58 | 60% | — | +2.8% ± 1.6 |
| Norway 1. Division | 57 | 58% | — | +3.6% ± 1.6 |
| Primeira Liga | 57 | 54% | — | -0.2% ± 2.0 |
| Swiss Super League | 55 | 60% | — | +3.4% ± 3.0 |
| Jupiler Pro League | 54 | 59% | — | +1.5% ± 1.8 |
| Primera Division Chile | 54 | 52% | — | +3.9% ± 2.6 |
| UEFA Champions League | 52 | 67% | — | +1.7% ± 3.4 |
| Danish Superliga | 51 | 51% | — | +0.9% ± 2.2 |
| UEFA Europa League | 51 | 61% | — | +4.6% ± 3.3 |
| 1. Deild | 48 | 65% | — | +1.8% ± 1.8 |
| USL Championship | 47 | 60% | — | +1.8% ± 2.1 |
| Ecuador LigaPro | 46 | 41% | — | +2.6% ± 1.9 |
| K League 1 | 45 | 40% | — | +0.0% ± 1.6 |
| Scottish Premiership | 45 | 31% | — | +0.1% ± 2.6 |
| Chile Primera B | 44 | 36% | — | +1.3% ± 1.9 |
| Lithuania 1 Lyga | 44 | 57% | — | +4.0% ± 1.1 |
| Slovakia 2. Liga | 44 | 43% | — | +3.4% ± 1.6 |
| Ykkösliiga | 42 | 67% | — | +2.1% ± 1.6 |
| China League Two | 41 | 41% | — | +4.4% ± 1.6 |
| Romania Liga I | 41 | 54% | — | +0.9% ± 2.3 |
| Bulgaria Second League | 40 | 53% | — | +3.3% ± 3.3 |
| Greek Super League | 40 | 60% | — | -0.5% ± 2.2 |
| Austrian Bundesliga | 39 | 62% | — | +3.5% ± 2.8 |
| Primera B Metropolitana | 38 | 42% | — | +1.7% ± 1.9 |
| Primera C | 36 | 31% | — | +2.9% ± 1.4 |
| First Division Ireland | 35 | 66% | — | +1.6% ± 1.6 |
| Serbia Super Liga | 35 | 66% | — | +2.8% ± 1.5 |
| Uruguay Primera Division | 35 | 46% | — | +2.6% ± 1.8 |
| Copa Sudamericana | 34 | 62% | — | +4.2% ± 2.6 |
| Czech Liga | 34 | 47% | — | -0.3% ± 1.2 |
| J1 League | 34 | 59% | — | +2.5% ± 2.8 |
| UEFA Conference League | 33 | 61% | — | +1.8% ± 4.1 |
| K League 2 | 32 | 50% | — | +1.2% ± 1.3 |
| Bulgaria First League | 29 | 55% | — | +1.5% |
| Ukraine Premier League | 26 | 42% | — | +1.5% |
| Kazakhstan Premier League | 24 | 50% | — | +5.9% |
| Latvia Virsliga | 24 | 71% | — | +4.1% |
| Poland I Liga | 23 | 35% | — | +1.6% |
| Saudi Pro League | 22 | 50% | — | -0.0% |
| Slovak Super Liga | 21 | 57% | — | +1.9% |
| Hungary NB II | 20 | 50% | — | +4.3% |
| Paraguay Division Intermedia | 20 | 30% | — | -1.2% |
| Copa Libertadores | 19 | 32% | — | -0.3% |
| Croatia HNL | 17 | 65% | — | +0.6% |
| Czech FNL | 17 | 35% | — | +5.3% |
| Latvia 1. Liga | 17 | 65% | — | +3.9% |
| Kakkonen | 16 | 69% | — | +3.9% |
| Ykkonen | 16 | 44% | — | +4.2% |
| A-League | 15 | 27% | — | +4.1% |
| Hungary NB I | 15 | 20% | — | -0.5% |
| Slovenia PrvaLiga | 14 | 43% | — | +1.3% |
| Lithuania A Lyga | 9 | 89% | — | -1.0% |
| EFL Cup | 8 | 38% | — | +2.5% |
| DFB Pokal | 5 | 80% | — | -0.8% |
| Ukraine Persha Liga | 4 | 25% | — | +2.9% |
The other breakdowns combine both; almost every row in them is backtest. Always the full history; there are no date ranges to pick. ± is the 95% interval. A number is coloured only when its interval excludes zero and n ≥ 30; faded rows have fewer than 30 bets. With this many segments, a few will look significant by chance alone, so read them as descriptions, not as rules to bet by.
The ledger — every settled prediction · odds shown are the prediction pick · logged before kick-off; a missing Pinnacle price is filled from the first one quoted before kick-off
| Date | Match | Pick | Odds | Close | CLV | Result |
|---|---|---|---|---|---|---|
| Burgos — Castellón · · Segunda Division VALUE → | X/2 | 1.29 | 1.25 | +3.3% | Won | |
| Lommel United — Gent · · Jupiler Pro League VALUE → | X/2 | 1.22 | 1.27 | -4.3% | Lost | |
| Panathinaikos — AEK Athens FC · · Greek Super League VALUE → | 1/2 | 1.32 | 1.32 | -0.3% | Won | |
| Ujpest — Nyiregyhaza · · Hungary NB I | 1/2 | 1.24 | 1.27 | -2.8% | Won | |
| NK Lokomotiva Zagreb — NK Osijek · · Croatia HNL | 1/2 | 1.31 | 1.33 | -1.5% | Won | |
| Lecce — Genoa · · Serie A VALUE → | 1/2 | 1.37 | 1.44 | -4.8% | Won | |
| PAOK — Asteras Tripolis · · Greek Super League VALUE → | 1 | 1.29 | 1.32 | -2.3% | Won | |
| Hegelmann II — BFA · · Lithuania 1 Lyga | 1/2 | 1.15 | 1.12 | +2.1% | Lost | |
| Dukla Banská Bystrica — Dunajska Streda · · Slovak Super Liga | 2 | 1.45 | 1.37 | +5.8% | Won | |
| Bohemians 1905 — Sparta Praha · · Czech Liga | 2 | 1.75 | 1.75 | 0.0% | Lost | |
| Brondby — Aarhus · · Danish Superliga VALUE → | 1/2 | 1.24 | 1.31 | -5.5% | Won | |
| Liverpool — Arsenal · · Premier League VALUE → | 1/2 | 1.29 | 1.35 | -4.7% | Won | |
| Eintracht Frankfurt — Hamburger SV · · Bundesliga VALUE → | 1 | 1.69 | 1.51 | +11.9% | Won | |
| Celje — Nafta · · Slovenia PrvaLiga | 1 | 1.45 | 1.44 | +0.7% | Won | |
| Lyon — Angers · · Ligue 1 VALUE → | 1 | 1.39 | 1.44 | -3.5% | Won | |
| Hellas Verona — Carrarese · · Serie B | 1 | 1.65 | 1.72 | -4.1% | Won | |
| Paris FC — Monaco · · Ligue 1 VALUE → | 1/2 | 1.29 | 1.36 | -4.5% | Won | |
| Dock Sud — Argentino de Merlo · · Primera B Metropolitana | 1/2 | 1.23 | 1.24 | -0.8% | Won | |
| Universidad Catolica — Aucas · · Ecuador LigaPro | 1/X | 1.20 | 1.30 | -7.9% | Lost | |
| FK Partizan — Zemun · · Serbia Super Liga | 1 | 1.13 | 1.14 | -0.9% | Won | |
| Boston River — Atletico Torque · · Uruguay Primera Division | X/2 | 1.28 | 1.28 | -0.5% | Won | |
| Panetolikos — OFI · · Greek Super League VALUE → | X/2 | 1.35 | 1.33 | +1.6% | Won | |
| Soroksar — Kozarmisleny FC · · Hungary NB II | 1/X | 1.20 | 1.13 | +6.1% | Lost | |
| Kasımpaşa — Beşiktaş · · Süper Lig VALUE → | 2 | 1.62 | 1.56 | +3.8% | Lost | |
| Austria Vienna — Rapid Vienna · · Austrian Bundesliga | 2 | 1.68 | 1.76 | -4.5% | Won | |
| Lyn — Raufoss · · Norway 1. Division | 1 | 1.36 | 1.31 | +3.8% | Won | |
| Egersund — Strommen · · Norway 1. Division | 1 | 1.70 | 1.79 | -5.0% | Won | |
| hodd — Bryne · · Norway 1. Division | 1/2 | 1.26 | 1.26 | -0.1% | Won | |
| Asane — Haugesund · · Norway 1. Division | 2 | 1.37 | 1.34 | +2.2% | Won | |
| ODD Ballklubb — Sandnes ULF · · Norway 1. Division | 1 | 1.75 | 1.61 | +8.7% | Lost | |
| Stromsgodset — Moss · · Norway 1. Division | 1 | 1.20 | 1.21 | -0.8% | Won | |
| KFUM Oslo — Ham-Kam · · Eliteserien VALUE → | 1/X | 1.25 | 1.28 | -2.2% | Won | |
| Start — Lillestrom · · Eliteserien VALUE → | 1/2 | 1.27 | 1.29 | -1.6% | Won | |
| Sarpsborg 08 FF — Kristiansund BK · · Eliteserien VALUE → | 1 | 1.52 | 1.50 | +1.3% | Lost | |
| UCV Moquegua — Club Deportivo Los Chankas · · Peru Liga 1 | 1/2 | 1.26 | 1.28 | -1.6% | Lost | |
| Groningen — Sparta Rotterdam · · Eredivisie VALUE → | 1/2 | 1.22 | 1.25 | -2.4% | Won | |
| Universitatea Craiova — FC Botosani · · Romania Liga I | 1 | 1.41 | 1.28 | +10.2% | Won | |
| U. Catolica — Universidad de Chile · · Primera Division Chile VALUE → | 1/2 | 1.29 | 1.30 | -0.2% | Won | |
| Arouca — Nacional · · Primeira Liga VALUE → | 1/X | 1.22 | 1.16 | +4.6% | Won | |
| Lausanne — FC Thun · · Swiss Super League | 1/2 | 1.28 | 1.32 | -3.3% | Won | |
| FC Lugano — FC Basel 1893 · · Swiss Super League VALUE → | 1 | 1.57 | 1.53 | +2.6% | Won | |
| SG Sonnenhof Grossaspach — Rot-Weiß Essen · · 3. Liga VALUE → | 1/2 | 1.22 | 1.27 | -3.4% | Won | |
| Vasteras SK FK — IF Brommapojkarna · · Allsvenskan VALUE → | 1/2 | 1.26 | 1.26 | -0.5% | Won | |
| IF Elfsborg — Orgryte IS · · Allsvenskan VALUE → | 1 | 1.36 | 1.32 | +3.0% | Won | |
| BK Hacken — IFK Goteborg · · Allsvenskan VALUE → | 1 | 1.68 | 1.69 | -0.6% | Won | |
| AD Ceuta FC — Sporting Gijon · · Segunda Division VALUE → | 1/2 | 1.28 | 1.37 | -6.7% | Won | |
| Racing Santander — Real Madrid · · La Liga VALUE → | 2 | 1.24 | 1.20 | +3.3% | Won | |
| Ferencvarosi TC — Paks · · Hungary NB I | 1 | 1.57 | 1.50 | +4.7% | Won | |
| Radnicki 1923 — Novi Pazar · · Serbia Super Liga | 1/X | 1.20 | 1.20 | 0.0% | Won | |
| Bray Wanderers — UCD · · First Division Ireland | 1/2 | 1.24 | 1.28 | -3.0% | Won |
Show 25 more
Nothing here is cherry-picked. Each prediction was written to our database before the match started. If Pinnacle had no price at logging, its first price quoted before kick-off is added later, sometimes after the match. CLV — beating the closing price of a sharp bookmaker — is the metric most strongly shown to correlate with a real long-term edge; win rate and short-run profit are mostly noise until the sample is large.