{
  "season": "2025-26",
  "gw": 1,
  "title": "Gameweek 1 reconstructive replay",
  "deadline": "2025-08-15T17:30:00Z",
  "status": "completed",
  "datasetKind": "historical-replay",
  "provenance": {
    "modelVersion": "controlled_official_scout_seed",
    "frozenAt": "2025-08-15T17:30:00Z",
    "snapshotHash": "sha256:5bdbb4bfbbad3ea2fd21ece27e41c44d620250b5e8c55f8fec716733f3fa39ab",
    "datasetId": "fpl-lab-2025-26-gw1-replay",
    "solverEngine": "FPL lab reconstructive replay",
    "executionTimestamp": "2025-08-15T17:30:00Z",
    "solverParameters": {
      "horizonWeeks": 5,
      "decayRate": 0.85,
      "hitPenalty": 4,
      "riskAversion": 0.15,
      "freeTransferConservationWeight": 0.8,
      "maxPlayersPerClub": 3,
      "teamBudgetCap": 100
    },
    "isDemoSample": false,
    "datasetKind": "historical-replay",
    "limitations": [
      "GW1 has no prior gameweek of locked form.",
      "GW1 used the official Scout seed; there was no historical forecast lock.",
      "Fixtures come from the final season export, so mid-season revisions are not in this snapshot.",
      "The cutoff is reconstructed as first kickoff minus 90 minutes, not the live FPL deadline clock.",
      "No private manager state (exact bank, selling prices, chip timing) was archived at the time.",
      "Press and injury notes were not locked before the deadline."
    ]
  },
  "validatedPlan": {
    "armId": "optimiser",
    "armName": "Optimiser (forecast)",
    "formation": "3-5-2",
    "bank": 0,
    "hitCost": 0,
    "freeTransfersAvailable": 0,
    "chipUsed": "none",
    "captain": {
      "id": "player:2025-26:235",
      "webName": "Palmer",
      "fullName": "Cole Palmer",
      "team": "CHE",
      "position": "MID",
      "cost": 10.3,
      "projectedMinutes": 0,
      "expectedPoints": 0,
      "realisedPoints": 3,
      "opponent": "CRY (H)",
      "isHome": true,
      "fixtureDifficulty": 3,
      "selectedByPercent": 12.6,
      "isCaptain": true,
      "multiplier": 2
    },
    "viceCaptain": {
      "id": "player:2025-26:381",
      "webName": "M.Salah",
      "fullName": "Mohamed Salah",
      "team": "LIV",
      "position": "MID",
      "cost": 14,
      "projectedMinutes": 0,
      "expectedPoints": 0,
      "realisedPoints": 8,
      "opponent": "BOU (H)",
      "isHome": true,
      "fixtureDifficulty": 3,
      "selectedByPercent": 15.2,
      "isViceCaptain": true
    },
    "startingXI": [
      {
        "id": "player:2025-26:220",
        "webName": "Sánchez",
        "fullName": "Robert Lynch Sánchez",
        "team": "CHE",
        "position": "GKP",
        "cost": 4.8,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 8,
        "opponent": "CRY (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 10.3
      },
      {
        "id": "player:2025-26:506",
        "webName": "Murillo",
        "fullName": "Murillo Costa dos Santos",
        "team": "NFO",
        "position": "DEF",
        "cost": 5.2,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 2,
        "opponent": "BRE (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 1.8
      },
      {
        "id": "player:2025-26:568",
        "webName": "Pedro Porro",
        "fullName": "Pedro Porro Sauceda",
        "team": "TOT",
        "position": "DEF",
        "cost": 5.2,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 6,
        "opponent": "BUR (H)",
        "isHome": true,
        "fixtureDifficulty": 1,
        "selectedByPercent": 11.7
      },
      {
        "id": "player:2025-26:291",
        "webName": "Tarkowski",
        "fullName": "James Tarkowski",
        "team": "EVE",
        "position": "DEF",
        "cost": 5.8,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 4,
        "opponent": "LEE (A)",
        "isHome": false,
        "fixtureDifficulty": 3,
        "selectedByPercent": 12.6
      },
      {
        "id": "player:2025-26:381",
        "webName": "M.Salah",
        "fullName": "Mohamed Salah",
        "team": "LIV",
        "position": "MID",
        "cost": 14,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 8,
        "opponent": "BOU (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 15.2,
        "isViceCaptain": true
      },
      {
        "id": "player:2025-26:235",
        "webName": "Palmer",
        "fullName": "Cole Palmer",
        "team": "CHE",
        "position": "MID",
        "cost": 10.3,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 3,
        "opponent": "CRY (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 12.6,
        "isCaptain": true,
        "multiplier": 2
      },
      {
        "id": "player:2025-26:449",
        "webName": "B.Fernandes",
        "fullName": "Bruno Borges Fernandes",
        "team": "MUN",
        "position": "MID",
        "cost": 10.4,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 2,
        "opponent": "ARS (H)",
        "isHome": true,
        "fixtureDifficulty": 4,
        "selectedByPercent": 48
      },
      {
        "id": "player:2025-26:517",
        "webName": "Anderson",
        "fullName": "Elliot Anderson",
        "team": "NFO",
        "position": "MID",
        "cost": 5.7,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 6,
        "opponent": "BRE (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 9.4
      },
      {
        "id": "player:2025-26:427",
        "webName": "Reijnders",
        "fullName": "Tijjani Reijnders",
        "team": "MCI",
        "position": "MID",
        "cost": 5,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 10,
        "opponent": "WOL (A)",
        "isHome": false,
        "fixtureDifficulty": 2,
        "selectedByPercent": 8.9
      },
      {
        "id": "player:2025-26:64",
        "webName": "Watkins",
        "fullName": "Ollie Watkins",
        "team": "AVL",
        "position": "FWD",
        "cost": 8.7,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 2,
        "opponent": "NEW (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 13
      },
      {
        "id": "player:2025-26:249",
        "webName": "João Pedro",
        "fullName": "João Pedro Junqueira de Jesus",
        "team": "CHE",
        "position": "FWD",
        "cost": 7.4,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 2,
        "opponent": "CRY (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 34.8
      }
    ],
    "bench": [
      {
        "id": "player:2025-26:470",
        "webName": "Dúbravka",
        "fullName": "Martin Dúbravka",
        "team": "BUR",
        "position": "GKP",
        "cost": 4,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 2,
        "opponent": "TOT (A)",
        "isHome": false,
        "fixtureDifficulty": 3,
        "selectedByPercent": 25.7,
        "benchOrder": 1
      },
      {
        "id": "player:2025-26:252",
        "webName": "Marc Guiu",
        "fullName": "Marc Guiu Paz",
        "team": "SUN",
        "position": "FWD",
        "cost": 4,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 0,
        "opponent": "WHU (H)",
        "isHome": true,
        "fixtureDifficulty": 2,
        "selectedByPercent": 5.2,
        "benchOrder": 2
      },
      {
        "id": "player:2025-26:348",
        "webName": "Rodon",
        "fullName": "Joe Rodon",
        "team": "LEE",
        "position": "DEF",
        "cost": 3.9,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 7,
        "opponent": "EVE (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 3,
        "benchOrder": 3
      },
      {
        "id": "player:2025-26:72",
        "webName": "Senesi",
        "fullName": "Marcos Senesi Barón",
        "team": "BOU",
        "position": "DEF",
        "cost": 5.2,
        "projectedMinutes": 0,
        "expectedPoints": 0,
        "realisedPoints": 2,
        "opponent": "LIV (A)",
        "isHome": false,
        "fixtureDifficulty": 4,
        "selectedByPercent": 22,
        "benchOrder": 4
      }
    ],
    "transfersIn": [],
    "transfersOut": [],
    "transferActions": [],
    "projectedSquadTotalXP": 0,
    "realisedSquadTotalPoints": 56
  },
  "arms": [
    {
      "id": "baseline",
      "name": "Template (roll transfers)",
      "shortLabel": "Template",
      "category": "Heuristic",
      "description": "No transfers",
      "objectiveEP": 0,
      "realisedPoints": 56,
      "varianceScore": 0,
      "transfersCount": 0,
      "hits": 0,
      "captain": "Palmer",
      "viceCaptain": "M.Salah",
      "chip": "none",
      "formation": "3-5-2",
      "decisionDeltaVsBaseline": 0,
      "realisedRankEffect": "56 pts net",
      "solverRuntimeMs": 0
    },
    {
      "id": "optimiser",
      "name": "Optimiser (forecast)",
      "shortLabel": "Optimiser",
      "category": "Mixed-Integer Linear (ILP)",
      "description": "No transfers",
      "objectiveEP": 0,
      "realisedPoints": 56,
      "varianceScore": 0,
      "transfersCount": 0,
      "hits": 0,
      "captain": "Palmer",
      "viceCaptain": "M.Salah",
      "chip": "none",
      "formation": "3-5-2",
      "decisionDeltaVsBaseline": 0,
      "realisedRankEffect": "56 pts net",
      "solverRuntimeMs": 0
    },
    {
      "id": "agent",
      "name": "Evidence-informed",
      "shortLabel": "Evidence",
      "category": "Multi-Objective Agent",
      "description": "No transfers",
      "objectiveEP": 0,
      "realisedPoints": 56,
      "varianceScore": 0,
      "transfersCount": 0,
      "hits": 0,
      "captain": "Palmer",
      "viceCaptain": "M.Salah",
      "chip": "none",
      "formation": "3-5-2",
      "decisionDeltaVsBaseline": 0,
      "realisedRankEffect": "56 pts net",
      "solverRuntimeMs": 0
    }
  ],
  "summaryAnalysis": {
    "executiveSummary": "Reconstructive replay for 2025/26 Gameweek 1. The optimiser captained Palmer (vice M.Salah), formation 3-5-2, and made no transfers. It scored 56 net points after hits. No locked expected-points objective was available for this week.",
    "keyTradeoffs": [
      "The optimiser held the squad this week.",
      "Evidence-informed finished +0 points versus the optimiser this week.",
      "GW1 has no prior gameweek of locked form.",
      "GW1 used the official Scout seed; there was no historical forecast lock.",
      "Fixtures come from the final season export, so mid-season revisions are not in this snapshot."
    ],
    "shadowPrices": {
      "budgetPerMillionXP": 0,
      "transferMarginalValueXP": 0,
      "benchPointsExpectancy": 0
    },
    "divergenceNotes": "This is a reconstructive historical replay, not a live two-hour freeze. Inputs were rebuilt after the season; see Methods and the limitations on this page."
  }
}