Onside open data
Where can I download Fantasy Premier League prediction data?
ep_next graded over the identical rows. Free, CC-BY-4.0 (reuse with attribution to onsidearena.com). Raw FPL season data is already open in several places; graded predictions — the number as it stood before kick-off, with the misses left in — are not, which is why this file exists. The running record is at onsidearena.com/accuracy.— Onside (onsidearena.com), predictions graded in public.
Fantasy Premier League — graded predictions, 2026/27
Every FPL points projection Onside published BEFORE a deadline, paired with what the player actually scored, and with three rival columns graded on identical rows: the official FPL ep_next, a recent-form baseline and a season-average baseline. One row per player per gameweek. `captured_at` is always earlier than `deadline_utc`, so the ordering that makes this a prediction rather than a hindsight fit is checkable in the file itself. The misses are in it.
curl https://onsidearena.com/data/graded-predictions.csvLicense + attribution
All datasets are licensed CC-BY-4.0. You can use them for any purpose — commercial or non-commercial, research, journalism, fantasy communities. We ask one thing: include a link back to onsidearena.com or the specific dataset URL when you publish.
How to cite
Onside Arena (2026). Fantasy Premier League — Graded Predictions Dataset, 2026/27 [Data set]. Zenodo. https://doi.org/10.5281/zenodo.22746985
@dataset{onside_fpl_graded_2026,
author = {{Onside Arena}},
title = {{Fantasy Premier League --- Graded Predictions Dataset, 2026/27}},
year = {2026},
publisher = {Zenodo},
license = {CC-BY-4.0},
doi = {10.5281/zenodo.22746985},
url = {https://doi.org/10.5281/zenodo.22746985}
}How the predictions were made
Every projection in this file was written down before its deadline and scored afterwards. Each row carries both captured_at and deadline_utc, and the first is always earlier than the second — so the ordering that makes this a forecast rather than a hindsight fit is checkable inside the file, without taking our word for it.
The three benchmark columns are graded on identical rows: the official FPL ep_next, a recent-form baseline and a season-average baseline. minutes_qualified marks the rows where a player passed the minutes threshold, so error can be computed over a like-for-like set rather than over appearances that never happened. The misses are in the file.
Full methodology, formulas and calibration receipts: /methodology. Public scoreboard of model vs reality: /model-record.
Update cadence
The file is regenerated weekly: new rows are frozen before each deadline and graded once the gameweek completes. It only ever grows — a published row is never revised, because a corrected forecast is not a forecast.
Building something with this?
We'd love to see what you make. [email protected]. If you want your AI assistant to query this directly, install our MCP server:
npm install -g onside-football-mcp