How the model works
Every expected-points number is built in four layers — from match odds to player minutes — then simulated thousands of times. Open any layer below, or jump into a live player to see it applied.
Why it matters for your team
FPL is won on weekly decisions — who to bring in, who to captain, when to play a chip — and on beating the managers around you. This model is built for those calls, not for a black-box tip.
- Build and tweak your squad with confidence — see who is likely to start, who is a minutes risk, and who is worth the transfer before you hit confirm. Use the optimiser to plan the week, or predictions to compare players side by side.
- Captain for the haul, not just the mean — expected points show the average; risk and haul chances show who can explode. Pick the armband when you need a ceiling, not only when you want the safe floor.
- Pull away from rivals, not the field average — rank is what matters in your mini-league. Rivals scores your plan against the people you actually need to beat — so you can differentiate when it counts and cover when you must.
Team scoring & clean sheets
From match odds + team form
Match odds and team form set how many goals each side is expected to score — and the clean-sheet chances that follow. We use the Dixon–Coles model to assess attack/defence strengths and produce fixture goal rates (λ_home, λ_away).
Who gets the chances
Player shares, carefully shrunk
Team goals and assists are split across players by how much each typically contributes when on the pitch. Recent matches where the player was on the pitch for longer count more than brief cameos or older games. Penalty and set-piece taker roles are built in. The shrinkage weight shows how much the model relies on priors for players with little recent on field action.
Will they play?
Start / sub / cameo / unused
Each player-fixture gets chances of unused, cameo, start-and-subbed, or 60+, from recent starts, availability, and fixture context. Expected points weight those states because appearance points, clean sheets, and defensive contribution thresholds are not linear in minutes. Chance of playing, news and prices are joined as-of prediction time.
States: unused · cameo · start & subbed · 60+. Never (E[minutes]/90) × per-90 rate.
Expected points & risk
Thousands of match simulations
Thousands of seeded match simulations combine team rates, player shares, and minutes into xP, risk (σ), and haul probabilities — the numbers you see in predictions and the optimiser. Every scoring component (appearance, goals, assists, CS, bonus/BPS, defensive contribution, cards, saves) is counted on each path; captain, chip, and rival tools use the full set of outcomes, not averages alone.
Limits
Odds, availability, and prices are keyed on snapshot timestamp ≤ prediction time (as-of joins). Tables and backtests use fixture IDs so double gameweeks stay visible as separate fixtures.
Predictions, fixtures, method, and performance stay open. Personalised tools (multi-GW optimiser, rivals, full prediction table) may require Pro.
How we evaluate
We check the model week by week against real results and publish the season scorecard on Performance — so you can see how the forecasts hold up, not just take our word for it.
See model performance →Put it to work
Plan transfers and captaincy from the same layered model — or browse the numbers first.