How KFT turns FPL data into decision support
Kiba's FPL Treats estimates expected FPL points and uncertainty for upcoming gameweeks. The model is a structured projection engine, ranking tool, and decision-support layer. It is not a guarantee engine.
Last updated: May 14, 2026
What the main outputs mean
xPts is expected FPL points for a player over a fixture or gameweek. It breaks the game down into familiar scoring components such as appearance points, goals, assists, clean sheets, saves, defensive contribution, cards, penalty misses, goals conceded for goalkeepers and defenders, and approximate bonus.
xGI Radar is the attacking read. It is based on goal and assist expectation, shown through fields such as scaled xG, scaled xA, combined attacking expectation, and return probability. Use it to ask who is getting into useful attacking positions, not who is guaranteed to return.
Points Range Forecasts are the risk view. Instead of showing only one expected value, they show likely lower outcomes, upper outcomes, volatility, captaincy versions, and probabilities of landing in points bands. This helps compare steady picks with higher-upside picks.
Fixture Ticker and KFT FDR are planning views. The current website reads fixture rows from fixture-list.csv. KFT's useful fixture signal is not just official FPL FDR. It is a practical summary of the scoring and clean-sheet environment, fixture run, and how hard the next games look for FPL decisions.
Data sources
The live model starts with official Fantasy Premier League public data. The official FPL API supplies player IDs, teams, positions, prices, ownership, events, fixtures, player status/news fields, current statistics, expected-stat fields, saves, defensive contribution fields, cards, set-piece order fields, and team strength fields. Website tools also use official FPL endpoints for public manager, squad, history, transfers, live event, fixture, and league data where those tools need it.
The model can enrich attacking profiles with Understat player shot and chance data. That enrichment is optional and depends on cached Understat data and name matching. Historical validation uses Vaastav / Fantasy-Premier-League historical data for actual player-gameweek outcomes. Optional market or team projection inputs can be used when configured, but market-derived information is used only to inform fantasy projections, not as betting advice.
Some inputs are automatic, such as official FPL data fetched on a model run. Some are manual or owner-reviewed, especially expected minutes and fixture-specific minute overrides. Team projection sheets may also be supplied locally where available. FBref is not listed here as an active source because the inspected model brief did not verify an active FBref loader.
How player projections are built
The model first estimates the team and fixture environment: expected goals, expected assists, opponent scoring risk, and clean-sheet probability. Player attacking expectation is then allocated from that environment using player-level attacking strength, role, position, recent FPL expected stats, optional Understat shot and chance profile signals, and low-sample caution. Players with tiny samples are not allowed to project wildly from a few good moments.
Expected minutes matter almost everywhere. Minutes affect appearance points, attacking volume, clean-sheet eligibility, goalkeeper saves, defensive contribution chances, card exposure, goals-conceded exposure, and the playing-time states used in simulation. Manual minutes assumptions are therefore one of the highest-impact parts of the workflow, and they can become wrong quickly after press conferences, illness, rotation news, suspension updates, or lineup leaks.
Clean-sheet points come from team-level clean-sheet probability and position rules. Goalkeeper save points are estimated from official FPL save rates and expected minutes. Card deductions use yellow-card and red-card rates. Goals-conceded deductions apply to goalkeepers and defenders through opponent scoring expectation and expected on-pitch exposure. Defensive contribution points are included from available official data, but this category is still uncertain because role and sample size can matter a lot. Bonus is included as an approximate modelled component, not a full replication of every official BPS action and tie-break.
Monte Carlo ranges
Monte Carlo simulation asks a plain question: if the same gameweek were played many times under the same assumptions, what range of points might each player score? In each simulation, KFT draws a match scoreline from fixture goal expectations, draws player minutes from playing-time assumptions, assigns goals and assists using attacking shares, applies clean sheets and goals conceded consistently inside the same match, and simulates saves, cards, defensive contribution, penalty events, and simplified bonus. The output is not a prophecy. It is a set of scenario ranges: mean points, volatility, lower-end outcomes, upper-end outcomes, attacking-return probabilities, and bracket probabilities such as low scores, returns, and hauls. Monte Carlo ranges are internally checked against historical player-gameweek outcomes, but current Monte Carlo validation is partial/internal rather than a full historical replay of every live production input. Missing historical production snapshots include manually reviewed minutes, late team news, some team projection inputs, Understat enrichment, and full production fixture forecasts. Treat these ranges as decision-support uncertainty estimates, not promises.
Validation and backtesting
KFT is validated against actual historical FPL player-gameweek points. The latest validation trained on the 2022-23 and 2023-24 seasons, then tested on 2024-25 from Gameweek 5 through Gameweek 38. The checks look at xPts error, bias, ranking signal, expected-minutes accuracy, goal/assist return calibration, and points-range calibration. Validation is used to understand strengths, weaknesses, and calibration issues. It is evidence of a serious testing process, not a guarantee of future outcomes. Detailed metric tables, private diagnostics, and exact runner details are kept out of the public page unless reviewed and approved.
Why KFT can differ from other tools
Different FPL projection sites disagree because they make different calls on minutes, injuries, team strength, fixture difficulty, clean sheets, bonus, player form, market information, and update timing. KFT should be read as one transparent projection view. It is not a claim that one model is always right or that KFT should replace team news, match watching, or your own strategy.
Update cadence
Official FPL data should be refreshed every model run and after important status, fixture, or event changes. Fixtures should be checked whenever blanks, doubles, postponements, or kickoff changes appear. Understat enrichment should be refreshed after matches when it matters to the projection. Market or team projection inputs, if used, need close-to-deadline care. Manual minutes should be reviewed every gameweek, after press conferences, after European or cup matches, after injury news, and again close to deadline where possible.
Limitations
Football is noisy. A good projection can miss because of red cards, injuries, substitutions, tactical changes, penalties, VAR decisions, finishing variance, goalkeeper performance, weather, fixture congestion, or ordinary match randomness. The model cannot know future lineups with certainty. It can estimate minutes, but late team news can invalidate a strong-looking projection very quickly.
Data can also be stale or incomplete. Official FPL flags and news fields are useful but imperfect. Understat matching can fail for transfers, accents, abbreviations, or new players. Team projection sheets, market data, and manual CSVs can become stale. New signings and role changes are especially difficult because the model may have little history for the player in the current team. Approximate bonus and defensive contribution modelling should be treated with extra caution. Use KFT as one input alongside team structure, chips, risk tolerance, deadline news, and your own judgement.