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 |
|---|---|---|---|---|---|---|---|---|
| Gimnasia Jujuy — Atlanta · · Primera Nacional | X · Draw | 3.40 | 3.30 | 3.29 | +3.2% | Lost | -1.00 | |
| Waldhof Mannheim — Hoffenheim II · · 3. Liga | 2 · Hoffenheim II | 3.05 | 2.91 | 3.08 | -0.8% | Lost | -1.00 | |
| Molde — Fredrikstad · · Eliteserien | 1 · Molde | 1.53 | 1.50 | 1.39 | +10.0% | Won | +0.53 | |
| OFI — PAOK · · Greek Super League | 2 · PAOK | 1.75 | 1.74 | 1.74 | +0.5% | Lost | -1.00 | |
| Nacional — SC Braga · · Primeira Liga | 2 · SC Braga | 1.60 | 1.58 | 1.57 | +1.9% | Lost | -1.00 | |
| Union La Calera — U. Catolica · · Primera Division Chile | 2 · U. Catolica | 2.10 | 2.07 | 2.07 | +1.7% | Lost | -1.00 | |
| Aldosivi — Belgrano Cordoba · · Argentina Liga Profesional | 2 · Belgrano Cordoba | 2.13 | 2.11 | 2.11 | +1.0% | Lost | -1.00 | |
| Castellón — Sporting Gijon · · Segunda Division | 1 · Castellón | 1.52 | 1.46 | 1.59 | -4.4% | Won | +0.52 | |
| Real Sociedad — Levante · · La Liga | 1 · Real Sociedad | 1.76 | 1.72 | 1.57 | +12.3% | Won | +0.76 | |
| Aris Thessalonikis — Atromitos · · Greek Super League | 1 · Aris Thessalonikis | 1.75 | 1.67 | 1.70 | +3.0% | Won | +0.75 | |
| Gent — Anderlecht · · Jupiler Pro League | X · Draw | 3.35 | 3.18 | 3.48 | -3.6% | Lost | -1.00 | |
| Lecce — Juventus · · Serie A | 2 · Juventus | 1.50 | 1.48 | 1.56 | -3.7% | Won | +0.50 | |
| Sunderland — Leeds · · Premier League | 2 · Leeds | 2.70 | 2.69 | 3.02 | -10.6% | Lost | -1.00 | |
| SC Freiburg — Bayern München · · Bundesliga | 2 · Bayern München | 1.45 | 1.42 | 1.47 | -1.5% | Won | +0.45 | |
| Legia Warszawa — Lech Poznan · · Ekstraklasa | 1 · Legia Warszawa | 2.80 | 2.70 | 2.79 | +0.4% | Lost | -1.00 | |
| Hellas Verona — Pisa · · Serie B | 1 · Hellas Verona | 2.25 | 2.23 | 2.25 | +0.2% | Lost | -1.00 | |
| Rennes — Strasbourg · · Ligue 1 | 1 · Rennes | 1.81 | 1.80 | 1.86 | -2.9% | Won | +0.81 | |
| Marseille — Le Havre · · Ligue 1 | 1 · Marseille | 1.65 | 1.64 | 1.47 | +12.1% | Won | +0.65 | |
| Auxerre — Le Mans · · Ligue 1 | 1 · Auxerre | 2.25 | 2.20 | 2.22 | +1.2% | Lost | -1.00 | |
| Angers — Lorient · · Ligue 1 | 2 · Lorient | 2.80 | 2.72 | 2.37 | +18.1% | Lost | -1.00 | |
| Toulouse — Estac Troyes · · Ligue 1 | 1 · Toulouse | 1.75 | 1.70 | 1.63 | +7.6% | Lost | -1.00 | |
| Volos NFC — Panathinaikos · · Greek Super League | 2 · Panathinaikos | 1.34 | 1.33 | 1.31 | +2.2% | Won | +0.34 | |
| Göztepe — Çorum FK · · Süper Lig | 1 · Göztepe | 2.30 | 2.25 | 2.39 | -3.8% | Won | +1.30 | |
| Lask Linz — Red Bull Salzburg · · Austrian Bundesliga | 1 · Lask Linz | 2.25 | 2.23 | 2.10 | +7.2% | Lost | -1.00 | |
| Start — Sandefjord · · Eliteserien | 1 · Start | 2.25 | 2.13 | 2.41 | -6.8% | Won | +1.25 | |
| Sarpsborg 08 FF — Aalesund · · Eliteserien | 1 · Sarpsborg 08 FF | 1.82 | 1.80 | 1.97 | -7.7% | Won | +0.82 | |
| Lillestrom — Brann · · Eliteserien | 1 · Lillestrom | 2.38 | 2.36 | 2.49 | -4.4% | Won | +1.38 | |
| Kristiansund BK — KFUM Oslo · · Eliteserien | 2 · KFUM Oslo | 3.00 | 2.97 | 2.85 | +5.2% | Lost | -1.00 | |
| Sparta Rotterdam — Ajax · · Eredivisie | 2 · Ajax | 1.55 | 1.53 | 1.53 | +1.6% | Won | +0.55 | |
| Estoril — Moreirense · · Primeira Liga | 1 · Estoril | 1.97 | 1.95 | 1.93 | +1.9% | Lost | -1.00 | |
| Nublense — Coquimbo Unido · · Primera Division Chile | 1 · Nublense | 3.25 | 3.04 | 3.18 | +2.3% | Won | +2.25 | |
| Mjallby AIF — Hammarby FF · · Allsvenskan | 2 · Hammarby FF | 1.55 | 1.52 | 1.46 | +6.3% | Won | +0.55 | |
| Cadiz — AD Ceuta FC · · Segunda Division | 1 · Cadiz | 2.15 | 1.96 | 2.03 | +6.1% | Won | +1.15 | |
| Albacete — Eldense · · Segunda Division | 1 · Albacete | 2.29 | 2.28 | 2.41 | -5.1% | Won | +1.29 | |
| Celta Vigo — Real Betis · · La Liga | 2 · Real Betis | 2.67 | 2.56 | 2.83 | -5.7% | Lost | -1.00 | |
| AC Horsens — Sonderjyske · · Danish Superliga | 2 · Sonderjyske | 2.80 | 2.78 | 2.77 | +1.3% | Lost | -1.00 | |
| Club Brugge KV — St. Truiden · · Jupiler Pro League | 1 · Club Brugge KV | 1.36 | 1.35 | 1.32 | +2.9% | Won | +0.36 | |
| 1899 Hoffenheim — Bayer Leverkusen · · Bundesliga | 2 · Bayer Leverkusen | 2.55 | 2.40 | 2.12 | +20.2% | Lost | -1.00 | |
| Komárno — AS Trencin · · Slovak Super Liga | 1 · Komárno | 1.91 | 1.90 | 1.90 | +0.4% | Lost | -1.00 | |
| Palermo — Carrarese · · Serie B | 1 · Palermo | 1.46 | 1.44 | 1.52 | -3.7% | Won | +0.46 | |
| Manchester United — Bournemouth · · Premier League | 1 · Manchester United | 2.07 | 2.06 | 2.50 | -17.4% | Lost | -1.00 | |
| Liverpool — Brighton · · Premier League | 2 · Brighton | 3.35 | 3.23 | 3.67 | -8.7% | Lost | -1.00 | |
| Hull City — Brentford · · Premier League | 2 · Brentford | 1.84 | 1.80 | 1.69 | +8.9% | Lost | -1.00 | |
| Monaco — Lille · · Ligue 1 | X · Draw | 3.55 | 3.31 | 3.75 | -5.4% | Won | +2.55 | |
| Crystal Palace — Newcastle · · Premier League | 2 · Newcastle | 2.50 | 2.46 | 2.84 | -12.0% | Won | +1.50 | |
| Olympiakos Piraeus — Kalamata · · Greek Super League | 1 · Olympiakos Piraeus | 1.16 | 1.15 | 1.17 | -0.5% | Won | +0.16 | |
| Motherwell — Heart Of Midlothian · · Scottish Premiership | 2 · Heart Of Midlothian | 2.20 | 2.10 | 1.94 | +13.2% | Won | +1.20 | |
| Genoa — Venezia · · Serie A | 1 · Genoa | 2.18 | 2.13 | 2.28 | -4.2% | Won | +1.18 | |
| PSV Eindhoven — Feyenoord · · Eredivisie | 2 · Feyenoord | 3.60 | 3.31 | 3.27 | +10.0% | Lost | -1.00 | |
| NEC Nijmegen — Groningen · · Eredivisie | 2 · Groningen | 3.10 | 2.82 | 3.61 | -14.2% | 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.