{
  "metadata": {
    "season": "2026",
    "generated_at": "2026-10-07T23:39:22Z",
    "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": [
      "St Kitts and Nevis Patriots v Antigua and Barbuda Falcons (2026-08-30): Abandoned without a ball bowled (rain)"
    ]
  },
  "league": {
    "id": "cpl-2026",
    "sport": "cricket",
    "priority": 10,
    "name": "Caribbean Premier League",
    "shortName": "CPL",
    "season": "2026",
    "seasonLabel": "2026",
    "matchesPerTeam": 10,
    "qualification": [
      {
        "size": 4,
        "label": "Top 4"
      },
      {
        "size": 2,
        "label": "Top 2"
      }
    ],
    "secondChanceStages": [
      "Qualifier 1"
    ],
    "points": {
      "win": 2,
      "noResult": 1,
      "tie": 1,
      "bonus": false
    },
    "teams": [
      {
        "key": "GAW",
        "shortName": "GAW",
        "fullName": "Guyana Amazon Warriors",
        "color": "#00843D",
        "textColor": "#FFFFFF"
      },
      {
        "key": "ABF",
        "shortName": "ABF",
        "fullName": "Antigua and Barbuda Falcons",
        "color": "#E4002B",
        "textColor": "#FFFFFF"
      },
      {
        "key": "BT",
        "shortName": "BT",
        "fullName": "Barbados Tridents",
        "color": "#1F4FA3",
        "textColor": "#FFFFFF"
      },
      {
        "key": "JAK",
        "shortName": "JAK",
        "fullName": "Jamaica Kingsmen",
        "color": "#6B21A8",
        "textColor": "#FFFFFF"
      },
      {
        "key": "SLK",
        "shortName": "SLK",
        "fullName": "St Lucia Kings",
        "color": "#FFB81C",
        "textColor": "#000000"
      },
      {
        "key": "SKNP",
        "shortName": "SKNP",
        "fullName": "St Kitts and Nevis Patriots",
        "color": "#B91C1C",
        "textColor": "#FFFFFF"
      },
      {
        "key": "TKR",
        "shortName": "TKR",
        "fullName": "Trinbago Knight Riders",
        "color": "#3A225D",
        "textColor": "#FFFFFF"
      }
    ]
  },
  "standings": [
    {
      "teamKey": "GAW",
      "shortName": "GAW",
      "fullName": "Guyana Amazon Warriors",
      "matches": 10,
      "wins": 8,
      "losses": 2,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 16,
      "nrr": 0.615,
      "rank": 1,
      "remainingMatches": 0
    },
    {
      "teamKey": "ABF",
      "shortName": "ABF",
      "fullName": "Antigua and Barbuda Falcons",
      "matches": 10,
      "wins": 6,
      "losses": 3,
      "noResult": 1,
      "ties": 0,
      "bonusPoints": 0,
      "points": 13,
      "nrr": 0.174,
      "rank": 2,
      "remainingMatches": 0
    },
    {
      "teamKey": "BT",
      "shortName": "BT",
      "fullName": "Barbados Tridents",
      "matches": 10,
      "wins": 6,
      "losses": 4,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 12,
      "nrr": -0.125,
      "rank": 3,
      "remainingMatches": 0
    },
    {
      "teamKey": "JAK",
      "shortName": "JAK",
      "fullName": "Jamaica Kingsmen",
      "matches": 10,
      "wins": 4,
      "losses": 6,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 8,
      "nrr": -0.085,
      "rank": 4,
      "remainingMatches": 0
    },
    {
      "teamKey": "SLK",
      "shortName": "SLK",
      "fullName": "St Lucia Kings",
      "matches": 10,
      "wins": 4,
      "losses": 6,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 8,
      "nrr": -0.887,
      "rank": 5,
      "remainingMatches": 0
    },
    {
      "teamKey": "SKNP",
      "shortName": "SKNP",
      "fullName": "St Kitts and Nevis Patriots",
      "matches": 10,
      "wins": 3,
      "losses": 6,
      "noResult": 1,
      "ties": 0,
      "bonusPoints": 0,
      "points": 7,
      "nrr": 0.252,
      "rank": 6,
      "remainingMatches": 0
    },
    {
      "teamKey": "TKR",
      "shortName": "TKR",
      "fullName": "Trinbago Knight Riders",
      "matches": 10,
      "wins": 3,
      "losses": 7,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 6,
      "nrr": -0.01,
      "rank": 7,
      "remainingMatches": 0
    }
  ],
  "fixtures": [],
  "playoffs": {
    "matches": [
      {
        "id": "1534214",
        "stage": "Eliminator",
        "date": "2026-09-16",
        "teamA": "BT",
        "teamB": "JAK",
        "winner": "JAK",
        "result": "JAK won by 9 wickets",
        "venue": "Kensington Oval, Bridgetown, Barbados"
      },
      {
        "id": "1534215",
        "stage": "Qualifier 1",
        "date": "2026-09-17",
        "teamA": "GAW",
        "teamB": "ABF",
        "winner": "ABF",
        "result": "ABF won by 9 wickets",
        "venue": "Kensington Oval"
      },
      {
        "id": "1534216",
        "stage": "Qualifier 2",
        "date": "2026-09-18",
        "teamA": "GAW",
        "teamB": "JAK",
        "winner": "JAK",
        "result": "JAK won by 5 wickets",
        "venue": "Kensington Oval"
      },
      {
        "id": "1534217",
        "stage": "Final",
        "date": "2026-09-20",
        "teamA": "JAK",
        "teamB": "ABF",
        "winner": "ABF",
        "result": "ABF won by 8 wickets",
        "venue": "Kensington Oval"
      }
    ],
    "champion": "ABF",
    "runnerUp": "JAK"
  },
  "analysis": {
    "method": "Final standings",
    "simulationCount": 1,
    "generatedAt": "2026-10-07T23:39:22Z",
    "stateCount": 1,
    "modelNotes": [
      "The league stage is complete, so qualification is decided by the final table: points, then net run rate."
    ],
    "overallProbabilities": {
      "GAW": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 100.0,
        "top2Clear": 100.0,
        "top2Possible": 100.0
      },
      "ABF": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 100.0,
        "top2Clear": 100.0,
        "top2Possible": 100.0
      },
      "BT": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "JAK": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "SLK": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "SKNP": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "TKR": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      }
    },
    "teamAnalysis": {
      "4": {
        "GAW": {
          "percentage": 100.0,
          "results_df": {}
        },
        "ABF": {
          "percentage": 100.0,
          "results_df": {}
        },
        "BT": {
          "percentage": 100.0,
          "results_df": {}
        },
        "JAK": {
          "percentage": 100.0,
          "results_df": {}
        },
        "SLK": {
          "percentage": 0.0,
          "results_df": {}
        },
        "SKNP": {
          "percentage": 0.0,
          "results_df": {}
        },
        "TKR": {
          "percentage": 0.0,
          "results_df": {}
        }
      },
      "2": {
        "GAW": {
          "percentage": 100.0,
          "results_df": {}
        },
        "ABF": {
          "percentage": 100.0,
          "results_df": {}
        },
        "BT": {
          "percentage": 0.0,
          "results_df": {}
        },
        "JAK": {
          "percentage": 0.0,
          "results_df": {}
        },
        "SLK": {
          "percentage": 0.0,
          "results_df": {}
        },
        "SKNP": {
          "percentage": 0.0,
          "results_df": {}
        },
        "TKR": {
          "percentage": 0.0,
          "results_df": {}
        }
      }
    },
    "qualificationPath": {
      "4": {
        "GAW": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "ABF": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "BT": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "JAK": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "SLK": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "SKNP": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "TKR": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        }
      },
      "2": {
        "GAW": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "ABF": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "BT": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "JAK": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "SLK": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "SKNP": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "TKR": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        }
      }
    },
    "scenarioBreakdown": {
      "4": {
        "GAW": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "ABF": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "BT": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "JAK": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "SLK": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "SKNP": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "TKR": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        }
      },
      "2": {
        "GAW": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "ABF": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "BT": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "JAK": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "SLK": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "SKNP": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "TKR": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        }
      }
    }
  }
}
