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 Brentford 17 81.5
Collins DEF (8.8)
Kelleher GKP (7.6)
Schade MID (7.6)
2 Arsenal 20 70.1
Rice MID (9.0)
Gabriel DEF (7.8)
Calafiori DEF (6.0)
3 Spurs 20 64.5
Davies DEF (9.0)
Danso DEF (7.0)
Van de Ven DEF (4.8)
4 Liverpool 19 64.1
Wirtz MID (6.8)
Isak FWD (6.0)
Ekitiké FWD (5.3)
5 Brighton 21 63.6
Boscagli DEF (8.0)
Ayari MID (5.8)
Veltman DEF (5.7)
6 Man City 19 61.4
Reijnders MID (5.8)
Haaland FWD (5.6)
Cherki MID (5.4)
7 Newcastle 19 60.4
Bruno G. MID (7.0)
Joelinton MID (5.5)
Thiaw DEF (4.6)
8 Leeds 18 58.9
Aaronson MID (7.0)
Calvert-Lewin FWD (6.4)
Ampadu MID (5.8)
9 Everton 16 57.1
Garner MID (7.0)
Tarkowski DEF (5.2)
Iroegbunam MID (4.8)
10 Fulham 19 56.0
Tete DEF (5.3)
RaĂşl FWD (5.2)
Wilson MID (4.8)
11 Man Utd 20 54.5
Dorgu DEF (6.0)
Casemiro MID (5.0)
Cunha MID (4.8)
12 Wolves 19 51.4
Mané FWD (5.2)
H.Bueno DEF (4.8)
S.Bueno DEF (4.5)
13 Aston Villa 21 50.8
Watkins FWD (6.2)
Rogers MID (5.0)
McGinn MID (5.0)
14 Burnley 23 49.5
Laurent MID (4.8)
Humphreys DEF (4.5)
Ekdal DEF (4.2)
15 Sunderland 18 49.3
Mukiele DEF (5.6)
Roefs GKP (4.4)
Xhaka MID (4.0)
16 Bournemouth 20 47.0
Semenyo MID (6.2)
Brooks MID (3.8)
Cook MID (3.8)
17 Crystal Palace 19 42.1
Canvot DEF (4.3)
Lacroix DEF (3.4)
Mateta FWD (3.4)
18 Chelsea 21 42.1
Enzo MID (4.6)
JoĂŁo Pedro FWD (3.6)
Palmer MID (3.4)
19 Nott'm Forest 20 39.3
Gibbs-White MID (4.6)
Anderson MID (4.4)
Dominguez MID (3.4)
20 West Ham 20 38.0
L.Paquetá MID (5.0)
Bowen FWD (3.2)
S.Magassa MID (2.5)

Coming good

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

  • Gabriel DEF ARS
    3G mean 10.0 vs 5G avg 6.2
    +3.8
  • Bruno G. MID NEW
    3G mean 10.33 vs 5G avg 7.0
    +3.33
  • Alleyne DEF MCI
    3G mean 4.0 vs 5G avg 0.8
    +3.2
  • Thiago FWD BRE
    3G mean 10.33 vs 5G avg 7.6
    +2.73
  • Joelinton MID NEW
    3G mean 7.0 vs 5G avg 4.4
    +2.6

Coming too soon

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

  • Dorgu DEF MUN
    3G mean 2.67 vs 5G avg 6.0
    -3.33
  • Lewis-Potter DEF BRE
    3G mean 4.0 vs 5G avg 7.0
    -3.0
  • Robinson DEF FUL
    3G mean 1.67 vs 5G avg 4.6
    -2.93
  • Tete DEF FUL
    3G mean 0.33 vs 5G avg 3.2
    -2.87
  • Calvert-Lewin FWD LEE
    3G mean 3.67 vs 5G avg 6.4
    -2.73

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 Thiago FWD BRE 33.38
2 Šeško FWD MUN 33.23
3 Bruno G. MID NEW 29.6
4 Aaronson MID LEE 27.79
5 Barnes MID NEW 26.67
6 Wilson FWD FUL 20.62
7 Dominguez MID NFO 20.43
8 Tel MID TOT 19.79
9 Dorgu DEF MUN 19.58
10 Joelinton MID NEW 19.11
11 Collins DEF BRE 18.63
12 RaĂşl FWD FUL 17.98
13 Haaland FWD MCI 17.75
14 Calvert-Lewin FWD LEE 17.75
15 Delap FWD CHE 16.85
16 J.Palhinha MID TOT 16.78
17 Berge MID FUL 16.68
18 Romero DEF TOT 16.65
19 Senesi DEF BOU 16.05
20 Kelleher GKP BRE 15.82

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 Šeško FWD MUN Home vs MCI 4 14.9 14.44 – 15.36
2 Barnes MID NEW Away vs WOL 2 14.32 13.86 – 14.78
3 Aaronson MID LEE Home vs FUL 2 14.02 13.56 – 14.48
4 Thiago FWD BRE Away vs CHE 3 13.42 12.96 – 13.88
5 Bruno G. MID NEW Away vs WOL 2 13.4 12.94 – 13.86
6 Joelinton MID NEW Away vs WOL 2 11.58 11.12 – 12.04
7 Collins DEF BRE Away vs CHE 3 10.93 10.47 – 11.39
8 Wilson FWD FUL Away vs LEE 3 10.27 9.81 – 10.73
9 Dominguez MID NFO Home vs ARS 4 9.94 9.48 – 10.4
10 Tel MID TOT Home vs WHU 2 9.62 9.16 – 10.08
11 Kelleher GKP BRE Away vs CHE 3 9.39 8.93 – 9.85
12 J.Palhinha MID TOT Home vs WHU 2 8.5 8.04 – 8.96
13 Calvert-Lewin FWD LEE Home vs FUL 2 8.47 8.01 – 8.93
14 Berge MID FUL Away vs LEE 3 8.45 7.99 – 8.91
15 Gibbs-White MID NFO Home vs ARS 4 8.35 7.89 – 8.81
16 Romero DEF TOT Home vs WHU 2 8.21 7.75 – 8.67
17 Yarmoliuk MID BRE Away vs CHE 3 7.91 7.45 – 8.37
18 Mané FWD WOL Home vs NEW 3 7.66 7.2 – 8.12
19 Raúl FWD FUL Away vs LEE 3 7.5 7.04 – 7.96
20 Mitoma MID BHA Home vs BOU 3 7.42 6.96 – 7.88

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
17 1.16 59.6% 760
18 0.95 64.0% 770
19 1.1 62.2% 775
20 1.01 64.1% 780
21 1.01 65.2% 790

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
  • Eze
    GW 13 vs CHE
    MID · ARS
    Δ 17.3 pts
    19.3 → 2.0
  • Romero
    GW 14 vs NEW
    DEF · TOT
    Δ 16.89 pts
    0.11 → 17.0

Big haul classification

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

≥ 8 pts

0.181

Precision (hauls we called correctly)

0.11

Recall (share of all hauls we spotted)

0.137

F1 (balance of precision & recall)

Predicted hauls: 155 · Actual hauls: 255 · True positives: 28

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.1

Avg recall (actual top scorers recovered)

0.1

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.57

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

XGBoost R²

0.84

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

XGBoost MAE

0.46

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 35.7% of impact
0.681
Rolling Mean Points 3 33.3% of impact
0.636
Ict Index 19.8% of impact
0.378
Creativity 3.7% of impact
0.071
Fixture Difficulty 2.7% of impact
0.052
Rolling Sum Points 5 1.9% of impact
0.037
Threat 1.8% of impact
0.033
Is Home 1.0% of impact
0.019
Trained on 15,724 player fixtures, the baseline linear model already explains 0.81 of the variance with a 0.57-point MAE, while XGBoost pushes accuracy to R² 0.84 and MAE 0.46. 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.