Every projection we publish is frozen before the deadline it predicts, and scored after the gameweek finishes. Wins and misses both. This page exists so you can decide whether our numbers are worth anything before you pay for them.
- Run
- 2026-09-07T13:15:17.459Z-c241485a
- Computed
- 2026-09-07T13:15:17.463Z
- Projections
- 3,924
- Model
- v1.3.4
Projection runs are append-only. We never edit a run after the fact — a new model version writes new rows, and the old ones stay exactly as published.
From gameweek one we publish three lines every week: our engine standalone — the headline number we stand behind — FPL’s ep_next as the baseline it must beat, and a disclosed blend of the two, labelled as a blend, because it is useful and it is not standalone. If any of them loses, that is what this page will say.
| GW | HQ engine | FPL ep_next | Blend (disclosed) | players |
|---|---|---|---|---|
| 1 | 0.6357 | 0.4717 | 0.6357 (w=0.9) | 600 |
| 2 | 0.6624 | 0.5191 | 0.6678 (w=0.9) | 620 |
| 3 | 0.7042 | 0.7061 | 0.7117 (w=0.9) | 652 |
Measured on the 2024/25 season, walk-forward, gameweeks 6 to 38, under measurement protocol v4: every prior-eligible player is scored, including those who never appeared, and the archive’s post-hoc column is a diagnostic, never a bar — details in the public log. The metric is mean Spearman rank correlation — how well a model orders players by the points they actually scored. Higher is better.
- HQ engine, standalone2024-25, model v1.3.2 · every eligible player0.5200
- Form over 5 gamesbaseline0.5031
- Points per gamebaseline0.3622
- FPL's ep, one week stalethe honest FPL baseline0.3416
Protocol v3 · superseded 3 Aug 2026 · kept, not comparable
These rows scored only players who appeared, so every figure sits lower than its v4 counterpart above — a different question, not a different engine. Kept as recorded.
- HQ engine, standalone2024-25, model v1.2.80.3362
- Points per gamebaseline0.2816
- Form over 5 gamesbaseline0.2528
- FPL's ep, one week stalethe honest FPL baseline0.2236
- FPL's archived xPscraped after the matches — not a forecast, not a bar0.5512
This page used to say our engine trailed FPL badly, and we were measuring it wrong.
The 0.5512 row is the number we spent months treating as the bar. It comes from an archive scraped around twelve hours after each gameweek’s last kickoff, and it correlates 0.39 with bonus points — which are awarded by what happened during the match. It was never a forecast, so no honest model could ever have beaten it.
Take the same FPL number and shift it one week, so it can only know what was knowable beforehand, and it scores 0.2236. Our engine scores 0.3362 on the same gameweeks — ahead of FPL’s honest baseline, and ahead of points-per-game and recent form. We are leaving the misleading row on the page rather than deleting it, because a receipt you edit after the fact is not a receipt. (All the figures in this note are the superseded v3 protocol, quoted as recorded; the table above is today’s protocol v4, which scores the full slate rather than only the players who appeared.)
None of that settles anything. A backtest cannot see injury flags, team news or confirmed lineups, and the live engine gets all three — so the only measurement that counts is the scoreboard above, recorded week by week against predictions frozen before each deadline.
- Frozen before the deadline. The run scored each week is the last one computed before the deadline passed. We cannot revise a prediction after seeing the result.
- Every player, not a highlight reel. Scoring covers everyone who played, on the identical set of players for every line — not a hand-picked set of good calls.
- The same metric, every week.Mean Spearman rank correlation, alongside FPL’s own expectation on identical players.
- Numbers come from the engine, never from a language model. Written analysis is checked against the underlying figures before it is shown to you; a number that is not in the data cannot appear in the prose.
First scored gameweek: GW1, 2026/27 · results from 24 Aug 2026