Predictive Signals

Some attempt to see if there are any predictive qualities to the stats we have available. Shared with everyone, because I'm not certain it's useful. We look at the "ICT Index" that everyone ignores in the main game, plus a rolling average of form, and the difficulty of the next fixture. And it seems there is some sort of predicitve element there. Or, it might all be dumb and circular - of course these things predict the points, because they're the things used to calculate the points... Whatever, I just asked the Gimp to create it for me, so 🤷‍♀️

Team Form Pulse Check

This is the basic stuff - teams ranked by their players' average form. And the three most form-y players for each of them. And then a chart plotting that form vs. how hard their next five fixtures are.

Rank Team Active Players Team Form Top Form Players
1 Nott'm Forest 24 78.2
Gibbs-White MID (9.8)
Awoniyi FWD (7.3)
Hudson-Odoi MID (7.0)
2 Brighton 20 74.8
Dunk DEF (7.5)
GroĂź MID (6.0)
F.Kadıoğlu DEF (5.8)
3 Man City 20 72.3
Doku MID (7.2)
O’Reilly DEF (6.6)
Haaland FWD (6.6)
4 Man Utd 19 68.7
Casemiro MID (7.5)
Maguire DEF (6.0)
Mainoo MID (5.5)
5 Leeds 20 66.2
Okafor MID (10.2)
Stach MID (6.0)
Ampadu MID (5.2)
6 Bournemouth 19 64.2
Truffert DEF (6.6)
Senesi DEF (6.4)
Smith DEF (6.0)
7 Arsenal 20 63.9
Gabriel DEF (5.8)
Raya GKP (5.4)
Gyökeres FWD (5.0)
8 Liverpool 19 62.1
M.Salah MID (6.3)
Szoboszlai MID (5.2)
Virgil DEF (4.8)
9 Spurs 22 54.5
Xavi MID (5.0)
Pedro Porro DEF (4.8)
Richarlison FWD (4.2)
10 Sunderland 19 54.1
Mukiele DEF (6.0)
Geertruida DEF (6.0)
Xhaka MID (4.4)
11 West Ham 19 52.0
Mavropanos DEF (6.8)
Bowen FWD (6.0)
Disasi DEF (4.2)
12 Newcastle 21 50.7
Osula FWD (6.0)
Bruno G. MID (3.8)
L.Miley MID (3.5)
13 Brentford 18 50.5
Thiago FWD (4.8)
Damsgaard MID (4.6)
Jensen MID (4.4)
14 Everton 18 48.1
Beto FWD (6.2)
Dewsbury-Hall MID (6.0)
Tarkowski DEF (4.4)
15 Fulham 21 46.9
Leno GKP (5.0)
Sessegnon MID (5.0)
Andersen DEF (3.8)
16 Aston Villa 21 46.4
Watkins FWD (6.0)
Rogers MID (3.8)
Martinez GKP (3.2)
17 Crystal Palace 18 45.0
Guéhi DEF (7.0)
Lacroix DEF (4.0)
Mateta FWD (3.7)
18 Burnley 22 43.3
Anthony MID (3.6)
Flemming FWD (3.6)
Tchaouna MID (3.2)
19 Chelsea 25 39.0
JoĂŁo Pedro FWD (4.0)
Enzo MID (3.5)
Colwill DEF (2.5)
20 Wolves 22 35.8
S.Bueno DEF (3.2)
Toti DEF (3.0)
Gomes MID (2.6)

Coming good

Players whose 3-game average is outperforming their longer-term baseline.

  • Raya GKP ARS
    3G mean 8.33 vs 5G avg 5.4
    +2.93
  • Awoniyi FWD NFO
    3G mean 7.33 vs 5G avg 4.4
    +2.93
  • Gabriel DEF ARS
    3G mean 8.33 vs 5G avg 5.8
    +2.53
  • De Cuyper DEF BHA
    3G mean 6.67 vs 5G avg 4.2
    +2.47
  • Maguire DEF MUN
    3G mean 6.0 vs 5G avg 3.6
    +2.4

Coming too soon

Players whose short-term form has slipped under their baseline.

  • Mavropanos DEF WHU
    3G mean 2.33 vs 5G avg 6.8
    -4.47
  • Okafor MID LEE
    3G mean 4.0 vs 5G avg 8.2
    -4.2
  • Wieffer MID BHA
    3G mean 0.67 vs 5G avg 4.2
    -3.53
  • M.Salah MID LIV
    3G mean 0.33 vs 5G avg 3.8
    -3.47
  • Cherki MID MCI
    3G mean 3.0 vs 5G avg 5.8
    -2.8

Predictive signal leaderboard

Of the signals we're looking at, which players are doing well? All the input features, mulched together into an overall score.

# Player Pos Club Signal Score
1 Doku MID MCI 32.13
2 Haaland FWD MCI 27.68
3 Tarkowski DEF EVE 27.61
4 De Cuyper DEF BHA 22.2
5 Sarr MID CRY 19.48
6 Minteh MID BHA 19.24
7 Kelleher GKP BRE 17.44
8 Bruno G. MID NEW 17.04
9 Trossard MID ARS 16.97
10 Gravenberch MID LIV 16.78
11 Dunk DEF BHA 16.2
12 Barkley MID AVL 16.03
13 Anderson DEF NFO 15.53
14 Anthony MID BUR 14.87
15 Rayan MID BOU 14.78
16 Hinshelwood MID BHA 14.32
17 McGinn MID AVL 14.17
18 Pedro Porro DEF TOT 14.07
19 Barnes MID NEW 14.02
20 Beto FWD EVE 13.83

Projected next-match points

And the juice - can we use that score to predict how a player will do next match? It runs their current performance score against whether the next match is home/away, its diffculty, etc. and gives a points forecast.

# Player Pos Club Next Opponent Predicted Pts Range
1 Tarkowski DEF EVE Home vs SUN 2 14.1 13.66 – 14.54
2 Doku MID MCI Away vs BOU 4 12.45 12.01 – 12.89
3 Haaland FWD MCI Away vs BOU 4 11.95 11.51 – 12.39
4 De Cuyper DEF BHA Away vs LEE 3 10.58 10.14 – 11.02
5 Minteh MID BHA Away vs LEE 3 9.4 8.95 – 9.84
6 Anderson DEF NFO Away vs MUN 4 8.86 8.42 – 9.3
7 Gabriel DEF ARS Home vs BUR 1 8.78 8.34 – 9.22
8 Gravenberch MID LIV Away vs AVL 4 8.57 8.13 – 9.01
9 Dunk DEF BHA Away vs LEE 3 8.4 7.96 – 8.85
10 Trossard MID ARS Home vs BUR 1 8.36 7.92 – 8.8
11 Barnes MID NEW Home vs WHU 2 8.32 7.88 – 8.76
12 Rayan MID BOU Home vs MCI 4 8.31 7.87 – 8.75
13 Hinshelwood MID BHA Away vs LEE 3 7.89 7.45 – 8.34
14 Sarr MID CRY Away vs BRE 3 7.83 7.38 – 8.27
15 Anthony MID BUR Away vs ARS 5 7.49 7.05 – 7.93
16 Barkley MID AVL Home vs LIV 3 7.45 7.0 – 7.89
17 Calvert-Lewin FWD LEE Home vs BHA 3 7.44 7.0 – 7.88
18 Raya GKP ARS Home vs BUR 1 7.43 6.99 – 7.87
19 Tel MID TOT Away vs CHE 3 7.37 6.93 – 7.81
20 Senesi DEF BOU Home vs MCI 4 7.31 6.87 – 7.75

Model scorecard

So... how good is the model, if at all?

The MAE values shown in the scorecards are literal FPL points (they average how far the predictions miss by). During training we learn the link between a match's ICT signals and that same match's score; for future fixtures we reuse each player's latest snapshot and swap in the upcoming opponent's difficulty/home-or-away flag to make a forward-looking call.

Because most players only score a couple of points, we also slice the errors by actual and predicted score bands, track how often we flag genuine big hauls (≥8 pts), and check whether the model's top picks overlap with the actual top performers each gameweek.

Prediction scorecard

Back-tested on recent gameweeks. MAE is the average miss in FPL points; the hit-rate shows the share of predictions that landed within two points of reality.

GW MAE Hit rate Samples
32 1.08 64.4% 822
33 0.94 65.3% 1073
34 1.0 63.7% 578
35 1.06 64.3% 827
36 1.01 64.9% 914

Largest misses help highlight outliers the model struggles with.

  • Lewis-Potter
    GW 17 vs WOL
    DEF · BRE
    Δ 18.54 pts
    2.46 → 21.0
  • Hudson-Odoi
    GW 16 vs TOT
    MID · NFO
    Δ 18.13 pts
    0.87 → 19.0
  • Schade
    GW 18 vs BOU
    MID · BRE
    Δ 17.85 pts
    2.15 → 20.0
  • JoĂŁo Pedro
    GW 29 vs AVL
    FWD · CHE
    Δ 17.83 pts
    1.17 → 19.0
  • Gibbs-White
    GW 33 vs BUR
    MID · NFO
    Δ 17.32 pts
    2.68 → 20.0

Big haul classification

How often the model correctly flags players expected to hit 8+ points.

≥ 8 pts

0.163

Precision (hauls we called correctly)

0.093

Recall (share of all hauls we spotted)

0.119

F1 (balance of precision & recall)

Predicted hauls: 386 · Actual hauls: 677 · True positives: 63

Scores run 0–1; higher is better. Precision/recall/F1 around 0.25–0.35 would be solid for noisy haul calls, while anything under ~0.1 means the model is mostly guessing.

Top-10 overlap

How many of the actual top scorers we catch in the model's top picks each gameweek.

Top 10

0.088

Avg recall (actual top scorers recovered)

0.088

Avg precision (how many picks really hauled)

Both metrics run 0–1; higher is better. A healthy shortlist would sit around 0.4–0.6 recall/precision, while numbers below ~0.2 suggest the picks aren’t much better than luck.

Error by actual score bucket

Each bar shows how far off the predictions were (average absolute error) for players who actually landed in each points band, plus how many fell inside that band. In other words, it checks whether the model stays sharp for low scorers as well as the rare big hauls. Does the miss size stay sensible no matter how many points the player truly scored?

Lower is better: MAE around 1–2 points in most buckets is respectable; when errors regularly creep above 3–4 points the model is missing the mark.

Calibration at higher predictions

Points are grouped by what the model predicted (e.g. 6–9 points) and compared with what actually happened, so we can see if confident forecasts sit too high, too low, or on target. It is a gut check on whether the model is overhyping or under-calling good outings. When we predict 6–9 points, do the real scores usually end up in that range?

A well-calibrated model clusters near the diagonal with average miss under ~2 points; if points sit far above or below the band lines, the model is overconfident or under-confident.

Top-10 overlap by gameweek

The two lines track, week by week, how many of the real top scorers appear in the model's top picks (recall) and how many of the model's picks actually went on to haul (precision). It reveals whether the shortlist consistently finds the right players or just gets lucky. Are the model's top choices reliably capturing the real stars each gameweek?

Good weeks hover near or above 0.5 on both lines; dips below ~0.2 hint the model’s weekly picks are more miss than hit.

Linear R²

0.81

Explains how much variance the straight-line model captures using the core signals.

Linear MAE

0.54

Average miss (in FPL points) for the baseline regression.

XGBoost R²

0.83

How much variance the tree ensemble explains once we allow nonlinear interactions.

XGBoost MAE

0.44

Average miss for the boosted model — lower means sharper projections.

Feature spotlight

And how much do all the features matter?

SHAP values show the average boost each feature gives across all predictions. They apportion credit fairly, even when features interact.

Influence 39.6% of impact
0.706
Rolling Mean Points 3 31.0% of impact
0.553
Ict Index 19.2% of impact
0.341
Creativity 4.5% of impact
0.08
Rolling Sum Points 5 2.3% of impact
0.041
Fixture Difficulty 1.7% of impact
0.031
Threat 1.6% of impact
0.029
Is Home 0.1% of impact
0.002
Trained on 27,868 player fixtures, the baseline linear model already explains 0.81 of the variance with a 0.54-point MAE, while XGBoost pushes accuracy to R² 0.83 and MAE 0.44. Influence currently drives the model's decisions. Rolling Mean Points 3 is the runner-up and adds extra context to the predictions.

Glossary

The signals use a mix of official FPL metrics and statistical jargon. Here's a quick refresher.

ICT Index
Fantasy Premier League's blend of Influence, Creativity, and Threat metrics to gauge how involved a player is in decisive actions.
Influence
Measures how heavily a player affects match outcomes (goals, assists, key contributions). High influence means the player drives team results.
Creativity
Tracks the rate of chance creation—crosses, key passes, and set-piece threat. Assisters tend to spike here.
Threat
Quantifies how likely a player is to score based on shots and positioning inside dangerous zones.
Fixture Difficulty
Club-provided rating (1 easiest — 5 hardest) estimating how tough the opponent is for that particular match.
Rolling Mean
Moving average across the last N games. A 3-game rolling mean smooths noisy weekly scores into a clearer form signal.
Rolling Sum
Moving total across the last N games. A 5-game sum captures medium-term consistency vs. short bursts.
SHAP
Shapley Additive exPlanations: a model-agnostic method that shows how much each feature pushed a prediction up or down.
MAE
Mean Absolute Error — the average absolute difference between predicted and actual points.
R²
Coefficient of determination. Shows how much of the variation in points the model explains (1.0 means perfect).
XGBoost
Extreme Gradient Boosting — an ensemble of shallow decision trees trained sequentially to reduce errors, great at spotting nonlinear patterns.