{
  "metadata": {
    "season": "2026",
    "generated_at": "2026-10-02T02:37:32Z",
    "source": "Cricsheet",
    "source_url": "https://cricsheet.org/",
    "source_license": "ODC-By 1.0",
    "source_license_url": "https://opendatacommons.org/licenses/by/1-0/",
    "data_freshness_status": "fresh",
    "season_status": "complete",
    "warnings": [],
    "notes": [
      "Islamabad United v Peshawar Zalmi (2026-03-31): Abandoned without a ball bowled (rain)"
    ]
  },
  "league": {
    "id": "psl-2026",
    "name": "Pakistan Super League",
    "shortName": "PSL",
    "season": "2026",
    "seasonLabel": "2026",
    "matchesPerTeam": 10,
    "qualification": [
      {
        "size": 4,
        "label": "Top 4"
      },
      {
        "size": 2,
        "label": "Top 2"
      }
    ],
    "secondChanceStages": [
      "Qualifier"
    ],
    "teams": [
      {
        "key": "PZ",
        "shortName": "PZ",
        "fullName": "Peshawar Zalmi",
        "color": "#FFC20E",
        "textColor": "#000000"
      },
      {
        "key": "IU",
        "shortName": "IU",
        "fullName": "Islamabad United",
        "color": "#E4002B",
        "textColor": "#FFFFFF"
      },
      {
        "key": "MS",
        "shortName": "MS",
        "fullName": "Multan Sultans",
        "color": "#1B998B",
        "textColor": "#FFFFFF"
      },
      {
        "key": "HK",
        "shortName": "HK",
        "fullName": "Hyderabad Kingsmen",
        "color": "#1E3A8A",
        "textColor": "#FFFFFF"
      },
      {
        "key": "LQ",
        "shortName": "LQ",
        "fullName": "Lahore Qalandars",
        "color": "#2E9E44",
        "textColor": "#FFFFFF"
      },
      {
        "key": "KK",
        "shortName": "KK",
        "fullName": "Karachi Kings",
        "color": "#1F4FA3",
        "textColor": "#FFFFFF"
      },
      {
        "key": "QG",
        "shortName": "QG",
        "fullName": "Quetta Gladiators",
        "color": "#5C2D91",
        "textColor": "#FFFFFF"
      },
      {
        "key": "RPZ",
        "shortName": "RPZ",
        "fullName": "Rawalpindiz",
        "color": "#B45309",
        "textColor": "#FFFFFF"
      }
    ]
  },
  "standings": [
    {
      "teamKey": "PZ",
      "shortName": "PZ",
      "fullName": "Peshawar Zalmi",
      "matches": 10,
      "wins": 8,
      "losses": 1,
      "noResult": 1,
      "points": 17,
      "nrr": 2.324,
      "rank": 1,
      "remainingMatches": 0
    },
    {
      "teamKey": "IU",
      "shortName": "IU",
      "fullName": "Islamabad United",
      "matches": 10,
      "wins": 6,
      "losses": 3,
      "noResult": 1,
      "points": 13,
      "nrr": 1.667,
      "rank": 2,
      "remainingMatches": 0
    },
    {
      "teamKey": "MS",
      "shortName": "MS",
      "fullName": "Multan Sultans",
      "matches": 10,
      "wins": 6,
      "losses": 4,
      "noResult": 0,
      "points": 12,
      "nrr": 0.326,
      "rank": 3,
      "remainingMatches": 0
    },
    {
      "teamKey": "HK",
      "shortName": "HK",
      "fullName": "Hyderabad Kingsmen",
      "matches": 10,
      "wins": 5,
      "losses": 5,
      "noResult": 0,
      "points": 10,
      "nrr": -0.361,
      "rank": 4,
      "remainingMatches": 0
    },
    {
      "teamKey": "LQ",
      "shortName": "LQ",
      "fullName": "Lahore Qalandars",
      "matches": 10,
      "wins": 5,
      "losses": 5,
      "noResult": 0,
      "points": 10,
      "nrr": -0.482,
      "rank": 5,
      "remainingMatches": 0
    },
    {
      "teamKey": "KK",
      "shortName": "KK",
      "fullName": "Karachi Kings",
      "matches": 10,
      "wins": 5,
      "losses": 5,
      "noResult": 0,
      "points": 10,
      "nrr": -0.869,
      "rank": 6,
      "remainingMatches": 0
    },
    {
      "teamKey": "QG",
      "shortName": "QG",
      "fullName": "Quetta Gladiators",
      "matches": 10,
      "wins": 3,
      "losses": 7,
      "noResult": 0,
      "points": 6,
      "nrr": -0.41,
      "rank": 7,
      "remainingMatches": 0
    },
    {
      "teamKey": "RPZ",
      "shortName": "RPZ",
      "fullName": "Rawalpindiz",
      "matches": 10,
      "wins": 1,
      "losses": 9,
      "noResult": 0,
      "points": 2,
      "nrr": -1.76,
      "rank": 8,
      "remainingMatches": 0
    }
  ],
  "fixtures": [],
  "playoffs": {
    "matches": [
      {
        "id": "1527592",
        "stage": "Qualifier",
        "date": "2026-04-28",
        "teamA": "PZ",
        "teamB": "IU",
        "winner": "PZ",
        "result": "PZ won by 70 runs",
        "venue": "National Stadium, Karachi"
      },
      {
        "id": "1527593",
        "stage": "Eliminator 1",
        "date": "2026-04-29",
        "teamA": "MS",
        "teamB": "HK",
        "winner": "HK",
        "result": "HK won by 8 wickets",
        "venue": "Gaddafi Stadium, Lahore"
      },
      {
        "id": "1527594",
        "stage": "Eliminator 2",
        "date": "2026-05-01",
        "teamA": "HK",
        "teamB": "IU",
        "winner": "HK",
        "result": "HK won by 2 runs",
        "venue": "Gaddafi Stadium, Lahore"
      },
      {
        "id": "1527595",
        "stage": "Final",
        "date": "2026-05-03",
        "teamA": "HK",
        "teamB": "PZ",
        "winner": "PZ",
        "result": "PZ won by 5 wickets",
        "venue": "Gaddafi Stadium, Lahore"
      }
    ],
    "champion": "PZ",
    "runnerUp": "HK"
  },
  "analysis": {
    "method": "Final standings",
    "simulationCount": 1,
    "generatedAt": "2026-10-02T02:37:32Z",
    "stateCount": 1,
    "modelNotes": [
      "The league stage is complete, so qualification is decided by the final table: points, then net run rate."
    ],
    "overallProbabilities": {
      "PZ": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 100.0,
        "top2Clear": 100.0,
        "top2Possible": 100.0
      },
      "IU": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 100.0,
        "top2Clear": 100.0,
        "top2Possible": 100.0
      },
      "MS": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "HK": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "LQ": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "KK": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "QG": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "RPZ": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      }
    },
    "teamAnalysis": {
      "4": {
        "PZ": {
          "percentage": 100.0,
          "results_df": {}
        },
        "IU": {
          "percentage": 100.0,
          "results_df": {}
        },
        "MS": {
          "percentage": 100.0,
          "results_df": {}
        },
        "HK": {
          "percentage": 100.0,
          "results_df": {}
        },
        "LQ": {
          "percentage": 0.0,
          "results_df": {}
        },
        "KK": {
          "percentage": 0.0,
          "results_df": {}
        },
        "QG": {
          "percentage": 0.0,
          "results_df": {}
        },
        "RPZ": {
          "percentage": 0.0,
          "results_df": {}
        }
      },
      "2": {
        "PZ": {
          "percentage": 100.0,
          "results_df": {}
        },
        "IU": {
          "percentage": 100.0,
          "results_df": {}
        },
        "MS": {
          "percentage": 0.0,
          "results_df": {}
        },
        "HK": {
          "percentage": 0.0,
          "results_df": {}
        },
        "LQ": {
          "percentage": 0.0,
          "results_df": {}
        },
        "KK": {
          "percentage": 0.0,
          "results_df": {}
        },
        "QG": {
          "percentage": 0.0,
          "results_df": {}
        },
        "RPZ": {
          "percentage": 0.0,
          "results_df": {}
        }
      }
    },
    "qualificationPath": {
      "4": {
        "PZ": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "IU": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "MS": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "HK": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "LQ": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "KK": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "QG": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "RPZ": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        }
      },
      "2": {
        "PZ": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "IU": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "MS": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "HK": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "LQ": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "KK": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "QG": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "RPZ": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        }
      }
    },
    "scenarioBreakdown": {
      "4": {
        "PZ": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "IU": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "MS": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "HK": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "LQ": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "KK": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "QG": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "RPZ": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        }
      },
      "2": {
        "PZ": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "IU": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "MS": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "HK": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "LQ": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "KK": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "QG": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "RPZ": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        }
      }
    }
  }
}
