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
Bristol City v Wolves
+16 pts apart. A gap is a disagreement, not a tip — early season it is usually the model that is behind. Why →
Cardiff v West Ham
+14 pts apart. A gap is a disagreement, not a tip — early season it is usually the model that is behind. Why →
Wrexham v Middlesbrough
+11 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 02 Nov). 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 23 league games (W17 D6). — v FSV Mainz 05 · Sat 07 Nov
- AS Roma are unbeaten in their last 17 league games (W13 D4). — v Sassuolo · Sat 07 Nov
- Hertha BSC are unbeaten in their last 14 league games (W12 D2). — v VfL Wolfsburg · Sat 07 Nov
- Atletico Madrid have won their last 7 league games. — v Barcelona · Sun 08 Nov
- Middlesbrough are unbeaten in their last 11 league games (W7 D4). — v Wrexham · Wed 04 Nov
Players in form
- F. Ravaglia (Watford) has made 47 saves in 13 league games this season. — next: v Lincoln · Tue 03 Nov
- N. Trott (Cardiff) has made 46 saves in 13 league games this season. — next: v West Ham · Wed 04 Nov
- Álvaro Vallés (Real Betis) has made 46 saves in 11 league games this season. — next: v Borussia Dortmund · Wed 04 Nov
- Raphinha (Barcelona) has 15 goals and 3 assists in 10 league games this season. — next: v Aston Villa · Tue 03 Nov
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 →
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.
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:45Tue 03 Nov | Shakhtar Donetsk | Sporting CP | Champions League |
| 17:45Tue 03 Nov | Galatasaray | VfB Stuttgart | Champions League |
| 19:45Tue 03 Nov | Watford | Lincoln | Championship |
| 19:45Tue 03 Nov | Preston | Sheffield Utd | Championship |
| 19:45Tue 03 Nov | Blackburn | Stoke City | Championship |
| 19:45Tue 03 Nov | Derby | Norwich | Championship |
| 19:45Tue 03 Nov | QPR | Burnley | Championship |
| 19:45Tue 03 Nov | Portsmouth | Swansea | Championship |
More from the machine
The live wire, the news and the season's numbers, a tap away.
The wire, news and team runs
The wire Written by the machine · refreshes every 30 min
- Tue 17:45 GMTKOShakhtar Donetsk v Sporting CP — Champions League
- Tue 17:45 GMTKOGalatasaray v VfB Stuttgart — Champions League
- Tue 19:45 GMTKOWatford v Lincoln — Championship
- Tue 19:45 GMTKOPreston v Sheffield Utd — Championship
- Sat 07 NovSTREAKBayern München are unbeaten in their last 23 league games (W17 D6). — v FSV Mainz 05
- Sat 07 NovSTREAKAS Roma are unbeaten in their last 17 league games (W13 D4). — v Sassuolo
- Sat 07 NovSTREAKHertha BSC are unbeaten in their last 14 league games (W12 D2). — v VfL Wolfsburg
- Mon 02 NovFTBenfica 1-0 Alverca · xG 1.7-0.6 — Primeira Liga
- Mon 02 NovFTGIL Vicente 0-0 Vitória SC · xG 0.7-0.5 — Primeira Liga
- Mon 02 NovFTNewcastle 0-1 Everton · xG 1.5-2.2 — Premier League
- Mon 02 NovFTDeportivo La Coruna 2-1 Osasuna · xG 2.4-1.1 — La Liga
- Tue 03 NovSOONChampions League season starts today — Shakhtar Donetsk v Sporting CP
Every line above is generated from the live data on each rebuild. No human wrote any of it — that is the point.
News updated 21d ago
Lankshear Shines at Boro After Spurs Exit
BBC Sport reports that Will Lankshear's finishing and movement have impressed since his move from Tottenham to Middlesbrough, prompting suggestions the striker's departure may be felt at Tottenham Hotspur Stadium. Spurs next host Coventry on 19 October.
EDGETottenham's attack is rated 18th of 18 in the Premier League for 2026/27, underlining the goal-scoring gap Lankshear's move may have exposed.
Source: BBC Sport
Man City Beat Liverpool 3-0 Amid Scandal Fallout
ESPN reports Manchester City responded to the Premier League's guilty verdict in their financial case by beating Liverpool, with home fans displaying banners and chants throughout. Liverpool next face Brentford on 17 October.
EDGELiverpool's defence is rated 2nd of 18 in the Premier League for 2026/27, despite the defeat to City.
Source: ESPN
VAR Review: Gravenberch Red Card Against City
ESPN's VAR review examines whether Liverpool midfielder Ryan Gravenberch was wrongly sent off during the loss to Manchester City, with referee analyst Andy Davies assessing the decision-making process. Liverpool next play Brentford on 17 October.
EDGELiverpool's defence is rated 2nd of 18 in the Premier League for 2026/27, context for the disputed dismissal.
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 →
- Bayern München are unbeaten in 26 matches.
- Paris Saint Germain have scored in 32 straight matches.
- Preston have conceded in their last 28 matches.
- Barcelona have seen over 2.5 goals in each of their last 12 matches.
- Inter have scored in 23 straight matches.
- Orlando City SC have seen over 2.5 goals in each of their last 10 matches.
Facts on recent form, not tips. Runs regress — they do not tell you what happens next.
The season in numbers — league leaders
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 · 2026/27 | 1.9 | 4.8 | 11.4 |
| La Liga · 2026/27 | 2.1 | 4.8 | 12.0 |
| Serie A · 2026/27 | 1.6 | 4.7 | 10.7 |
| Bundesliga · 2026/27 | 1.8 | 5.3 | 11.3 |
| Ligue 1 · 2026/27 | 1.7 | 4.4 | 12.1 |
| Championship · 2026/27 | 1.8 | 5.0 | 10.7 |
| Eredivisie · 2026/27 | 1.6 | 5.0 | 11.0 |
| Primeira Liga · 2026/27 | 2.2 | 4.5 | 13.0 |
| Scottish Premiership · 2026/27 | 1.8 | 5.9 | 12.0 |
| Major League Soccer · 2026/27 | 1.9 | 5.1 | 11.8 |
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.
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.