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
42 predictions voided (match postponed, cancelled or never played) — excluded from every figure on this page, never deleted from the ledger.
Filtered view — 4592 predictions match.
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,507 | 50% | +1.7% ± 5.5 |
+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,421 | 47% | +5.1% ± 6.2 |
+3.8% ± 0.5 |
| Value flag | 1,260 | 51% | +3.6% ± 6.0 |
+1.5% ± 0.5 |
| Micro-edge | 1,911 | 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,799 | 49% | +1.4% ± 4.9 |
+1.8% ± 0.4 |
| 2.50 – 3.99 | 1,429 | 34% | +1.3% ± 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 | 127 | 55% | +12.1% ± 19.0 |
+1.4% ± 1.6 |
By league
| Segment | n | Win rate | ROI | CLV |
|---|---|---|---|---|
| Brazil Serie B | 181 | 46% | -3.4% ± 16.1 |
+0.3% ± 1.2 |
| Argentina Liga Profesional | 162 | 50% | +11.1% ± 18.1 |
+1.4% ± 1.2 |
| MLS | 157 | 49% | -0.5% ± 17.0 |
+3.6% ± 1.6 |
| Brazil Serie A | 118 | 55% | +12.5% ± 19.8 |
+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 |
| Primera A | 64 | 45% | — | +3.2% ± 2.2 |
| 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 |
| Urvalsdeild | 58 | 60% | — | +2.8% ± 1.6 |
| Norway 1. Division | 57 | 58% | — | +3.6% ± 1.6 |
| Primeira Liga | 57 | 54% | — | -0.2% ± 2.0 |
| Primera Division Chile | 55 | 53% | — | +3.9% ± 2.6 |
| Swiss Super League | 55 | 60% | — | +3.4% ± 3.0 |
| Jupiler Pro League | 54 | 59% | — | +1.5% ± 1.8 |
| 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.
Value bets ledger — every value flag, the single outcome, settled on its own result; rows marked “Backtest” were reconstructed afterwards
| Date | Match | Value bet | Soft odds | Fair | Close | CLV | Result | Profit |
|---|---|---|---|---|---|---|---|---|
| Como — Sassuolo · · Serie A | 1 · Como | 1.49 | 1.48 | 1.52 | -1.7% | Won | +0.49 | |
| Cagliari — Bologna · · Serie A | X · Draw | 3.25 | 3.10 | 3.12 | +4.3% | Lost | -1.00 | |
| Korona Kielce — GKS Katowice · · Ekstraklasa | 1 · Korona Kielce | 2.15 | 2.14 | 2.21 | -2.8% | Won | +1.15 | |
| Cordoba — Eibar · · Segunda Division | 1 · Cordoba | 2.17 | 2.08 | 1.90 | +14.1% | Won | +1.17 | |
| Skanste — Smiltene · · Latvia 1. Liga | 2 · Smiltene | 3.20 | 2.98 | 2.98 | +7.3% | Won | +2.20 | |
| Dijon — Rodez · · Ligue 2 | 1 · Dijon | 2.08 | 2.04 | 2.04 | +1.8% | Lost | -1.00 | |
| FC Viktoria Köln — Verl · · 3. Liga | 1 · FC Viktoria Köln | 1.70 | 1.64 | 1.77 | -4.1% | Won | +0.70 | |
| Hansa Rostock — Fortuna Düsseldorf · · 3. Liga | 1 · Hansa Rostock | 2.30 | 2.21 | 2.41 | -4.4% | Lost | -1.00 | |
| SV Meppen — Würzburger Kickers · · 3. Liga | 1 · SV Meppen | 2.10 | 2.05 | 1.83 | +15.1% | Won | +1.10 | |
| FC Ingolstadt 04 — MSV Duisburg · · 3. Liga | 1 · FC Ingolstadt 04 | 3.30 | 3.26 | 3.35 | -1.6% | Won | +2.30 | |
| Cheltenham — Newport County · · League Two | 1 · Cheltenham | 2.55 | 2.54 | 2.66 | -4.1% | Won | +1.55 | |
| Northampton — Colchester · · League Two | 1 · Northampton | 2.10 | 2.07 | 2.10 | -0.1% | Won | +1.10 | |
| Bristol Rovers — Swindon Town · · League Two | 1 · Bristol Rovers | 1.68 | 1.64 | 1.71 | -1.6% | Lost | -1.00 | |
| Luton — Leicester · · League One | 2 · Leicester | 3.15 | 2.92 | 3.17 | -0.7% | Lost | -1.00 | |
| Huddersfield — Wigan · · League One | 1 · Huddersfield | 1.38 | 1.36 | 1.40 | -1.1% | Won | +0.38 | |
| BFA — Minija · · Lithuania 1 Lyga | 2 · Minija | 1.55 | 1.46 | 1.44 | +7.5% | Lost | -1.00 | |
| Yichun Grand Tiger — Rizhao Yuqi · · China League Two | X · Draw | 3.00 | 2.98 | 3.07 | -2.4% | Won | +2.00 | |
| Aston Villa — Manchester City · · Premier League | 2 · Manchester City | 1.76 | 1.75 | 1.63 | +7.8% | Lost | -1.00 | |
| Portsmouth — Millwall · · Championship | 1 · Portsmouth | 2.55 | 2.46 | 2.56 | -0.4% | Won | +1.55 | |
| Charlton — Norwich · · Championship | 1 · Charlton | 3.45 | 3.32 | 3.60 | -4.3% | Lost | -1.00 | |
| Sheffield Utd — Derby · · Championship | 1 · Sheffield Utd | 2.00 | 1.99 | 1.87 | +6.9% | Lost | -1.00 | |
| VPS — Inter Turku · · Veikkausliiga | 2 · Inter Turku | 1.75 | 1.73 | 1.73 | +1.4% | Won | +0.75 | |
| Neptūną Klaipėda — Ekranas · · Lithuania 1 Lyga | 1 · Neptūną Klaipėda | 1.36 | 1.30 | 1.30 | +5.0% | Lost | -1.00 | |
| Tauras — Be1 NFA · · Lithuania 1 Lyga | 1 · Tauras | 2.79 | 2.69 | 2.72 | +2.6% | Lost | -1.00 | |
| 1. FC Heidenheim — Energie Cottbus · · 2. Bundesliga | 1 · 1. FC Heidenheim | 1.85 | 1.74 | 1.55 | +19.8% | Lost | -1.00 | |
| Hertha BSC — Arminia Bielefeld · · 2. Bundesliga | 1 · Hertha BSC | 1.88 | 1.84 | 1.88 | +0.1% | Won | +0.88 | |
| Eyüpspor — Kasımpaşa · · Süper Lig | 2 · Kasımpaşa | 2.28 | 2.26 | 1.75 | +30.6% | Won | +1.28 | |
| Piast Gliwice — Cracovia Krakow · · Ekstraklasa | 2 · Cracovia Krakow | 2.65 | 2.42 | 2.98 | -11.2% | Lost | -1.00 | |
| Melbourne Victory — Melbourne City · · A-League | 2 · Melbourne City | 3.05 | 2.96 | 3.12 | -2.2% | Lost | -1.00 | |
| Guangzhou Dandelion — Dalian Yingbo B · · China League Two | 1 · Guangzhou Dandelion | 1.75 | 1.63 | 1.63 | +7.3% | Lost | -1.00 | |
| BIT — Xiamen Feilu · · China League Two | 1 · BIT | 2.30 | 2.20 | 2.20 | +4.7% | Lost | -1.00 | |
| Qingdao Red Lions — Shangyu Pterosaur · · China League Two | 1 · Qingdao Red Lions | 1.33 | 1.21 | 1.21 | +10.2% | Won | +0.33 | |
| Gimpo Citizen — Gimhae City · · K League 2 | 1 · Gimpo Citizen | 1.77 | 1.75 | 1.75 | +1.1% | Lost | -1.00 | |
| Chongqing Tongliang Long — Qingdao Jonoon · · China Super League | 1 · Chongqing Tongliang Long | 1.37 | 1.34 | 1.23 | +11.2% | Won | +0.37 | |
| Qingdao Youth Island — Yunnan Yukun · · China Super League | 2 · Yunnan Yukun | 2.85 | 2.78 | 2.84 | +0.4% | Lost | -1.00 | |
| Wuhan Three Towns — Shandong Luneng · · China Super League | 1 · Wuhan Three Towns | 2.85 | 2.75 | 3.73 | -23.6% | Lost | -1.00 | |
| Sichuan Jiuniu — Shanghai Shenhua · · China Super League | 2 · Shanghai Shenhua | 2.01 | 2.00 | 2.04 | -1.5% | Lost | -1.00 | |
| Shenyang Urban — Hangzhou Greentown · · China Super League | 1 · Shenyang Urban | 2.29 | 2.21 | 2.51 | -8.6% | Lost | -1.00 | |
| Chengdu Better City — Dalian Zhixing · · China Super League | 1 · Chengdu Better City | 1.91 | 1.83 | 1.97 | -3.2% | Lost | -1.00 | |
| Henan Jianye — Beijing Guoan · · China Super League | 2 · Beijing Guoan | 2.18 | 2.14 | 2.57 | -15.0% | Won | +1.18 | |
| Tianjin Teda — SHANGHAI SIPG · · China Super League | 2 · SHANGHAI SIPG | 2.48 | 2.42 | 2.23 | +11.2% | Won | +1.48 | |
| Gamba Osaka — Kyoto Sanga · · J1 League | 1 · Gamba Osaka | 2.02 | 2.00 | 1.83 | +10.5% | Lost | -1.00 | |
| Western Sydney Wanderers — Auckland · · A-League | 1 · Western Sydney Wanderers | 2.65 | 2.47 | 2.47 | +7.5% | Won | +1.65 | |
| Tokyo Verdy — Avispa Fukuoka · · J1 League | X · Draw | 3.10 | 3.07 | 3.06 | +1.3% | Lost | -1.00 | |
| Kashima — Kashiwa Reysol · · J1 League | 1 · Kashima | 2.40 | 2.38 | 2.35 | +2.2% | Lost | -1.00 | |
| Gimcheon Sangmu FC — Daejeon Citizen · · K League 1 | 2 · Daejeon Citizen | 2.05 | 2.03 | 1.93 | +6.3% | Won | +1.05 | |
| FC Seoul — Gangwon FC · · K League 1 | 1 · FC Seoul | 1.83 | 1.81 | 1.93 | -5.1% | Lost | -1.00 | |
| FC Anyang — Jeonbuk Motors · · K League 1 | 2 · Jeonbuk Motors | 2.16 | 2.08 | 2.25 | -4.2% | Lost | -1.00 | |
| Sanfrecce Hiroshima — Shimizu S-pulse · · J1 League | 1 · Sanfrecce Hiroshima | 1.48 | 1.44 | 1.42 | +4.1% | Won | +0.48 | |
| Newcastle Jets — Macarthur · · A-League | 1 · Newcastle Jets | 2.14 | 2.12 | 2.28 | -6.0% | Lost | -1.00 |
Show 25 more
Nothing here is cherry-picked. From 26 September 2026 the first value flag on each match is written, with a sealed fingerprint, by the same price refresh that shows it on the site, before kick-off; later changes of selection or price on that match are not recorded. Rows marked “Backtest” were reconstructed on 26 September 2026 by replaying today’s rule on the prices we had stored at the time; they are a backtest, not live calls. 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.