{
  "season": "2025-26",
  "gw": 6,
  "title": "Gameweek 6 reconstructive replay",
  "deadline": "2025-09-27T10:00:00Z",
  "status": "completed",
  "datasetKind": "historical-replay",
  "provenance": {
    "modelVersion": "live_faithful_option_value",
    "frozenAt": "2025-09-27T10:00:00Z",
    "snapshotHash": "sha256:4e3bbb78618bc7b1fa3089fe476f4723b3e74f7c17c360d94e2963cc8a8c8931",
    "datasetId": "fpl-lab-2025-26-gw6-replay",
    "solverEngine": "FPL lab reconstructive replay",
    "executionTimestamp": "2025-09-27T10:00: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": [
      "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.",
      "Prices are not exact pre-deadline quotes.",
      "Raw community xP tables were not used as the pre-deadline forecast."
    ]
  },
  "validatedPlan": {
    "armId": "optimiser",
    "armName": "Optimiser (forecast)",
    "formation": "3-5-2",
    "bank": 1.8,
    "hitCost": 0,
    "freeTransfersAvailable": 3,
    "chipUsed": "none",
    "captain": {
      "id": "player:2025-26:381",
      "webName": "M.Salah",
      "fullName": "Mohamed Salah",
      "team": "LIV",
      "position": "MID",
      "cost": 14,
      "projectedMinutes": 88.5,
      "expectedPoints": 8.38,
      "realisedPoints": 2,
      "opponent": "CRY (A)",
      "isHome": false,
      "fixtureDifficulty": 3,
      "selectedByPercent": 15.2,
      "isCaptain": true,
      "multiplier": 2
    },
    "viceCaptain": {
      "id": "player:2025-26:249",
      "webName": "João Pedro",
      "fullName": "João Pedro Junqueira de Jesus",
      "team": "CHE",
      "position": "FWD",
      "cost": 7.4,
      "projectedMinutes": 79.2,
      "expectedPoints": 5.84,
      "realisedPoints": 2,
      "opponent": "BHA (H)",
      "isHome": true,
      "fixtureDifficulty": 3,
      "selectedByPercent": 34.8,
      "isViceCaptain": true
    },
    "startingXI": [
      {
        "id": "player:2025-26:220",
        "webName": "Sánchez",
        "fullName": "Robert Lynch Sánchez",
        "team": "CHE",
        "position": "GKP",
        "cost": 4.8,
        "projectedMinutes": 72.2,
        "expectedPoints": 3.3,
        "realisedPoints": 1,
        "opponent": "BHA (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 10.3
      },
      {
        "id": "player:2025-26:291",
        "webName": "Tarkowski",
        "fullName": "James Tarkowski",
        "team": "EVE",
        "position": "DEF",
        "cost": 5.8,
        "projectedMinutes": 86.7,
        "expectedPoints": 4.07,
        "realisedPoints": 1,
        "opponent": "WHU (H)",
        "isHome": true,
        "fixtureDifficulty": 2,
        "selectedByPercent": 12.6
      },
      {
        "id": "player:2025-26:568",
        "webName": "Pedro Porro",
        "fullName": "Pedro Porro Sauceda",
        "team": "TOT",
        "position": "DEF",
        "cost": 5.2,
        "projectedMinutes": 81.8,
        "expectedPoints": 3.68,
        "realisedPoints": 1,
        "opponent": "WOL (H)",
        "isHome": true,
        "fixtureDifficulty": 1,
        "selectedByPercent": 11.7
      },
      {
        "id": "player:2025-26:72",
        "webName": "Senesi",
        "fullName": "Marcos Senesi Barón",
        "team": "BOU",
        "position": "DEF",
        "cost": 5.2,
        "projectedMinutes": 79.2,
        "expectedPoints": 3.42,
        "realisedPoints": 7,
        "opponent": "LEE (A)",
        "isHome": false,
        "fixtureDifficulty": 3,
        "selectedByPercent": 22
      },
      {
        "id": "player:2025-26:381",
        "webName": "M.Salah",
        "fullName": "Mohamed Salah",
        "team": "LIV",
        "position": "MID",
        "cost": 14,
        "projectedMinutes": 88.5,
        "expectedPoints": 8.38,
        "realisedPoints": 2,
        "opponent": "CRY (A)",
        "isHome": false,
        "fixtureDifficulty": 3,
        "selectedByPercent": 15.2,
        "isCaptain": true,
        "multiplier": 2
      },
      {
        "id": "player:2025-26:384",
        "webName": "Gakpo",
        "fullName": "Cody Gakpo",
        "team": "LIV",
        "position": "MID",
        "cost": 7.3,
        "projectedMinutes": 77.3,
        "expectedPoints": 5.08,
        "realisedPoints": 1,
        "opponent": "CRY (A)",
        "isHome": false,
        "fixtureDifficulty": 3,
        "selectedByPercent": 5.6
      },
      {
        "id": "player:2025-26:427",
        "webName": "Reijnders",
        "fullName": "Tijjani Reijnders",
        "team": "MCI",
        "position": "MID",
        "cost": 5,
        "projectedMinutes": 78.9,
        "expectedPoints": 4.72,
        "realisedPoints": 2,
        "opponent": "BUR (H)",
        "isHome": true,
        "fixtureDifficulty": 1,
        "selectedByPercent": 8.9
      },
      {
        "id": "player:2025-26:449",
        "webName": "B.Fernandes",
        "fullName": "Bruno Borges Fernandes",
        "team": "MUN",
        "position": "MID",
        "cost": 10.4,
        "projectedMinutes": 85.1,
        "expectedPoints": 4.65,
        "realisedPoints": -1,
        "opponent": "BRE (A)",
        "isHome": false,
        "fixtureDifficulty": 3,
        "selectedByPercent": 48
      },
      {
        "id": "player:2025-26:387",
        "webName": "Szoboszlai",
        "fullName": "Dominik Szoboszlai",
        "team": "LIV",
        "position": "MID",
        "cost": 7.1,
        "projectedMinutes": 81.5,
        "expectedPoints": 4.63,
        "realisedPoints": 5,
        "opponent": "CRY (A)",
        "isHome": false,
        "fixtureDifficulty": 3,
        "selectedByPercent": 15.1
      },
      {
        "id": "player:2025-26:249",
        "webName": "João Pedro",
        "fullName": "João Pedro Junqueira de Jesus",
        "team": "CHE",
        "position": "FWD",
        "cost": 7.4,
        "projectedMinutes": 79.2,
        "expectedPoints": 5.84,
        "realisedPoints": 2,
        "opponent": "BHA (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 34.8,
        "isViceCaptain": true
      },
      {
        "id": "player:2025-26:64",
        "webName": "Watkins",
        "fullName": "Ollie Watkins",
        "team": "AVL",
        "position": "FWD",
        "cost": 8.7,
        "projectedMinutes": 80.6,
        "expectedPoints": 4.97,
        "realisedPoints": 8,
        "opponent": "FUL (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 13
      }
    ],
    "bench": [
      {
        "id": "player:2025-26:470",
        "webName": "Dúbravka",
        "fullName": "Martin Dúbravka",
        "team": "BUR",
        "position": "GKP",
        "cost": 4,
        "projectedMinutes": 81.4,
        "expectedPoints": 2.56,
        "realisedPoints": 1,
        "opponent": "MCI (A)",
        "isHome": false,
        "fixtureDifficulty": 5,
        "selectedByPercent": 25.7,
        "benchOrder": 1
      },
      {
        "id": "player:2025-26:348",
        "webName": "Rodon",
        "fullName": "Joe Rodon",
        "team": "LEE",
        "position": "DEF",
        "cost": 3.9,
        "projectedMinutes": 80.2,
        "expectedPoints": 2.89,
        "realisedPoints": 7,
        "opponent": "BOU (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 3,
        "benchOrder": 2
      },
      {
        "id": "player:2025-26:506",
        "webName": "Murillo",
        "fullName": "Murillo Costa dos Santos",
        "team": "NFO",
        "position": "DEF",
        "cost": 5.2,
        "projectedMinutes": 57.9,
        "expectedPoints": 2.33,
        "realisedPoints": 0,
        "opponent": "SUN (H)",
        "isHome": true,
        "fixtureDifficulty": 2,
        "selectedByPercent": 1.8,
        "benchOrder": 3
      },
      {
        "id": "player:2025-26:252",
        "webName": "Marc Guiu",
        "fullName": "Marc Guiu Paz",
        "team": "CHE",
        "position": "FWD",
        "cost": 4,
        "projectedMinutes": 5.8,
        "expectedPoints": 0.37,
        "realisedPoints": 0,
        "opponent": "BHA (H)",
        "isHome": true,
        "fixtureDifficulty": 3,
        "selectedByPercent": 5.2,
        "benchOrder": 4
      }
    ],
    "transfersIn": [],
    "transfersOut": [],
    "transferActions": [],
    "projectedSquadTotalXP": 66.5,
    "realisedSquadTotalPoints": 31
  },
  "arms": [
    {
      "id": "baseline",
      "name": "Template (roll transfers)",
      "shortLabel": "Template",
      "category": "Heuristic",
      "description": "No transfers",
      "objectiveEP": 65.1,
      "realisedPoints": 35,
      "varianceScore": 0,
      "transfersCount": 0,
      "hits": 0,
      "captain": "M.Salah",
      "viceCaptain": "João Pedro",
      "chip": "none",
      "formation": "4-4-2",
      "decisionDeltaVsBaseline": 0,
      "realisedRankEffect": "35 pts net",
      "solverRuntimeMs": 0
    },
    {
      "id": "optimiser",
      "name": "Optimiser (forecast)",
      "shortLabel": "Optimiser",
      "category": "Mixed-Integer Linear (ILP)",
      "description": "No transfers",
      "objectiveEP": 66.5,
      "realisedPoints": 31,
      "varianceScore": 0,
      "transfersCount": 0,
      "hits": 0,
      "captain": "M.Salah",
      "viceCaptain": "João Pedro",
      "chip": "none",
      "formation": "3-5-2",
      "decisionDeltaVsBaseline": -4,
      "realisedRankEffect": "31 pts net",
      "solverRuntimeMs": 0
    },
    {
      "id": "agent",
      "name": "Evidence-informed",
      "shortLabel": "Evidence",
      "category": "Multi-Objective Agent",
      "description": "No transfers",
      "objectiveEP": 66.5,
      "realisedPoints": 31,
      "varianceScore": 0,
      "transfersCount": 0,
      "hits": 0,
      "captain": "M.Salah",
      "viceCaptain": "João Pedro",
      "chip": "none",
      "formation": "3-5-2",
      "decisionDeltaVsBaseline": -4,
      "realisedRankEffect": "31 pts net",
      "solverRuntimeMs": 0
    }
  ],
  "summaryAnalysis": {
    "executiveSummary": "Reconstructive replay for 2025/26 Gameweek 6. The optimiser captained M.Salah (vice João Pedro), formation 3-5-2, and made no transfers. It scored 31 net points after hits. Pre-cutoff objective was 66.5 expected points.",
    "keyTradeoffs": [
      "The optimiser held the squad this week.",
      "Evidence-informed finished +0 points versus the optimiser this week.",
      "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."
    ],
    "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."
  }
}