Feed track record
Generated 2026-10-02 19:44 UTC. Every prediction is stored with a timestamp before kick-off and a SHA-256 hash of its content (time, match, market, selection, model probability, code version); each day's hashes are chained into a daily digest. Until the match is over only the hash is shown, then the prediction is revealed and can be checked against its hash. Results come from the final score and the market's settlement rules; the return is per unit staked at the price the prediction was raised against; the value at the close prices it at the closing probability without the bookmaker's margin, CLV against the raw closing price — both from the close the feed captured itself shortly before kick-off. The probability shown is the model's own; bookmaker prices are not published.
How to read this record
| Metric | What it answers | How it is computed |
|---|---|---|
| Value at close | Was the price worth taking, judged by the market's last word without its margin? The measure of a real edge. | The closing probability without the bookmaker's margin × the price taken − 1. Positive = the price beat the fair close. |
| CLV (mean, beat close) | Did the price beat the close at all? Necessary, not sufficient: it ignores the margin. | The price taken vs the closing price the feed captures itself before kick-off; 2.20 taken, 2.00 at the close = +10%. Beat close = share with a positive CLV. |
| ROI | What came of it in practice. The most intuitive number and the noisiest: over dozens of predictions luck decides. | Return per unit staked at the prediction's price: won = odds − 1, lost = −1, half results by the settlement rules. |
| Hit rate | How often the selection won. Meaningless alone — a 30% hit rate at odds of 4.00 is profitable. | Won ÷ settled. |
| Log-loss (accuracy) | How accurate are the probabilities, for every scanned match — not only the signals? The measure of the price itself. | −ln of the probability given to what happened, averaged; lower is better. The published price is compared with the market's closing probabilities (without margin) on the same matches; below 0 = more accurate than the close. No bookmaker price is shown per match. |
| Model p | The probability the model gave the selection, published after the match. | The model's own price, never a bookmaker's. |
| Hash, daily digest | Proof the prediction existed before kick-off and was not changed. | SHA-256 of the prediction; the day's hashes are hashed again and timestamped in Bitcoin (OpenTimestamps) and a public gist. |
Read them in this order: value at close first (is there an edge), ROI second (did it pay). The model's accuracy against the closing line (log-loss) and its calibration are on the progress page.
By model version
| Model | Predictions | Settled | Hit rate | ROI | CLV graded | Value at close | Mean CLV | Beat close |
|---|---|---|---|---|---|---|---|---|
| before 2.4.11 - defence sign inverted | 30 | 30 | 30.0 % | -11.6% | 0 | – | – | – |
| 2.4.11-2.4.15 - uncalibrated on 1X2-only quotes | 6 | 6 | 0.0 % | -83.3% | 6 | -2.6% | +2.1% | 33.3 % |
| model 45eee98 | 2 | 2 | 0.0 % | -100.0% | 2 | -86.5% | -70.6% | 0.0 % |
| model c6a4cbe | 2 | 2 | 0.0 % | -100.0% | 1 | -50.8% | -41.3% | 0.0 % |
Accuracy — every scanned match
From 01.10.2026 every match the scanner prices gets its 1X2 probabilities stored with a hash before kick-off (they are part of the daily digest), whether or not it raises a signal. The published price blends the model with the market (10% model).
| Model | Matches | Log-loss model | Log-loss published | With close | Published − close (95%) |
|---|---|---|---|---|---|
| No settled match yet. | |||||
Latest match predictions
| Posted (UTC) | Match date | Competition | Match | Model 1 / X / 2 | Published 1 / X / 2 | Result | Hash |
|---|---|---|---|---|---|---|---|
| 2026-10-02 09:00 | 2026-10-02 | Championship | revealed after the match | 79d7bc49f7f131aa… |
Value signals
Model p of a signal raised before 01.10.2026 is the published blend (then 55% model, 45% market) — it was hashed that way and stays as it was; from 01.10.2026 it is the model's own probability.
| Posted (UTC) | Match date | Competition | Match | Market | Model p | Result | Return | CLV | Hash |
|---|---|---|---|---|---|---|---|---|---|
| 2026-09-30 15:00 | 2026-09-30 | National League | Tamworth – Sutton United | TEAM_OU_AWAY_1.5 OVER | 0.486 | lost 2-0 | -100.0% | -41.3% | a5ddf0a2a5f859c6… |
| 2026-09-30 15:00 | 2026-09-30 | National League | Tamworth – Sutton United | TEAM_OU_AWAY_3.5 OVER | 0.084 | lost 2-0 | -100.0% | – | d09194a89b75edfd… |
| 2026-09-30 09:00 | 2026-09-30 | National League | Tamworth – Sutton United | TEAM_OU_AWAY_2.5 OVER | 0.188 | lost 2-0 | -100.0% | -57.7% | b2a5d65cc0aa17af… |
| 2026-09-30 09:00 | 2026-09-30 | National League | Tamworth – Sutton United | OU_5.5 OVER | 0.094 | lost 2-0 | -100.0% | -83.5% | 44b7297f8cbb1ba4… |
| 2026-09-29 15:00 | 2026-09-29 | National League | Hartlepool United – Harrogate Town | AH_0 HOME | 0.501 | lost 0-1 | -100.0% | +6.6% | 28373e2dad1af2fd… |
| 2026-09-29 15:00 | 2026-09-29 | National League | Gateshead FC – Altrincham | AH_0 HOME | 0.571 | lost 0-1 | -100.0% | 0.0% | 252a829b294d50ca… |
| 2026-09-29 15:00 | 2026-09-29 | National League | Gateshead FC – Altrincham | 1X2 1 | 0.320 | lost 0-1 | -100.0% | 0.0% | 7d9e7eb33d2e0c8a… |
| 2026-09-29 15:00 | 2026-09-29 | National League | Gateshead FC – Altrincham | 1X2 X | 0.263 | lost 0-1 | -100.0% | 0.0% | 2ce6238e33f34b00… |
| 2026-09-29 15:00 | 2026-09-29 | National League | FC Halifax Town – Boston United | AH_0 AWAY | 0.501 | push 1-1 | 0.0% | 0.0% | 1283f27128fbcd86… |
| 2026-09-29 15:00 | 2026-09-29 | National League | Boreham Wood – Kidderminster Harriers | AH_0 AWAY | 0.335 | lost 3-1 | -100.0% | +6.0% | 90f2cf5667462de9… |
| 2026-09-26 15:00 | 2026-09-26 | League 1 | Cambridge United – AFC Wimbledon | AH_0 AWAY | 0.698 | push 1-1 | 0.0% | – | b1dd5406160d4396… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Solihull Moors – Boreham Wood | OU_3.5 OVER | 0.533 | lost 0-3 | -100.0% | – | e017fcac69f3f9ef… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Solihull Moors – Boreham Wood | TEAM_OU_HOME_1.5 OVER | 0.414 | lost 0-3 | -100.0% | – | 45fa7d6424ab150f… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Solihull Moors – Boreham Wood | BTTS NO | 0.393 | won 0-3 | +162.5% | – | a8dd27a9ba41b256… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Solihull Moors – Boreham Wood | OU_5.5 OVER | 0.189 | lost 0-3 | -100.0% | – | 99206e60c8c37d80… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Solihull Moors – Boreham Wood | OU_6.5 OVER | 0.094 | lost 0-3 | -100.0% | – | 8487a1ec1af6924d… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Scunthorpe United – Hartlepool United | OU_3.5 UNDER | 0.720 | lost 4-1 | -100.0% | – | df0f9ea06bbd07eb… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Scunthorpe United – Hartlepool United | BTTS NO | 0.470 | lost 4-1 | -100.0% | – | c26738e2d01c2c0f… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Kidderminster Harriers – Yeovil Town | CLEAN_SHEET_AWAY YES | 0.270 | won 0-1 | +333.3% | – | f38f859e19d8d473… |
| 2026-09-23 17:09 | 2026-09-26 | National League | Aldershot Town – Tamworth | BTTS NO | 0.418 | lost 5-1 | -100.0% | – | 56496b7d1fba5116… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Tranmere Rovers – Walsall | TEAM_OU_AWAY_1.5 OVER | 0.423 | lost 1-1 | -100.0% | – | 76726053c62db0f4… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Tranmere Rovers – Walsall | TEAM_OU_AWAY_2.5 OVER | 0.177 | lost 1-1 | -100.0% | – | a4a0a489c8934a5e… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Swindon Town – Accrington Stanley | OU_3.5 UNDER | 0.744 | won 1-1 | +40.0% | – | 98f28d2184ecddea… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Swindon Town – Accrington Stanley | TEAM_OU_HOME_1.5 UNDER | 0.597 | won 1-1 | +72.7% | – | 1647bbe2929edbcf… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Swindon Town – Accrington Stanley | CLEAN_SHEET_AWAY YES | 0.250 | lost 1-1 | -100.0% | – | d9d5833312a0c23b… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Swindon Town – Accrington Stanley | OU_1.5 UNDER | 0.277 | lost 1-1 | -100.0% | – | 42295366945df4b2… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Swindon Town – Accrington Stanley | EXACT_GOALS 1 | 0.202 | lost 1-1 | -100.0% | – | cb5e9325a3b80de0… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Newport County – Grimsby Town | CLEAN_SHEET_AWAY YES | 0.414 | lost 2-1 | -100.0% | – | 5dd7629b2366304f… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Cheltenham Town – Chesterfield | BTTS NO | 0.466 | lost 2-1 | -100.0% | – | 6d4cb58d4eba2e3d… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Cheltenham Town – Chesterfield | EXACT_GOALS 1 | 0.183 | lost 2-1 | -100.0% | – | 31cbecbc9f04151d… |
| 2026-09-23 17:09 | 2026-09-26 | League 2 | Cheltenham Town – Chesterfield | OU_1.5 UNDER | 0.246 | lost 2-1 | -100.0% | – | b5e7403a3526f405… |
| 2026-09-23 17:09 | 2026-09-26 | League 1 | Wycombe Wanderers – Reading | TEAM_OU_AWAY_2.5 OVER | 0.209 | lost 2-2 | -100.0% | – | 9330e75cd054381c… |
| 2026-09-23 17:09 | 2026-09-26 | League 1 | Plymouth Argyle – Burton Albion | CLEAN_SHEET_HOME YES | 0.406 | lost 0-1 | -100.0% | – | 3e5c194e4a88dac5… |
| 2026-09-23 17:09 | 2026-09-26 | League 1 | Plymouth Argyle – Burton Albion | OU_1.5 UNDER | 0.245 | won 0-1 | +333.3% | – | cc85c65686647228… |
| 2026-09-23 17:09 | 2026-09-26 | League 1 | Plymouth Argyle – Burton Albion | EXACT_GOALS 1 | 0.182 | won 0-1 | +500.0% | – | ef9d62612b076a2a… |
| 2026-09-23 17:08 | 2026-09-25 | Championship | Arbroath – Queen's Park | CLEAN_SHEET_HOME NO | 0.688 | won 2-1 | +61.5% | – | f24d43dfcdcfaff0… |
| 2026-09-23 17:08 | 2026-09-25 | Championship | Arbroath – Queen's Park | OU_1.5 OVER | 0.747 | won 2-1 | +40.0% | – | 3ac1a64ced52c415… |
| 2026-09-23 17:08 | 2026-09-25 | Championship | Arbroath – Queen's Park | BTTS YES | 0.529 | won 2-1 | +110.0% | – | 5692cc1584eef59f… |
| 2026-09-23 17:08 | 2026-09-25 | Championship | Arbroath – Queen's Park | TEAM_OU_AWAY_1.5 OVER | 0.325 | lost 2-1 | -100.0% | – | bcf8cf9302f9b142… |
| 2026-09-23 17:08 | 2026-09-25 | Championship | Arbroath – Queen's Park | OU_3.5 OVER | 0.261 | lost 2-1 | -100.0% | – | 8a1813d445b0f7e8… |
Daily digests
Each day's digest is timestamped in OpenTimestamps (anchored in Bitcoin) right after the scan, before the matches, and recorded in a public GitHub gist with the hashes it covers and how to verify them. An earlier timestamp of a day covers the first predictions of its list.
| Day (UTC) | Predictions | SHA-256 of the day's prediction hashes | Timestamped (UTC) |
|---|---|---|---|
| 2026-10-02 | 1 | 4ef2edf05aaf8339ddc9e5c249f979939f3f7e40a98147672775059ef18002c1 | 2026-10-02 09:00 · 1 · Bitcoin block 969564 · .ots |
| 2026-09-30 | 4 | b5b0b74537b2b118e226aaec146842b5c2e506f9f827c1557b05d72d1806d28a | 2026-09-30 09:22 · 2 · Bitcoin block 969288 · .ots 2026-09-30 15:00 · 4 · Bitcoin block 969313 · .ots |
| 2026-09-29 | 6 | c3720c7240fa4d25080ceeb0a0f9afc8055363f595e9e5e29563f48bb5ac8661 | |
| 2026-09-26 | 1 | 904d5fc44e3c12f1cc90185a560cf0217b6ba69fb9c2fda2b76f3d85e8493136 | |
| 2026-09-23 | 29 | a8f3f57f9cdfdf13760984924dca6973c9ee12cbfa6ea9583d86dbb267c30d7e |
The full record, with every hash, is available as JSON at /api/track-record.