🌐Live demo: https://fpl-edge-gquejsdwtruprkkcah8mtf.streamlit.app/

💻 GitHub: https://github.com/1Prasanna2/fpl-edge

What it does:

FPL Edge turns Fantasy Premier League data into exactly four weekly actions — Best Overall, Captain, Best Value, Hidden Gem — each with a 0–100 Edge Score, a fixture-adjusted projection, and a plain-language reason, plus sliding player dossiers, a Transfer Target Finder, a Player Explorer, and a full Model Backtest page. With a Pre-Season predictions provided representing Best Overall, Captain, Best Value, Hidden Gem for the 2026-27 season. For further updates and changes due in future.

How we built it:

Four-stage Python pipeline: fetch (official FPL API) → build (features) → recommend (Edge Scores) → evaluate (held-out backtest)

  1. Projections: 2024-25 points-per-90 priors dampened by √(minutes share), multiplied by availability and fixture adjustment — works even pre-season
  2. Edge Scores: percentile composites of projection, value, ownership, ceiling; a unique-pick engine guarantees four different players
  3. ML: RandomForest on lagged rolling features (no lookahead), trained GW1–30, evaluated GW31–38; xP excluded per the archive's lookahead-bias warning Frontend: theme-agnostic Streamlit design system with a pure-CSS sliding dossier carousel

Data: official FPL API + vaastav/Fantasy-Premier-League 2024-25 archive

Challenges we ran into:

Lookahead bias in public xP data (excluded and documented); pre-season cold-start (solved with Bayesian-style priors); keeping the entire design system theme-agnostic in pure CSS.

Accomplishments we're proud of:

An honest backtest — the model matches/beats a rolling-average baseline on MAE while adding ranking value, with a 58% top-10 captain hit-rate vs ~1.7% random chance; a decision-first UX instead of stat tables; a one-command reproducible pipeline and a deployed public product.

What's next:

Live weekly refresh, blending in-season form into priors, and porting the engine to other fantasy sports.

Try it :

Open the live demo (no setup needed). Locally: clone → pip install -r requirements.txt → run.bat. Start on Home (hero cards + dossiers), then the Backtest page for the honest model evaluation.

Built With

Share this project:

Updates

Submission history