Picks · the model, facing forward · season 2026/27
The machine’s picks.
On paper, in public, losses and all.
Nothing on this page is a bet, and nothing here is advice. Every
selection is chosen by a pre-registered rule from the same model read as
the record — no human picks them, and no losing one is
ever removed. Stakes shown are an imaginary £10. Three seasons of our own
testing found no betting profit; the fair expectation for every strand on this page
is a paper loss over time. That expectation, printed here, is the point.
The live feed
Every open pick above the conviction bar
(a 12-point model-vs-market gap, set before the season and never moved) —
the forward half of the honest record. They settle there,
wins and losses alike. Picks are grouped by match: several legs on one game are
one opinion wearing several hats, not several reasons to believe it.
Right now the machine is leaning one way — and you should know that. 8 of the 9 open picks below back a side the market prices as the outsider. We do not read that as 8 separate bookmaker mistakes. The likelier explanation is that the model is running under-confident on favourites this early in the season, which inflates its edges on unfancied sides. We have
pre-registered a test of exactly that — it runs in late October, on data the fit never touched, and the probabilities change only if it passes. Until then, treat the size of these edges with more caution than the numbers suggest. The picks still stand and still settle in public either way — that is the point of
the record.
9 open leg(s), one per fixture. Nothing doubled up on the same match this time.
Quality is our own confidence read on each pick — the size of the edge, tempered down where four seasons of testing show that kind of edge does not turn into closing-line value (home wins and goal totals; draws and aways convert), or where our calibration is weak (BTTS). A high, B solid, C marginal. It rates the model's conviction, not how much to stake, and it is not a guarantee.
Wed 16 Sep 20:30 BST · La Liga
Levante v Athletic Club
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| Levante, draw no bet | 2.26 | 62% | 41% | +21.4 | A |
Fri 18 Sep 19:45 BST · Ligue 1
Monaco v Lens
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| Lens, draw no bet | 2.46 | 50% | 38% | +12.2 | A |
Fri 18 Sep 20:00 BST · Premier League
Brentford v Chelsea
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| Brentford, draw no bet | 2.12 | 58% | 44% | +14.0 | A |
Sat 19 Sep 12:30 BST · Championship
Millwall v West Ham
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| Millwall, draw no bet | 2.93 | 58% | 32% | +26.4 | A |
Sat 19 Sep 12:30 BST · Championship
Cardiff v Charlton
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| under 2.5 goals | 2.26 | 56% | 42% | +13.9 | B |
Sat 19 Sep 14:30 BST · Bundesliga
Eintracht Frankfurt v SC Freiburg
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| under 3.5 goals | 1.73 | 68% | 55% | +13.1 | B |
Sat 19 Sep 15:00 BST · Premier League
Brighton v Arsenal
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| Brighton, draw no bet | 3.36 | 46% | 28% | +18.1 | A |
Sat 19 Sep 15:00 BST · Championship
QPR v Preston
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| Preston, draw no bet | 3.41 | 41% | 27% | +13.5 | A |
Sat 19 Sep 15:15 BST · La Liga
Athletic Club v Alaves
| The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| Alaves, draw no bet | 3.84 | 41% | 24% | +16.4 | A |
Show every leg as one sortable table
| Kick-off | League | Fixture | The pick | Odds | Model | Market | Gap (pts) | Quality |
|---|
| Wed 16 Sep 20:30 BST | La Liga | Levante v Athletic Club | Levante, draw no bet | 2.26 | 62% | 41% | +21.4 | A |
| Fri 18 Sep 19:45 BST | Ligue 1 | Monaco v Lens | Lens, draw no bet | 2.46 | 50% | 38% | +12.2 | A |
| Fri 18 Sep 20:00 BST | Premier League | Brentford v Chelsea | Brentford, draw no bet | 2.12 | 58% | 44% | +14.0 | A |
| Sat 19 Sep 12:30 BST | Championship | Millwall v West Ham | Millwall, draw no bet | 2.93 | 58% | 32% | +26.4 | A |
| Sat 19 Sep 12:30 BST | Championship | Cardiff v Charlton | under 2.5 goals | 2.26 | 56% | 42% | +13.9 | B |
| Sat 19 Sep 14:30 BST | Bundesliga | Eintracht Frankfurt v SC Freiburg | under 3.5 goals | 1.73 | 68% | 55% | +13.1 | B |
| Sat 19 Sep 15:00 BST | Premier League | Brighton v Arsenal | Brighton, draw no bet | 3.36 | 46% | 28% | +18.1 | A |
| Sat 19 Sep 15:00 BST | Championship | QPR v Preston | Preston, draw no bet | 3.41 | 41% | 27% | +13.5 | A |
| Sat 19 Sep 15:15 BST | La Liga | Athletic Club v Alaves | Alaves, draw no bet | 3.84 | 41% | 24% | +16.4 | A |
Every strand, side by side
All the runs at once, dead ones included. With several strands, one is usually on a run — that is arithmetic, not skill, and it is why they are never shown apart.
| Strand | Run | Best | W-L | Paper P/L | CLV | Beat the close | State |
|---|
| The Daily Double | 0 | 2 | 11-14 | £-26.86 | -1.2% | 56% of 25 | run dead |
| Daily BTTS | 0 | 2 | 7-10 | £-30.98 | -0.1% | 59% of 17 | run dead |
| Daily Draw | 1 | 1 | 2-7 | £-2.77 | -3.6% | 44% of 9 | run alive · 1 |
| Daily Under | 0 | 3 | 4-9 | £-62.72 | -1.8% | 23% of 13 | run dead |
CLV is the average gap between the price we logged and the closing price, per strand — the same credibility check as the record. A strand that keeps failing to beat the close gets tightened or retired at the weekly review, on that evidence, not on how its run looks.
The Daily Double
One pick a day at evens-ish odds. How long can a winning run live before the maths catches it?
Current run
0
waiting for the next win
Best run
2
longest so far this season
Record
11-14
won-lost, settled picks
Paper P/L
£-26.86
imaginary £10 a time
Open pick (2026-09-16): Levante v Athletic Club — Levante, draw no bet @ 2.26. Settles after full-time.
Open pick (2026-09-17): Real Betis v Getafe — Getafe or the draw @ 2.04. Settles after full-time.
Open pick (2026-09-18): Brentford v Chelsea — Chelsea under 1.5 goals @ 2.01. Settles after full-time.
Open pick (2026-09-19): Wrexham v Southampton — under 2.5 goals @ 2.02. Settles after full-time.
| Day | Fixture | Pick | Odds | Result |
|---|
| 2026-09-15 | Alaves v Valencia | Alaves over 1.5 goals | 2.21 | LOST |
| 2026-09-14 | Torino v AS Roma | both teams scoring | 1.85 | LOST |
| 2026-09-13 | Manchester United v Manchester City | Manchester City under 1.5 goals | 2.04 | WON |
| 2026-09-12 | Osasuna v Espanyol | Osasuna winning | 2.00 | LOST |
| 2026-09-11 | West Ham v Wrexham | at least one side not scoring | 2.07 | WON |
| 2026-09-09 | Charlton v QPR | at least one side not scoring | 2.02 | WON |
| 2026-09-08 | Southampton v Swansea | Southampton under 1.5 goals | 1.95 | LOST |
| 2026-09-07 | Udinese v Lazio | Udinese, draw no bet | 2.00 | LOST |
| 2026-09-06 | Alaves v Osasuna | both teams scoring | 2.03 | WON |
| 2026-09-05 | Werder Bremen v RB Leipzig | Werder Bremen or the draw | 1.99 | WON |
| 2026-09-04 | Genoa v Como | Genoa or the draw | 1.97 | LOST |
| 2026-09-03 | Real Sociedad v Celta Vigo | Real Sociedad over 1.5 goals | 2.00 | LOST |
| 2026-09-02 | West Brom v Charlton | Charlton or the draw | 2.06 | WON |
| 2026-09-01 | Swansea v Watford | at least one side not scoring | 2.03 | WON |
| 2026-08-31 | Barcelona v Rayo Vallecano | Rayo Vallecano +2 on the Asian handicap | 1.96 | LOST |
| 2026-08-30 | Napoli v Como | Como over 1.0 goals | 2.00 | WON |
| 2026-08-29 | Bristol City v Portsmouth | Portsmouth over 1.0 goals | 2.00 | push |
| 2026-08-28 | Wrexham v Birmingham | at least one side not scoring | 2.01 | LOST |
| 2026-08-27 | Barcelona v Athletic Club | under 3.0 goals | 2.03 | WON |
| 2026-08-26 | Real Madrid v Real Sociedad | under 3.0 goals | 2.00 | LOST |
| 2026-08-25 | Valencia v Real Betis | Valencia, draw no bet | 1.89 | LOST |
| 2026-08-24 | Osasuna v Levante | Levante +0.5 on the Asian handicap | 2.00 | WON |
| 2026-08-23 | Manchester City v Bournemouth | Bournemouth over 1.0 goals | 1.99 | push |
| 2026-08-22 | Genoa v Napoli | Genoa +0.5 on the Asian handicap | 1.99 | LOST |
| 2026-08-21 | Real Betis v Real Sociedad | Real Betis -0.5 on the Asian handicap | 2.05 | WON |
| 2026-08-20 | Rayo Vallecano v Alaves | over 2.0 goals | 1.99 | push |
| 2026-08-16 | Watford v Southampton | under 2.5 goals | 2.06 | LOST |
| 2026-08-15 | Sheffield Utd v Birmingham | over 2.5 goals | 2.00 | LOST |
Daily BTTS
One both-teams-to-score call a day — yes or no, whichever side the model rates.
Current run
0
waiting for the next win
Best run
2
longest so far this season
Record
7-10
won-lost, settled picks
Paper P/L
£-30.98
imaginary £10 a time
Open pick (2026-09-19): Eintracht Frankfurt v SC Freiburg — at least one side not scoring @ 2.81. Settles after full-time.
| Day | Fixture | Pick | Odds | Result |
|---|
| 2026-09-15 | Bristol City v Lincoln | both teams scoring | 1.84 | LOST |
| 2026-09-14 | Villarreal v Real Betis | at least one side not scoring | 2.41 | LOST |
| 2026-09-13 | RB Leipzig v Hamburger SV | both teams scoring | 1.61 | LOST |
| 2026-09-12 | Bolton v Cardiff | at least one side not scoring | 2.45 | WON |
| 2026-09-07 | Getafe v Celta Vigo | both teams scoring | 2.22 | WON |
| 2026-09-06 | Hamburger SV v FSV Mainz 05 | both teams scoring | 1.55 | LOST |
| 2026-09-05 | Lens v Lorient | both teams scoring | 1.78 | LOST |
| 2026-08-30 | Paris FC v Nice | both teams scoring | 1.84 | LOST |
| 2026-08-29 | Borussia Dortmund v Hamburger SV | both teams scoring | 1.80 | LOST |
| 2026-08-28 | Crystal Palace v Manchester City | both teams scoring | 1.68 | WON |
| 2026-08-27 | Celta Vigo v Osasuna | both teams scoring | 2.00 | WON |
| 2026-08-24 | AS Roma v Fiorentina | both teams scoring | 1.89 | LOST |
| 2026-08-23 | Torino v AC Milan | both teams scoring | 1.78 | WON |
| 2026-08-22 | Udinese v Como | both teams scoring | 1.97 | WON |
| 2026-08-21 | Marseille v Strasbourg | both teams scoring | 1.52 | LOST |
| 2026-08-16 | Espanyol v Levante | both teams scoring | 1.92 | LOST |
| 2026-08-15 | Stoke City v Swansea | both teams scoring | 1.81 | WON |
Daily Draw
Nobody backs the draw. One a day — the model's likeliest draw that also clears the pick test, priced 3.00 or longer. Value-gated since 23 Aug 2026, so most days it shows nothing rather than a draw with no edge.
Current run
1
consecutive wins, alive now
Best run
1
longest so far this season
Record
2-7
won-lost, settled picks
Paper P/L
£-2.77
imaginary £10 a time
Open pick (2026-09-19): Athletic Club v Alaves — the draw @ 3.74. Settles after full-time.
| Day | Fixture | Pick | Odds | Result |
|---|
| 2026-09-15 | Middlesbrough v Millwall | the draw | 4.35 | WON |
| 2026-09-13 | Napoli v Bologna | the draw | 3.60 | LOST |
| 2026-09-12 | Athletic Club v Elche | the draw | 4.37 | WON |
| 2026-09-05 | Bayer Leverkusen v Union Berlin | the draw | 4.85 | LOST |
| 2026-09-04 | Lyon v Auxerre | the draw | 4.29 | LOST |
| 2026-08-29 | Middlesbrough v West Brom | the draw | 3.73 | LOST |
| 2026-08-24 | Bologna v Lazio | the draw | 3.20 | LOST |
| 2026-08-23 | Angers v Lille | the draw | 3.72 | LOST |
| 2026-08-22 | Parma v Cagliari | the draw | 3.04 | LOST |
But isn’t the draw our best-read market? It is — and that is
calibration, not an edge. The model judges draws more honestly than any other market (
the proof is here), but the bookmakers price them just as tightly, so a draw with genuine value is rare. That is why this strand is empty most days, and any losses above were logged
before the 23 Aug value-gate. Good calibration is our credibility check — it was never a profit signal. The model’s draw reads surface on the
Draw Radar (reads, not bets).
Daily Under
The boring one. One under-the-line call a day, highest edge among the passers — the market accas never contain.
Current run
0
waiting for the next win
Best run
3
longest so far this season
Record
4-9
won-lost, settled picks
Paper P/L
£-62.72
imaginary £10 a time
Open pick (2026-09-18): Espanyol v Elche — under 2.5 goals @ 1.88. Settles after full-time.
Open pick (2026-09-19): Cardiff v Charlton — under 2.5 goals @ 2.26. Settles after full-time.
| Day | Fixture | Pick | Odds | Result |
|---|
| 2026-09-13 | Sassuolo v Juventus | under 2.5 goals | 2.02 | LOST |
| 2026-09-12 | Southampton v Bristol City | under 3.5 goals | 1.51 | LOST |
| 2026-09-09 | Norwich v Birmingham | under 2.5 goals | 1.98 | LOST |
| 2026-09-06 | Eintracht Frankfurt v FC Augsburg | under 3.5 goals | 1.72 | LOST |
| 2026-09-05 | 1899 Hoffenheim v Borussia Dortmund | under 3.5 goals | 1.72 | LOST |
| 2026-09-04 | Paris Saint Germain v Monaco | under 3.5 goals | 1.74 | WON |
| 2026-09-01 | Birmingham v Southampton | under 2.5 goals | 1.92 | WON |
| 2026-08-31 | Atalanta v Bologna | under 3.0 goals | 1.51 | WON |
| 2026-08-30 | SC Freiburg v Werder Bremen | under 3.0 goals | 1.62 | LOST |
| 2026-08-29 | Liverpool v Nottingham Forest | under 3.0 goals | 1.84 | LOST |
| 2026-08-28 | Alaves v Villarreal | under 3.0 goals | 1.56 | WON |
| 2026-08-24 | Fulham v Chelsea | under 3.0 goals | 1.79 | LOST |
| 2026-08-22 | Birmingham v Bristol City | under 3.0 goals | 1.54 | LOST |
Selection rules, in full: the Daily Double takes the pick-test passer
priced nearest to 2.00 (between 1.80 and 2.30) for each day; Daily BTTS
takes the highest-edge both-teams-to-score passer, yes or no; Daily Draw
takes the model’s likeliest draw of the day that also clears the pick
test (edge ≥ 4 points), priced 3.00 or longer — value-gated since 23 Aug 2026,
so a sub-threshold draw no longer reaches the record and a day with no value draw shows
nothing; Daily Under takes the highest-edge under passer, the boring one.
One fixture per day across all four: Double picks first, then BTTS, then
Draw, then Under, and a match already taken is skipped by the later strands — several
strands on one game would be one opinion wearing several hats. One each per day, chosen by
the machine, logged before kick-off, settled in public. A day with no qualifier is left
empty rather than filled. Pushes and voids neither break nor extend a run.
Draw and Under were added, and the one-fixture rule applied to all four,
on 15 Aug 2026 after one BTTS pick had settled — recorded in the decisions log, not
hidden.