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 |
|---|---|---|---|---|---|---|
| Orense SC — Tecnico Universitario · · Ecuador LigaPro VALUE → | 1/X | 1.18 | 1.23 | -4.5% | Won | |
| Sporting Cristal — FC Cajamarca · · Peru Liga 1 | 1 | 1.23 | 1.23 | 0.0% | Won | |
| GIL Vicente — Vitória SC · · Primeira Liga VALUE → | 1/2 | 1.36 | 1.39 | -1.6% | Lost | |
| Benfica — Alverca · · Primeira Liga | 1 | 1.15 | 1.14 | +0.9% | Won | |
| Deportivo La Coruna — Osasuna · · La Liga VALUE → | 1/X | 1.30 | 1.30 | +0.7% | Won | |
| Newcastle — Everton · · Premier League VALUE → | 1/2 | 1.30 | 1.34 | -3.3% | Won | |
| Mallorca — Cadiz · · Segunda Division VALUE → | 1 | 1.48 | 1.44 | +2.8% | Won | |
| Lorient — Stade Brestois 29 · · Ligue 1 VALUE → | 1/2 | 1.31 | 1.39 | -6.2% | Won | |
| RED Star FC 93 — Nancy · · Ligue 2 VALUE → | 1/2 | 1.30 | 1.35 | -3.7% | Won | |
| Atalanta — Parma · · Serie A VALUE → | 1 | 1.45 | 1.44 | +0.7% | Lost | |
| Reims — Sochaux · · Ligue 2 VALUE → | 1 | 1.67 | 1.73 | -3.5% | Won | |
| Raków Częstochowa — Pogon Szczecin · · Ekstraklasa VALUE → | 1/2 | 1.26 | 1.28 | -1.6% | Won | |
| Stal Rzeszów — Puszcza Niepołomice · · Poland I Liga | 1/2 | 1.30 | 1.33 | -2.1% | Lost | |
| ŁKS Łódź — Polonia Warszawa · · Poland I Liga | 1/2 | 1.28 | 1.30 | -1.8% | Lost | |
| Fortaleza EC — Atletico Goianiense · · Brazil Serie B | 1/X | 1.24 | 1.32 | -6.0% | Won | |
| Universitatea Cluj — FCSB · · Romania Liga I | 1/2 | 1.27 | 1.29 | -1.8% | Won | |
| Diosgyori VTK — Kecskeméti TE · · Hungary NB II | 1/2 | 1.23 | 1.23 | +0.3% | Won | |
| UTC Cajamarca — Deportivo Garcilaso · · Peru Liga 1 VALUE → | 1/2 | 1.29 | 1.26 | +2.4% | Won | |
| Landskrona BoIS — Orebro SK · · Superettan VALUE → | 1/2 | 1.22 | 1.22 | 0.0% | Won | |
| Liniers — Ituzaingó · · Primera B Metropolitana | 1 | 1.49 | 1.50 | -0.7% | Won | |
| San Martín Burzaco — UAI Urquiza · · Primera B Metropolitana | 2 | 1.53 | 1.38 | +10.9% | Won | |
| Argentino Quilmes — Brown DE Adrogue · · Primera B Metropolitana | X/2 | 1.12 | 1.07 | +4.6% | Won | |
| Comunicaciones — Talleres Remedios · · Primera B Metropolitana | 1/2 | 1.26 | 1.26 | +0.7% | Won | |
| Defensores Unidos — Deportivo Laferrere · · Primera B Metropolitana | 1/2 | 1.30 | 1.30 | +0.1% | Lost | |
| Sonderjyske — FC Copenhagen · · Danish Superliga | 2 | 1.44 | 1.45 | -0.7% | Won | |
| Osters IF — Helsingborg · · Superettan | 1/2 | 1.27 | 1.29 | -1.7% | Won | |
| Kongsvinger — Stabaek · · Norway 1. Division | 1/2 | 1.19 | 1.20 | -0.6% | Won | |
| Mjallby AIF — Kalmar FF · · Allsvenskan VALUE → | 1/2 | 1.32 | 1.36 | -3.4% | Lost | |
| Gais — AIK Stockholm · · Allsvenskan VALUE → | 1/X | 1.23 | 1.25 | -1.7% | Won | |
| Chacarita Juniors — Nueva Chicago · · Primera Nacional VALUE → | 1/2 | 1.35 | 1.41 | -4.4% | Won | |
| Atletico DE Rafaela — Patronato · · Primera Nacional VALUE → | 1/2 | 1.30 | 1.40 | -7.5% | Lost | |
| Sportivo Barracas — Leones de Rosario · · Primera C | 1/X | 1.31 | 1.23 | +6.2% | Won | |
| Valladolid — Leganes · · Segunda Division VALUE → | 1/X | 1.23 | 1.25 | -1.3% | Won | |
| Kalamata — Iraklis 1908 · · Greek Super League VALUE → | 1/X | 1.31 | 1.27 | +3.4% | Won | |
| Sassuolo — Fiorentina · · Serie A VALUE → | 1/2 | 1.29 | 1.33 | -3.2% | Won | |
| Arda Kardzhali — Septemvri Sofia · · Bulgaria First League | 1 | 1.63 | 1.65 | -1.2% | Won | |
| Radomiak Radom — Slask Wroclaw · · Ekstraklasa VALUE → | 1/2 | 1.28 | 1.29 | -0.3% | Won | |
| Zaglebie Lubin — Korona Kielce · · Ekstraklasa VALUE → | 1/2 | 1.32 | 1.38 | -4.7% | Won | |
| Polonia Bytom — Odra Opole · · Poland I Liga | 1/2 | 1.25 | 1.28 | -2.4% | Won | |
| Gençlerbirliği S.K. — Alanyaspor · · Süper Lig VALUE → | 1/2 | 1.33 | 1.37 | -2.4% | Won | |
| Mladost Lucani — Radnik Surdulica · · Serbia Super Liga | 1/2 | 1.33 | 1.32 | +0.8% | Won | |
| Atromitos — Volos NFC · · Greek Super League VALUE → | 1/X | 1.21 | 1.22 | -0.4% | Won | |
| VPS — HJK Helsinki · · Veikkausliiga VALUE → | 2 | 1.65 | 1.45 | +13.8% | Won | |
| Inter Turku — Gnistan · · Veikkausliiga VALUE → | 1 | 1.43 | 1.40 | +2.1% | Won | |
| Karpaty — Kudrivka · · Ukraine Premier League | 1 | 1.39 | 1.42 | -2.1% | Won | |
| Baník Ostrava II — Vysočina Jihlava · · Czech FNL | 1/2 | 1.27 | 1.26 | +0.6% | Won | |
| Bravo — Koper · · Slovenia PrvaLiga | 1/2 | 1.26 | 1.29 | -2.6% | Won | |
| All Boys — CA Estudiantes · · Primera Nacional VALUE → | 1/X | 1.26 | 1.23 | +2.0% | Won | |
| Sport Huancayo — FBC Melgar · · Peru Liga 1 | 1/2 | 1.22 | 1.24 | -1.7% | Won | |
| FC Voluntari — Farul Constanta · · Romania Liga I | 1/2 | 1.27 | 1.31 | -2.9% | 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.