An honest football model,
judged in public.
An xG engine across Europe's top leagues, rebuilt from live data twice an hour. Every call published before kick-off and settled after — losses left in. £0 staked. Not tips.
We tested this model for three seasons
before we said a word.
Then we published every result — the calibration, the closing-line value, and the tests it failed. The model's percentages are scored in public, wins and misses alike, and you can check every one. No profit promise; just the numbers.
Where the model disagrees with the market today
Millwall v West Ham
+26 pts apart. A gap is a disagreement, not a tip — early season it is usually the model that is behind. Why →
Levante v Athletic Club
+26 pts apart. A gap is a disagreement, not a tip — early season it is usually the model that is behind. Why →
Brighton v Arsenal
+18 pts apart. A gap is a disagreement, not a tip — early season it is usually the model that is behind. Why →
Ranked by the size of the gap between our probability and the market’s (scan 16 Sep). A gap is a disagreement, not a tip. All of today’s reads →
Newest 10 settled calls. The big number counts fixtures — several calls on one match settle together, so they are one opinion, not several. Losses stay. £0 staked — the P/L is a 1-unit reference, not money.
Hot stats & players in form
Streaks worth knowing
- Bayern München are unbeaten in their last 18 league games (W14 D4). — v Union Berlin · Fri 18 Sep
- Arsenal have won their last 9 league games. — v Brighton · Sat 19 Sep
- AS Roma have won their last 9 league games. — v Inter · Sat 19 Sep
- Inter are unbeaten in their last 14 league games (W9 D5). — v AS Roma · Sat 19 Sep
- Holstein Kiel are winless in their last 13 league games (D5 L8). — v VfL Osnabrück · Sat 19 Sep
Players in form
- J. Widell Zetterström (Derby) has made 28 saves in 7 league games this season. — next: v Burnley · Sat 19 Sep
- Raphinha (Barcelona) has 6 goals and 3 assists in 5 league games this season. — next: v Racing Santander · Wed 16 Sep
- I. Matanović (SC Freiburg) is averaging a 8.5 match rating over 3 league games this season. — next: v Eintracht Frankfurt · Sat 19 Sep
- G. Wickens (Lincoln) has made 26 saves in 7 league games this season. — next: v Swansea · Sat 19 Sep
This season, league games only. Match ratings are the data provider’s, not our model.
Mined from recorded results — descriptive, not predictive: a streak is what happened, not what happens next. By the numbers →
The wire Written by the machine · refreshes every 30 min
- Wed 20:00 BSTKOBayer Leverkusen v Celje — Europa League
- Wed 20:00 BSTKOAC Milan v Benfica — Europa League
- Wed 20:00 BSTKOOlympiakos Piraeus v Jagiellonia — Europa League
- Wed 20:00 BSTKOAnderlecht v Lyon — Europa League
- Fri 18 SepSTREAKBayern München are unbeaten in their last 18 league games (W14 D4). — v Union Berlin
- Sat 19 SepSTREAKArsenal have won their last 9 league games. — v Brighton
- Sat 19 SepSTREAKAS Roma have won their last 9 league games. — v Inter
- Tue 15 SepFTElche 2-3 Real Madrid — La Liga
- Tue 15 SepFTBristol City 0-1 Lincoln — Championship
- Tue 15 SepFTMiddlesbrough 2-2 Millwall — Championship
- Tue 15 SepFTHibernian 0-1 Kilmarnock — Scottish Premiership
- Wed 16 SepSOONEuropa League season starts today — Bayer Leverkusen v Celje
Every line above is generated from the live data on each rebuild. No human wrote any of it — that is the point.
News updated 10h ago
United's away form outstrips home output under Carrick
BBC Sport reports that Manchester United average 1.5 points per game under Michael Carrick when holding more than 50% possession, compared with 2.6 points per game when they have less than half the ball. United next play Fulham away on 20 September.
Source: BBC Sport
Bellamy turns down Burnley job, stays with Wales
BBC Sport reports that Wales manager Craig Bellamy turned down the chance to manage Burnley after a sleepless night, raising questions about how the decision has affected his standing with Wales supporters. Burnley face Derby at home on 19 September.
EDGEBurnley rank 10th of 18 for attack and 11th of 18 for defence in the Championship in 2026/27, over six games.
Source: BBC Sport
Chicago Fire slip as Nashville tops MLS rankings
ESPN reports that Chicago Fire have continued to slide in its MLS Power Rankings after going more than three weeks without a win, while Nashville SC has moved to the top spot. Chicago travel to face Nashville on 20 September.
Source: ESPN
Written by the machine. These summaries are generated automatically from public news feeds and our own data, and were not read by a human before publishing. All stories →
- Burnley have gone 19 matches without a win.
- Both teams have scored in each of 1. FC Köln’s last 13 matches.
- Arsenal have won their last 10 matches.
- Bayern München are unbeaten in 19 matches.
- Paris Saint Germain have scored in 25 straight matches.
- Both teams have scored in each of Eintracht Frankfurt’s last 11 matches.
Facts on recent form, not tips. Runs regress — they do not tell you what happens next.
Four doors
Matchday
Every tracked fixture with the model’s probabilities, a preview, hot stats and head-to-head.
Market truths
What the results keep doing that the odds don’t price — the most surprising page here.
The record
Every call settled in public. Three seasons of testing, losses included, and why a real edge still loses money.
Calibration
When the model says 60%, does it happen 60% of the time? The credibility check, scored in public either way.
The season in numbers
Who leads each league on the stats we collect — possession, passing, corners, shooting, fouls and bookings. Descriptive only: no model, no odds, no tip, and no bet runs off these. Every rate shows the games behind it.
Discipline & set-pieces, by league
Cards, corners and fouls per team per game — the character of each league. Descriptive colour, not a tip: the Phase-2 cards/corners model isn’t built yet, so nothing here is a bet.
| League | Cards/game | Corners/game | Fouls/game |
|---|---|---|---|
| Premier League · 2025/26 | 2.0 | 5.0 | 10.8 |
| La Liga · 2026/27 | 2.0 | 4.8 | 11.6 |
| Serie A · 2025/26 | 1.9 | 4.4 | 12.7 |
| Bundesliga · 2025/26 | 2.0 | 4.9 | 10.4 |
| Ligue 1 · 2025/26 | 1.9 | 4.8 | 12.1 |
| Championship · 2026/27 | 1.7 | 5.0 | 10.4 |
Last completed season until a club has played 5 matches this season, then it switches to 26/27 — the same gate the ratings tiles use, so nothing is crowned on three games.
The honest headline
Every one of these is a tested number, not a claim. The workings are on the record.
Next up
Fixtures the collector is tracking. Model probabilities appear on the board once both sides have enough matches played this season.
| Kick-off (UK) | Home | Away | League |
|---|---|---|---|
| 17:45Wed 16 Sep | Omonia Nicosia | Celta Vigo | Europa League |
| 17:45Wed 16 Sep | Ararat-Armenia | Sparta Praha | Europa League |
| 18:00Wed 16 Sep | Atletico Madrid | Osasuna | La Liga |
| 18:00Wed 16 Sep | Deportivo La Coruna | Sevilla | La Liga |
| 20:00Wed 16 Sep | Bayer Leverkusen | Celje | Europa League |
| 20:00Wed 16 Sep | AC Milan | Benfica | Europa League |
| 20:00Wed 16 Sep | Olympiakos Piraeus | Jagiellonia | Europa League |
| 20:00Wed 16 Sep | Anderlecht | Lyon | Europa League |
Start here
The parts of this that most people get wrong, explained properly.
What xG actually measures
Expected goals in plain English — what the number is, what it is good for, and the three things people constantly get wrong about it.
Closing line value — the only honest scoreboard
Why profit is a terrible way to judge whether someone is any good at this, and what we publish instead.
Why a real edge still loses money
We replayed the model across full past seasons. It beat the closing price and it still lost. Here are the actual numbers and why this happens to everyone.
Where the bookmaker's margin goes
Add up the chances implied by a set of odds and you do not get 100%. The extra is the margin, and most of what looks like value is the margin in disguise.