Knowledge Base

How Our Model Works

How Fantasy Matchup Edge goes beyond averages and fixture colours to model the player, the opponent and the match — then simulate the fixture 100,000 times.

The model in 30 seconds

Fantasy Matchup Edge does not project a player by averaging his old fantasy scores or by attaching a generic difficulty rating to the fixture.

We model how the player actually produces football actions, where and in what role those actions happen, what his team tends to create, what the opponent tends to allow, and the expected environment of the upcoming match. Then we simulate the fixture 100,000 times and rebuild the fantasy score from what happens inside those simulations.

Fantasy Matchup Edge is a football analytics model built to answer a more specific question than “is this a good fixture?”:

What is this particular match likely to ask this particular player to do — and how often does that turn into fantasy points?

Averages, betting markets and fixture ratings all contain useful information. We use some of them. But none of them is the projection by itself. They are inputs to a player-level model designed to rebuild the likely match from the ground up.

1PlayerAction fingerprint
2RoleWhere he plays
3MatchupTeam + opponent
4EnvironmentExpected game shape
5100k simsDistribution of outcomes

1. Start with the player, not the fantasy score

The model starts with underlying football actions rather than simply looking at how many FPL or Sorare points the player scored last week.

We track a broad range of events including:

  • goals, assists, shots and shots on target
  • big chances and chances created
  • penalty-area entries and final-third actions
  • passes and successful final-third passes
  • tackles, interceptions, recoveries and clearances
  • duels and possession won or lost
  • fouls, cards and goalkeeper saves
  • and many other scoring-relevant actions

Together, those events create what we call a player's action fingerprint.

Two players can have the same fantasy average while getting there in completely different ways. One midfielder may depend heavily on goals and assists. Another may build a strong score from passing, chance creation and defensive work. One defender may need a clean sheet; another may regularly add clearances, tackles and interceptions.

Those differences are exactly what become useful when the opponent changes.

2. Position is too broad — role and channel matter

A traditional “defence vs position” table might tell you that an opponent allows an average of 8.3 All-Around points to midfielders. That can be useful context, but it treats a holding midfielder, a number ten and a wide attacking midfielder as if they experience the same match.

FME goes narrower. Where the data supports it, players are associated with the roles and channels they actually occupy. That allows the model to ask:

What does this opponent tend to allow to players operating like this player, in this part of the pitch?

When exact role/channel evidence is thin, the model progressively falls back to broader samples rather than pretending a tiny sample is reliable. That shrinkage is deliberate: specific data is valuable only when there is enough of it to deserve the weight.

A football coach discussing tactics with players using a tactics board.
Photo by Quyn Phạm on Pexels

3. Model the supply side and the opponent separately

A player's opportunity comes from both teams.

First, FME models what the player's own team tends to generate. A forward cannot take six shots if his team barely reaches the penalty area. A dominant possession side may create enormous passing volume but very little clearance work for its centre-backs. Think of this as the team supply side of the projection.

Then we model what the opponent tends to allow. Teams do not concede fantasy-relevant actions evenly. One opponent might allow lots of central shots. Another might concede crossing and chance creation from wide areas. Another might force centre-backs into repeated clearances or goalkeepers into high save volume.

The interesting edge appears when the two sides line up: the opponent allows an action, and the player is unusually well equipped to produce that action.

Importantly, the model does not collapse player ability, team supply and opponent allowance into one giant “fixture multiplier”. They remain separate pieces of evidence and are blended conservatively so the same signal is not counted twice.

4. Add the expected match environment

Manchester City at home as a huge favourite is not the same statistical environment as Manchester City away to another elite side. Even the same player and opponent tendencies need to be interpreted inside the likely shape of the match.

The model therefore uses market-derived information to estimate things such as expected goals, clean-sheet probability, both-teams-to-score probability and the distribution of plausible scorelines.

Historical matches that looked more like the upcoming fixture receive more relevance than matches played in completely different circumstances. This is done softly rather than through rigid buckets: a projected 3–1 environment can still learn from 2–1, 3–0 or 4–2 type matches, with the influence fading as the comparison becomes less similar.

Football does not happen in neat categories, so the model tries not to force it into them.

5. Current-season evidence is added without overreacting

Players change. Managers change. Roles change. Teams can look very different in October from the version that existed six months earlier.

FME learns from the current season as new matches are completed, but a one- or two-match sample is not allowed to erase a much larger body of evidence. Thin samples are shrunk towards stronger priors; as evidence accumulates, it earns more influence.

This allows the model to adapt to:

  • new roles and tactical changes;
  • transfers and new team contexts;
  • changes in team attacking or defensive behaviour; and
  • players whose current-season action profile is genuinely moving.

The aim is to learn quickly without becoming gullible.

6. Build a player-specific expectation for the match

At this point the model has separate views of the player's ability, likely role, team supply, opponent allowance, market environment and current-season evidence. Those components are combined into expected rates for the player's underlying actions.

Player ability+Role+Team supply+Opponent allowance+Match environment+Current evidence

Different actions can move in different directions. A fixture can be excellent for a defender's clearance volume but poor for his clean-sheet chance. A midfielder might get a strong chance-creation environment while seeing less defensive work than usual.

That is why we are wary of one-number fixture ratings. The final player projection is the result of many smaller interactions rather than “green fixture = good”.

You can see that idea most clearly in our Next 5 FPL Fixture Difficulty page, where the familiar fixture view is only the starting point before we go to individual players.

7. Simulate the match 100,000 times

A mean projection is useful, but fantasy football is not a mean-outcome game. A player projected for 6.0 points will almost never score exactly six points every time the fixture is played.

FME therefore simulates each match 100,000 times. Each simulation begins with a coherent scoreline drawn from the expected match distribution, then the action environment changes with the realised state of the game.

A team protecting a 2–0 lead can generate a very different mix of actions from the same team chasing the match at 0–1. Defenders, midfielders, forwards and goalkeepers can all experience those states differently.

Those state effects are learned from comparable historical situations and re-centred so they redistribute opportunity around the already-modelled pre-match expectation rather than arbitrarily inflating it.

8. Goals and assists stay tied to the football match

This sounds obvious, but it is an important simulation constraint.

If Manchester City wins a simulated match 3–1, the model does not independently let five City players score a goal. There are three team goals available. Individual players receive goal and assist opportunities according to their own rates, roles and matchup, but those outcomes remain connected to the simulated team scoreline.

That keeps the player distributions attached to a believable football match instead of creating a pile of unrelated fantasy outcomes.

9. The output is a distribution, not one magic number

After 100,000 simulations we can look at the whole range of outcomes.

FPL outputs

Expected points + upside.

Projected points, 10+ haul probability, high-end outcomes, clean-sheet routes, DEFCON probability and other scoring components.

View FPL Predicted Points →
Sorare outputs

Score + distribution.

Projected score, P90 ceiling and probabilities of clearing 60, 70, 80 and other useful scoring thresholds.

View Sorare Projections →

This matters because two players can have very similar averages but very different shapes. One may be dependable. Another may have much more tournament-winning upside.

10. The football model is shared; the fantasy scoring is not

FPL and Sorare reward different parts of the same match, so we do not force one generic fantasy projection across both platforms.

FPL translates simulated events through the FPL scoring rules: goals, assists, clean sheets, saves, cards, goals conceded, defensive contributions and estimated bonus. Sorare is much more sensitive to all-around football actions, so passing, defensive work, chance creation, possession events and decisive actions all play a larger role.

The same player can therefore be an excellent Sorare matchup without being one of the strongest FPL plays — and vice versa. That is intentional.

11. Projections are currently “if the player starts”

Unless a page explicitly says otherwise, FME answers:

What do we expect from this player if he starts the match?

We do not currently dilute the football projection by multiplying it by an artificial start probability or generic expected-minutes figure. Selection risk is handled separately from the quality of the matchup.

That distinction is especially important for rotation players: somebody can have a fantastic projection if selected while still being a poor fantasy decision if there is a serious chance he never starts.

12. Why the model likes a player matters

Publishing a ranking without context is useful, but incomplete. One of the longer-term goals of Fantasy Matchup Edge is to expose the main drivers behind the projection as well as the score itself.

A strong projection might be driven by:

  • an opponent allowing unusual shot volume through the player's area;
  • the player's own action rate being well above his positional peers;
  • a strong expected team scoring environment;
  • high defensive-action opportunity;
  • clean-sheet probability; or
  • several smaller matchup effects all pointing in the same direction.

In other cases the honest explanation may simply be: this is an excellent player whose normal level is doing most of the work. A high projection is not automatically a matchup edge.

What Fantasy Matchup Edge is trying to do

No model removes uncertainty from football. That would make fantasy games rather boring anyway.

The aim is to use more of the information that exists before the match. Instead of stopping at “how many points has he averaged?” or “is the fixture green?”, we want to ask:

  • What kind of football is this fixture likely to produce?
  • Where are the opportunities likely to appear?
  • What does the opponent tend to allow?
  • Which players are actually built to exploit those opportunities?
  • How often does that combination turn into a meaningful fantasy score?

That is the idea behind Fantasy Matchup Edge: project the player, not just the fixture.