{
  "meta": {
    "license": "CC BY 4.0",
    "license_url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "evmax (https://evmax.ai)",
    "attribution_line": "Data: evmax (https://evmax.ai), CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/",
    "source": "https://evmax.ai/data/",
    "method": "Market odds (de-vigged) to Dixon-Coles scorelines to 50,000 Monte-Carlo simulations per gameweek, scored on the official Fantasy Premier League points table. Projections are frozen before the deadline and graded publicly afterwards.",
    "generated_at": "2026-08-26T13:10:37.393284+00:00",
    "has_distributions": false
  },
  "gameweeks": [
    {
      "gameweek": 2,
      "json": "/api/fpl/dataset/gw2.json",
      "csv": "/api/fpl/dataset/gw2.csv"
    }
  ],
  "all": {
    "json": "/api/fpl/dataset/all.json",
    "csv": "/api/fpl/dataset/all.csv"
  },
  "columns": {
    "gameweek": {
      "type": "integer",
      "description": "Premier League gameweek the projection is for."
    },
    "id": {
      "type": "integer",
      "description": "The official FPL element id — the stable join key against the FPL API. Empty if we could not match the player to the bootstrap feed."
    },
    "name": {
      "type": "string",
      "description": "Player name as our model carries it, disambiguated when two players share a surname."
    },
    "team": {
      "type": "string",
      "description": "Three-letter club code (ARS, MUN, ...)."
    },
    "position": {
      "type": "string",
      "description": "GK, DEF, MID or FWD."
    },
    "price": {
      "type": "float",
      "description": "FPL price in millions at the time of the build."
    },
    "ownership_pct": {
      "type": "float",
      "description": "Percent of FPL managers owning the player at build time."
    },
    "x_points": {
      "type": "float",
      "description": "Our projection: mean FPL points across 50,000 simulations of this gameweek. The headline number."
    },
    "captain_ev": {
      "type": "float",
      "description": "Expected points if captained (2 x x_points)."
    },
    "ceiling": {
      "type": "float",
      "description": "Tail mean — the average of the player's best 15% of simulations. The realistic good week, not a cap."
    },
    "value": {
      "type": "float",
      "description": "x_points per million of price."
    },
    "bonus": {
      "type": "float",
      "description": "Expected bonus points, per match."
    },
    "defcon": {
      "type": "float",
      "description": "Expected defensive-contribution points, per match."
    },
    "p_defcon": {
      "type": "float",
      "description": "Probability of hitting the defensive-contribution threshold, per match (defcon = 2 x p_defcon)."
    },
    "cs_points": {
      "type": "float",
      "description": "Expected clean-sheet points, per match."
    },
    "start_prob": {
      "type": "float",
      "description": "Probability the player starts, from the priors (research notes can override it)."
    },
    "kickoff": {
      "type": "string",
      "description": "ISO-8601 UTC kickoff of the player's fixture."
    },
    "verdict_tier": {
      "type": "string",
      "description": "S / A / B / C / D — the player's band this gameweek by projected points."
    },
    "verdict_call": {
      "type": "string",
      "description": "buy / hold / pass — the tier read as a call."
    },
    "p10": {
      "type": "float",
      "description": "10th-percentile outcome (the floor). Empty for gameweeks published before we stored distributions."
    },
    "median": {
      "type": "float",
      "description": "Median simulated points. Empty for gameweeks published before we stored distributions."
    },
    "mode": {
      "type": "float",
      "description": "Most likely single point total. Empty for gameweeks published before we stored distributions."
    },
    "p90": {
      "type": "float",
      "description": "90th-percentile outcome. Empty for gameweeks published before we stored distributions."
    },
    "p_haul": {
      "type": "float",
      "description": "Probability of 10 or more points. Empty for gameweeks published before we stored distributions."
    },
    "p_blank": {
      "type": "float",
      "description": "Probability of 2 or fewer points. Empty for gameweeks published before we stored distributions."
    }
  }
}