Accuracy

Our report card

Every FPL tool claims to be AI-powered. None of them will tell you how often they are right. This page is our attempt at the opposite: each recommendation is written down before the deadline, scored once the gameweek finishes, and published here whether it flatters us or not.

Live record

Live2026/27· 0 gameweeks scored

Nothing scored yet

Logging starts at gameweek 1. Every recommendation is written down before the deadline and scored once the gameweek finishes.

This section cannot be backfilled. A record built after the fact is not a record, so the only honest thing to show today is how empty it is.

Offline backtest

Backtest2025/26· 38 gameweeks scored

This is a backtest, not a record. It replays 2025/26 offline with the model as it stands today. It is useful for spotting bias and miscalibration, and it is not evidence of live performance - nothing here was published before a deadline.

Captain hit rate34%Our pick finished top 3 of the shortlist we published
Captain regret5.4 ptsPoints behind the best captain in hindsight, doubled
Transfer hit rate79%Suggested transfer ended up net positive
Transfer optimism+1.08 ptsPredicted gain minus what actually landed
Differential hit rate42%Returned 6+ points
xP error1.77 ptsMean absolute error per player prediction
Skill vs naive27.9%Error reduction against repeating last gameweek's points
Worst calibration gap9.0 ppLargest predicted-minus-observed miss across bands

Calibration

When we say 70%, does it happen 70% of the time?

00252550507575100100PREDICTED %OBSERVED %
Dot area is the number of observations behind the band. Points above the dashed line happened more often than we said; below it, less. 1 band withheld for small samples (90-100%, n=12).

Where it went wrong

The two ends of the range, so the averages above have something to sit against.

Worst captain weekGW13 · Minteh5 pts, best available was 8 (Rogers)rank 10 of 10
Best captain weekGW31 · Marmoush21 pts, best available was 22 (Senesi)rank 2 of 10

Every gameweek· Offline backtest

The full log, losing weeks included. Selective disclosure would make the whole page worthless.

Every scored gameweek for Offline backtest 2025/26: our captain pick and its rank, the best captain available in hindsight, transfer gain predicted against actual, differential points, and mean absolute error of that week's expected-points predictions.
GWOur captainxPActualRankBest availableTransfer predTransfer actualDiff ptsxP errorNote
1Martinelli6.0109/10Tavernier (14)+2.0+1.981.94Captain miss
2Barnes6.0101/10Johnson (11)+1.7-0.4101.61Transfer cost points
3Saka4.481/10Anderson (9)+2.6+0.812.09Differential blank
4Rayan5.8162/10Minteh (17)+1.7+0.311.37Differential blank
5Watkins6.075/10Osula (10)+2.5-0.321.85Transfer cost points
6Gravenberch5.8158/10Calvert-Lewin (20)+2.6+0.731.41Captain miss
7Estêvão6.71510/10Neto (21)+2.5+1.692.00Captain miss
8Cunha4.6161/10Scott (17)+0.9-0.821.53Transfer cost points
9Stach7.8183/10Garnacho (20)+2.9+1.041.97
10Buendía7.3191/10Grealish (20)+2.2+3.111.90Differential blank
11Tavernier7.6137/10Woltemade (16)+1.9+2.7111.72Captain miss
12O'Reilly5.3610/10Hinshelwood (9)+1.0-0.911.61Captain miss
13Minteh8.3510/10Rogers (8)+1.8+1.222.12Captain miss
14Gibbs-White8.1136/10Garnacho (17)+2.1+1.421.44Captain miss
15Eze6.6161/10Hinshelwood (18)+1.3-0.281.46Transfer cost points
16Cherki7.0174/10Ndiaye (20)+1.0-0.521.54Transfer cost points
17Virgil4.9107/10Rashford (13)+1.2+0.841.59Captain miss
18Estêvão5.896/10Brobbey (11)+0.9+0.482.17Captain miss
19Strand Larsen6.775/10Neto (9)+3.0+0.712.10Differential blank
20Rogers7.81510/10Gakpo (20)+1.2+0.221.49Captain miss
21Ndiaye5.497/10J.Murphy (13)+1.6+1.571.58Captain miss
22Gibbs-White5.1184/10Igor Jesus (20)+2.9+0.2171.62
23Mateta4.4133/10Wilson (15)+2.5+0.932.01
24Tarkowski7.8128/10Gakpo (17)+2.0+1.372.15Captain miss
25Semenyo5.391/10Richarlison (10)+2.3+1.621.70Differential blank
26Virgil6.9106/10O.Dango (13)+2.9+0.801.77Captain miss
27Bruno G.6.8149/10Marmoush (19)+1.9+1.081.73Captain miss
28Osula8.573/10B.Fernandes (8)+1.7+1.1161.94
29Richarlison5.6175/10Doku (20)+2.8+0.701.71Differential blank
30Dorgu5.4157/10Cherki (19)+1.8-0.1132.09Captain miss
31Marmoush7.4212/10Senesi (22)+1.30.0112.15
32João Pedro4.2144/10Cherki (16)+2.2+1.4111.79
33Anderson5.3171/10Foden (18)+2.7+2.7141.44
34Strand Larsen4.471/10Wilson (8)+1.3+0.822.04Differential blank
35Šeško8.166/10Welbeck (8)+0.8+0.651.57Captain miss
36Ngumoha7.5164/10J.Murphy (19)+2.4+2.391.43
37O'Reilly4.897/10Thiago (13)+2.4+0.911.69Captain miss
38Garnacho4.3186/10Hudson-Odoi (22)+1.7+1.842.01Captain miss

How this is scored

Captain hit
Our pick finished in the top three of the ten-name shortlist we published that week. Not "top three in the game" - only against options we actually put our name to.
Captain regret
Points behind the best captain available in hindsight, doubled because the armband doubles. This is the number that hurts, so it stays on the page.
Skill vs naive
How much our expected-points error beats simply predicting a repeat of last gameweek. An error of 1.8 points means nothing on its own - only against a baseline anyone could build in a spreadsheet.
Withholding
Headline rates need 8 scored gameweeks; a calibration band needs 20 observations. Below that we print "withheld" and the shortfall rather than a number that would only mislead.
Determinism
Every figure comes from ordinary code over a timestamped log. A language model writes the words on this site; it never touches the numbers, and it never gets to grade our own homework.
No backfilling
The live log only ever grows forwards. If a week is missing it stays missing, because a record assembled after the results are known is not a record.

Last scored .