{"schemaVersion":2,"generatedAt":"2026-10-26T19:40:14.001Z","targetGW":9,"source":"https://fantasy.premierleague.com/api/","sampleSize":654,"protocol":{"name":"Local execution · v1","rounds":7,"warmupRounds":1,"seed":20260908,"cache":"Cleared before each batch; shared calculations may be reused within a batch","environment":"v24.14.0 · win32 x64 · Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz","scope":"All players whose club has a fixture in the target gameweek, including unavailable players. Model execution only; network and rendering excluded. Timings depend on this machine and workload."},"sourceHashes":{"v6-engine.js":"a267cfeb719977737ace0d694121991266df97426b80a3c56d28f51fb2800ade","ai-bonus.js":"1cbc815e52eb2f1799aeb959ea6e37047a29820aa219f2d3a1e872a4c6495f3b"},"inputHash":"c8454b150d1bb9fa330efc0110e54e6cbf17e53813c22473867453bc84ef3dc4","models":[{"id":"v8","name":"V8 Projections","category":"Points","kind":"Engine","unit":"FPL points","description":"Probabilistic component model with simulated minutes, attacking returns, clean sheets, bonus and discipline.","source":"v6-engine.js","status":"Measured","runtime":{"medianBatchMs":9113.995700000001,"minBatchMs":9057.925799999997,"maxBatchMs":11735.1823,"batches":[9113.995700000001,9057.925799999997,9094.252000000004,9072.140500000001,10071.478199999998,11319.257600000004,11735.1823]},"sampleSize":654,"validOutputs":654,"accuracy":{"mae":1.102,"rmse":2.088,"sampleSize":2661,"baselineMAE":1.71,"accuracyPct":81.6,"accuracyRule":"within ±2 pts","skillPct":35.5},"accuracyStatus":"Evaluated on completed Gameweeks"},{"id":"v6","name":"V6 Projections","category":"Points","kind":"Compatibility name","unit":"FPL points","status":"Shared engine","aliasOf":"v8","source":"app_v119.js","description":"The V6 projection interface currently calls the V8 component engine. It is not an independently measured model version.","runtime":null,"accuracy":{"mae":1.102,"rmse":2.088,"sampleSize":2661,"baselineMAE":1.71,"accuracyPct":81.6,"accuracyRule":"within ±2 pts","skillPct":35.5},"accuracyStatus":"Evaluated on completed Gameweeks"},{"id":"xpts","name":"xPts Model · normal FDR","category":"Points","kind":"Output","unit":"FPL points","status":"Shared engine","aliasOf":"v8","fdr":"official","source":"app_v119.js","description":"The analyzer's expected points with the official FPL fixture difficulty (FDR). This is the default xPts; it runs on the V8 engine.","runtime":null,"accuracy":{"mae":1.102,"rmse":2.088,"sampleSize":2661,"baselineMAE":1.71,"accuracyPct":81.6,"accuracyRule":"within ±2 pts","skillPct":35.5},"accuracyStatus":"Evaluated on completed Gameweeks"},{"id":"xpts_posfdr","name":"xPts Model · Position FDR","category":"Points","kind":"Output","unit":"FPL points","status":"Shared engine","aliasOf":"v8","fdr":"position","source":"position-fdr.js","description":"The same xPts with Position FDR switched on: each fixture is rated by the opponent's last five matches, attack for goalkeepers and defenders, defence for midfielders and forwards, adjusted for home and away (the venue adjustment applies from Gameweek 6). Archived and scored exactly like the normal-FDR version.","runtime":null,"accuracy":{"mae":1.118,"rmse":2.104,"sampleSize":2002,"baselineMAE":1.677,"accuracyPct":81.5,"accuracyRule":"within ±2 pts","skillPct":33.3},"accuracyStatus":"Evaluated on completed Gameweeks"},{"id":"xmins","name":"xMins Model","category":"Minutes","kind":"Component","unit":"Probability","description":"Appearance probabilities for 60+ minutes and a shorter appearance. This interface returns probabilities, not a minute count.","source":"v6-engine.js","status":"Measured","runtime":{"medianBatchMs":6.311499999996158,"minBatchMs":5.018100000001141,"maxBatchMs":7.377599999992526,"batches":[5.529599999994389,5.018100000001141,5.91809999999532,6.363200000007055,6.311499999996158,6.85899999999674,7.377599999992526]},"sampleSize":654,"validOutputs":654,"accuracy":{"mae":0.158,"rmse":0.311,"sampleSize":2661,"baselineMAE":0.428,"brier":0.0966,"accuracyPct":87.3,"accuracyRule":"correct 60+ minute calls","skillPct":63.2},"accuracyStatus":"Evaluated on completed Gameweeks"},{"id":"xbps","name":"BPS Model","category":"Bonus","kind":"Engine","unit":"BPS","description":"Expected BPS from a shrunk positional rate, expected playing share and opponent/venue adjustment. Measured for each player’s first fixture in the target gameweek.","source":"ai-bonus.js","status":"Measured","runtime":{"medianBatchMs":2.5442000000039116,"minBatchMs":2.031300000002375,"maxBatchMs":4.165500000002794,"batches":[2.6875,2.5359000000025844,4.165500000002794,2.5442000000039116,2.5843000000022585,2.5005999999993946,2.031300000002375]},"sampleSize":654,"validOutputs":654,"accuracy":{"mae":6.604,"rmse":9.576,"sampleSize":2661,"baselineMAE":7.271,"accuracyPct":47.6,"accuracyRule":"within ±5 BPS","skillPct":9.2},"accuracyStatus":"Evaluated on completed Gameweeks"},{"id":"xbonus","name":"xBonus Component","category":"Bonus","kind":"Component","unit":"FPL bonus points","status":"Not measured separately","source":"v6-engine.js","description":"Bonus contribution inside the V8 simulation. Separate bonus-award accuracy has not been published.","runtime":null,"accuracy":null,"accuracyStatus":"Not included in the forecast archive"},{"id":"xcs","name":"Clean-sheet Component","category":"Defence","kind":"Component","unit":"Probability / points","status":"Not measured separately","source":"v6-engine.js","description":"Fixture-difficulty and team-context clean-sheet contribution inside V8. Separate calibration results have not been published.","runtime":null,"accuracy":null,"accuracyStatus":"Not included in the forecast archive"}],"distribution":{"modelId":"v8","label":"V8 expected points","buckets":[{"label":"0–1","count":297},{"label":"1–2","count":94},{"label":"2–3","count":104},{"label":"3–4","count":110},{"label":"4–5","count":41},{"label":"5–6","count":5},{"label":"6–7","count":3},{"label":"7+","count":0}]},"results":[{"gameweek":5,"modelId":"v6","mae":1.118,"rmse":2.184,"sampleSize":659,"baselineMAE":1.806,"accuracyPct":81.2,"accuracyRule":"within ±2 pts","skillPct":38.1},{"gameweek":5,"modelId":"v8","mae":1.118,"rmse":2.184,"sampleSize":659,"baselineMAE":1.806,"accuracyPct":81.2,"accuracyRule":"within ±2 pts","skillPct":38.1},{"gameweek":5,"modelId":"xbps","mae":6.393,"rmse":9.599,"sampleSize":659,"baselineMAE":7.862,"accuracyPct":47.8,"accuracyRule":"within ±5 BPS","skillPct":18.7},{"gameweek":5,"modelId":"xmins","mae":0.146,"rmse":0.302,"sampleSize":659,"baselineMAE":0.435,"brier":0.0911,"accuracyPct":88.8,"accuracyRule":"correct 60+ minute calls","skillPct":66.4},{"gameweek":5,"modelId":"xpts","mae":1.118,"rmse":2.184,"sampleSize":659,"baselineMAE":1.806,"accuracyPct":81.2,"accuracyRule":"within ±2 pts","skillPct":38.1},{"gameweek":6,"modelId":"v6","mae":1.071,"rmse":2.083,"sampleSize":667,"baselineMAE":1.648,"accuracyPct":82.8,"accuracyRule":"within ±2 pts","skillPct":35.1},{"gameweek":6,"modelId":"v8","mae":1.071,"rmse":2.083,"sampleSize":667,"baselineMAE":1.648,"accuracyPct":82.8,"accuracyRule":"within ±2 pts","skillPct":35.1},{"gameweek":6,"modelId":"xbps","mae":6.123,"rmse":8.83,"sampleSize":667,"baselineMAE":6.975,"accuracyPct":50.1,"accuracyRule":"within ±5 BPS","skillPct":12.2},{"gameweek":6,"modelId":"xmins","mae":0.154,"rmse":0.306,"sampleSize":667,"baselineMAE":0.427,"brier":0.0939,"accuracyPct":87.3,"accuracyRule":"correct 60+ minute calls","skillPct":63.8},{"gameweek":6,"modelId":"xpts","mae":1.071,"rmse":2.083,"sampleSize":667,"baselineMAE":1.648,"accuracyPct":82.8,"accuracyRule":"within ±2 pts","skillPct":35.1},{"gameweek":6,"modelId":"xpts_posfdr","mae":1.059,"rmse":2.087,"sampleSize":667,"baselineMAE":1.648,"accuracyPct":82.6,"accuracyRule":"within ±2 pts","skillPct":35.7},{"gameweek":7,"modelId":"v6","mae":1.068,"rmse":1.959,"sampleSize":667,"baselineMAE":1.664,"accuracyPct":82.9,"accuracyRule":"within ±2 pts","skillPct":35.8},{"gameweek":7,"modelId":"v8","mae":1.068,"rmse":1.959,"sampleSize":667,"baselineMAE":1.664,"accuracyPct":82.9,"accuracyRule":"within ±2 pts","skillPct":35.8},{"gameweek":7,"modelId":"xbps","mae":7.146,"rmse":10.074,"sampleSize":667,"baselineMAE":7.097,"accuracyPct":45.7,"accuracyRule":"within ±5 BPS","skillPct":-0.7},{"gameweek":7,"modelId":"xmins","mae":0.152,"rmse":0.297,"sampleSize":667,"baselineMAE":0.42,"brier":0.088,"accuracyPct":88.5,"accuracyRule":"correct 60+ minute calls","skillPct":63.8},{"gameweek":7,"modelId":"xpts","mae":1.068,"rmse":1.959,"sampleSize":667,"baselineMAE":1.664,"accuracyPct":82.9,"accuracyRule":"within ±2 pts","skillPct":35.8},{"gameweek":7,"modelId":"xpts_posfdr","mae":1.112,"rmse":2.021,"sampleSize":667,"baselineMAE":1.664,"accuracyPct":81.4,"accuracyRule":"within ±2 pts","skillPct":33.1},{"gameweek":8,"modelId":"v6","mae":1.153,"rmse":2.121,"sampleSize":668,"baselineMAE":1.719,"accuracyPct":79.5,"accuracyRule":"within ±2 pts","skillPct":32.9},{"gameweek":8,"modelId":"v8","mae":1.153,"rmse":2.121,"sampleSize":668,"baselineMAE":1.719,"accuracyPct":79.5,"accuracyRule":"within ±2 pts","skillPct":32.9},{"gameweek":8,"modelId":"xbps","mae":6.75,"rmse":9.756,"sampleSize":668,"baselineMAE":7.151,"accuracyPct":46.7,"accuracyRule":"within ±5 BPS","skillPct":5.6},{"gameweek":8,"modelId":"xmins","mae":0.178,"rmse":0.337,"sampleSize":668,"baselineMAE":0.431,"brier":0.1133,"accuracyPct":84.6,"accuracyRule":"correct 60+ minute calls","skillPct":58.6},{"gameweek":8,"modelId":"xpts","mae":1.153,"rmse":2.121,"sampleSize":668,"baselineMAE":1.719,"accuracyPct":79.5,"accuracyRule":"within ±2 pts","skillPct":32.9},{"gameweek":8,"modelId":"xpts_posfdr","mae":1.184,"rmse":2.198,"sampleSize":668,"baselineMAE":1.719,"accuracyPct":80.5,"accuracyRule":"within ±2 pts","skillPct":31.1}],"provenance":{"publisher":"FPL Analyzer","resultsSource":"Official Fantasy Premier League data (fantasy.premierleague.com), a third-party source","independence":"Forecasts are generated, archived and scored by FPL Analyzer about its own models. This is not an independent third-party evaluation.","method":"Each forecast is archived before the Gameweek deadline, then compared with the official FPL result for that Gameweek once it has finished."},"evaluation":{"status":"live","completedGameweeks":[5,6,7,8],"archivedGameweeks":[5,6,7,8,9],"awaitingGameweek":{"id":9,"deadline":"2026-10-31T11:00:00Z"},"source":"Official FPL event live data matched to pre-deadline archived forecasts"}}