Fixture Difficulty Modelling

FDR Model

Fixture difficulty is built by running a Dixon-Coles match model for each opponent, ranking the result against every other fixture in the same window, then blending three weighted percentile scores into a 1-5 rating.

Why it matters. Trusting a rating that looks surprising means knowing which of its underlying components moved, rather than assuming the model got it wrong.

A Dixon-Coles model turns team strength into match probabilities

The 1-5 fixture difficulty rating on the players table is the output of a multi-step engine, not a single lookup.

It starts with a Dixon-Coles model, a well-established statistical approach for football scorelines used widely across the sport, not something invented for this app. It takes each team's attacking and defensive strength and produces win, draw and loss probabilities for a specific matchup, plus an expected goals figure for both sides.

That output describes one match. On its own it says nothing about whether the fixture is hard relative to everything else on the schedule that week.

The raw model output gets ranked, not read directly

A team's raw win probability or expected goals against means little in isolation. Fixture difficulty percentile-ranks that output against every other fixture-side in the same window. A rating states how tough an opponent is relative to the rest of the league's current fixture list, not as a number sitting on its own.

That relative framing matters more than the raw model output ever could. Two opponents can carry near-identical expected goals against figures and still land on different ratings, because everything else in that window shifted around them.

Three percentile scores, blended with fixed weights

The engine does not collapse the match model into one number straight away. It produces three separate percentile scores for the opponent, then blends them with fixed weights:

  • Result, 50%. Win, draw and loss probability from the match model.
  • Attack, 20%. How much threat the opponent creates going forward.
  • Defence, 30%. How hard the opponent is to break down.

Result carries half the weight because winning, drawing and losing is what a fixture is actually judged on. Attack and defence explain why a result looks likely, but the result itself is the outcome that matters most to a squad and its followers.

A non-linear curve produces the final 1-5 rating

The blended percentile score then passes through a non-linear curve, not a straight percentile-to-5 split, to produce the rating shown on the players table. A straight split would spread ratings evenly across the five bands regardless of how bunched the league actually is that week.

The curve instead lets genuinely extreme fixtures stand out at the ends of the scale. The toughest and the softest opponents get pulled apart rather than smoothed into the middle bands.

Stakes get folded in from around gameweek 28

From roughly gameweek 28 onwards, the model phases in an adjustment for what is riding on a fixture: relegation battles, title races and European qualification races.

Consider two opponents with near-identical underlying attack and defence numbers in April. One sits mid table with nothing left to play for. The other is fighting relegation with six matches left. The relegation side gets rated as the tougher fixture, even though its raw attacking and defensive numbers alone would not fully justify the gap. Motivation genuinely changes how a fixture plays out late in a season, and the adjustment reflects that.

Reading a rating well means knowing what fed it

A newly promoted side rated moderately difficult in April. Its underlying attack and defence numbers are weak all season, but relegation stakes push the rating up from where the raw numbers alone would put it. That is not the model overreacting. It is the stakes layer doing exactly what it is built to do.

A big club rated a hard fixture on a modest recent run. Their own attacking and defensive numbers are unremarkable that month. But the opponent's percentile position is dragged down by a run of weak fixtures elsewhere in the league that same window. The rating reflects where that opponent sits relative to the rest of the schedule, not an absolute judgement on quality.

Two fixtures rated identically for different reasons. One earns a 4 out of 5 purely from strong underlying attack and defence numbers. Another earns the same 4 almost entirely from the stakes adjustment on an otherwise average opponent. The single number is a summary of three inputs plus a conditional adjustment, not a description of which one applied.

The verdict: a surprising rating is usually explainable, not wrong

Fixture difficulty is not a league-position lookup wearing a different label. It is a blend of three weighted percentile scores sitting on top of a Dixon-Coles match model, with a defined stakes adjustment layered on from around gameweek 28.

When a rating looks off, check which component moved: the result percentile, the attack or defence percentile, or the stakes adjustment. One of them almost always explains it.

Common misreadings, corrected

"Fixture difficulty is just an opinion." It is a blend of a statistical match model, a percentile ranking step and a defined late-season adjustment. All three are specified and applied the same way to every fixture. None of that is a subjective call made match by match.

"The rating should update instantly after one result." It moves with the underlying attack, defence and result percentiles, which shift gradually as a team's season sample changes. A single match rarely moves those percentiles enough to shift a rating on its own.

"Stakes only matter for relegation battles." Title races and European qualification races get the same treatment. Any fixture where something meaningful is on the line can trigger the adjustment, not only fixtures at the bottom of the table.

Common questions

How is fixture difficulty actually calculated?
A Dixon-Coles match model produces win, draw and loss probabilities and expected goals for each fixture. Those outputs get ranked as percentiles against every other fixture in the same window, split into Result, Attack and Defence scores, then blended 50/20/30 and mapped onto a 1-5 scale through a non-linear curve.
What is the Dixon-Coles model?
It is a well-established statistical model for football scorelines that turns each team's attacking and defensive strength into probabilities for a specific matchup. It sits underneath the fixture difficulty engine as the base match model that every later step builds on.
Why do stakes matter for fixture difficulty late in the season?
Because motivation genuinely changes how a fixture plays out once relegation, the title or European qualification is on the line. From around gameweek 28 the model phases in a stakes adjustment, so a struggling side with something to fight for can be rated tougher than its raw attack and defence numbers alone would suggest.
Is fixture difficulty just based on league position?
No. It is built from a Dixon-Coles match model and percentile-ranked attack, defence and result scores, plus a late-season stakes adjustment. League position never enters the calculation directly, which is why a struggling team can still carry a tough difficulty rating.
How often does fixture difficulty get recalculated?
It updates whenever the underlying inputs change: each team's attack and defence percentiles, and from gameweek 28 the stakes adjustment. There is no fixed schedule beyond that. The rating tracks the inputs, not a calendar.
Why are the Result, Attack and Defence weights 50/20/30?
Result carries the largest share because winning, drawing and losing is what a fixture is actually judged on. Attack and Defence explain why a result looks likely, so they get meaningful but smaller weight at 20% and 30% respectively.

Related terms

See FDR Model across the Premier League

Every player, team and match measured on the chances created rather than the scoreline.

Last updated