{
  "metadata": {
    "season": "2025-26",
    "generated_at": "2026-10-03T10:44:50Z",
    "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": []
  },
  "league": {
    "id": "bpl-2025-26",
    "name": "Bangladesh Premier League",
    "shortName": "BPL",
    "season": "2025/26",
    "seasonLabel": "2025-26",
    "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": "RJW",
        "shortName": "RJW",
        "fullName": "Rajshahi Warriors",
        "color": "#1E3A8A",
        "textColor": "#FFFFFF"
      },
      {
        "key": "CHR",
        "shortName": "CHR",
        "fullName": "Chattogram Royals",
        "color": "#B91C1C",
        "textColor": "#FFFFFF"
      },
      {
        "key": "RAN",
        "shortName": "RAN",
        "fullName": "Rangpur Riders",
        "color": "#F59E0B",
        "textColor": "#000000"
      },
      {
        "key": "SYT",
        "shortName": "SYT",
        "fullName": "Sylhet Titans",
        "color": "#0E7490",
        "textColor": "#FFFFFF"
      },
      {
        "key": "DHC",
        "shortName": "DHC",
        "fullName": "Dhaka Capitals",
        "color": "#047857",
        "textColor": "#FFFFFF"
      },
      {
        "key": "NOE",
        "shortName": "NOE",
        "fullName": "Noakhali Express",
        "color": "#7C3AED",
        "textColor": "#FFFFFF"
      }
    ]
  },
  "standings": [
    {
      "teamKey": "RJW",
      "shortName": "RJW",
      "fullName": "Rajshahi Warriors",
      "matches": 10,
      "wins": 8,
      "losses": 2,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 16,
      "nrr": 0.335,
      "rank": 1,
      "remainingMatches": 0
    },
    {
      "teamKey": "CHR",
      "shortName": "CHR",
      "fullName": "Chattogram Royals",
      "matches": 10,
      "wins": 6,
      "losses": 4,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 12,
      "nrr": 0.497,
      "rank": 2,
      "remainingMatches": 0
    },
    {
      "teamKey": "RAN",
      "shortName": "RAN",
      "fullName": "Rangpur Riders",
      "matches": 10,
      "wins": 6,
      "losses": 4,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 12,
      "nrr": 0.22,
      "rank": 3,
      "remainingMatches": 0
    },
    {
      "teamKey": "SYT",
      "shortName": "SYT",
      "fullName": "Sylhet Titans",
      "matches": 10,
      "wins": 5,
      "losses": 5,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 10,
      "nrr": 0.373,
      "rank": 4,
      "remainingMatches": 0
    },
    {
      "teamKey": "DHC",
      "shortName": "DHC",
      "fullName": "Dhaka Capitals",
      "matches": 10,
      "wins": 3,
      "losses": 7,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 6,
      "nrr": -0.381,
      "rank": 5,
      "remainingMatches": 0
    },
    {
      "teamKey": "NOE",
      "shortName": "NOE",
      "fullName": "Noakhali Express",
      "matches": 10,
      "wins": 2,
      "losses": 8,
      "noResult": 0,
      "ties": 0,
      "bonusPoints": 0,
      "points": 4,
      "nrr": -1.038,
      "rank": 6,
      "remainingMatches": 0
    }
  ],
  "fixtures": [],
  "playoffs": {
    "matches": [
      {
        "id": "1516567",
        "stage": "Eliminator",
        "date": "2026-01-20",
        "teamA": "RAN",
        "teamB": "SYT",
        "winner": "SYT",
        "result": "SYT won by 3 wickets",
        "venue": "Shere Bangla National Stadium, Mirpur"
      },
      {
        "id": "1516568",
        "stage": "Qualifier 1",
        "date": "2026-01-20",
        "teamA": "RJW",
        "teamB": "CHR",
        "winner": "CHR",
        "result": "CHR won by 6 wickets",
        "venue": "Shere Bangla National Stadium, Mirpur"
      },
      {
        "id": "1516569",
        "stage": "Qualifier 2",
        "date": "2026-01-21",
        "teamA": "RJW",
        "teamB": "SYT",
        "winner": "RJW",
        "result": "RJW won by 12 runs",
        "venue": "Shere Bangla National Stadium, Mirpur"
      },
      {
        "id": "1516570",
        "stage": "Final",
        "date": "2026-01-23",
        "teamA": "RJW",
        "teamB": "CHR",
        "winner": "RJW",
        "result": "RJW won by 63 runs",
        "venue": "Shere Bangla National Stadium, Mirpur"
      }
    ],
    "champion": "RJW",
    "runnerUp": "CHR"
  },
  "analysis": {
    "method": "Final standings",
    "simulationCount": 1,
    "generatedAt": "2026-10-03T10:44:50Z",
    "stateCount": 1,
    "modelNotes": [
      "The league stage is complete, so qualification is decided by the final table: points, then net run rate."
    ],
    "overallProbabilities": {
      "RJW": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 100.0,
        "top2Clear": 100.0,
        "top2Possible": 100.0
      },
      "CHR": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 100.0,
        "top2Clear": 100.0,
        "top2Possible": 100.0
      },
      "RAN": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "SYT": {
        "top4": 100.0,
        "top4Clear": 100.0,
        "top4Possible": 100.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "DHC": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      },
      "NOE": {
        "top4": 0.0,
        "top4Clear": 0.0,
        "top4Possible": 0.0,
        "top2": 0.0,
        "top2Clear": 0.0,
        "top2Possible": 0.0
      }
    },
    "teamAnalysis": {
      "4": {
        "RJW": {
          "percentage": 100.0,
          "results_df": {}
        },
        "CHR": {
          "percentage": 100.0,
          "results_df": {}
        },
        "RAN": {
          "percentage": 100.0,
          "results_df": {}
        },
        "SYT": {
          "percentage": 100.0,
          "results_df": {}
        },
        "DHC": {
          "percentage": 0.0,
          "results_df": {}
        },
        "NOE": {
          "percentage": 0.0,
          "results_df": {}
        }
      },
      "2": {
        "RJW": {
          "percentage": 100.0,
          "results_df": {}
        },
        "CHR": {
          "percentage": 100.0,
          "results_df": {}
        },
        "RAN": {
          "percentage": 0.0,
          "results_df": {}
        },
        "SYT": {
          "percentage": 0.0,
          "results_df": {}
        },
        "DHC": {
          "percentage": 0.0,
          "results_df": {}
        },
        "NOE": {
          "percentage": 0.0,
          "results_df": {}
        }
      }
    },
    "qualificationPath": {
      "4": {
        "RJW": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "CHR": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "RAN": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "SYT": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "DHC": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "NOE": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        }
      },
      "2": {
        "RJW": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "CHR": {
          "possible": 0,
          "likely": 0,
          "guaranteed": 0,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "RAN": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "SYT": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "DHC": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        },
        "NOE": {
          "possible": null,
          "likely": null,
          "guaranteed": null,
          "target_matches": 0,
          "method": "Final standings",
          "ownWinBuckets": [],
          "fixtureImpacts": [],
          "nextFixtureImpacts": [],
          "impactFixtureWindow": 0
        }
      }
    },
    "scenarioBreakdown": {
      "4": {
        "RJW": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "CHR": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "RAN": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "SYT": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "DHC": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "NOE": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        }
      },
      "2": {
        "RJW": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "CHR": {
          "clearRate": 100.0,
          "possibleRate": 100.0,
          "sharedTieAdjustedRate": 100.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "RAN": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "SYT": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "DHC": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        },
        "NOE": {
          "clearRate": 0.0,
          "possibleRate": 0.0,
          "sharedTieAdjustedRate": 0.0,
          "ownWinBuckets": [],
          "fixtureImpacts": []
        }
      }
    }
  }
}
