CricketStudio Methodology · Model Card
plannedPressure v1
An expected-value model for T20 cricket ball outcomes — predicts runs-per-ball and wicket-probability for any delivery given its context. The numeric foundation for CricketStudio's True-X metrics (True Economy, True Strike Rate, True Wickets, True Average) on player profiles.
Model ID: pressure-v1 · Version: 1.0.0-planned · Format: T20 (IPL + MLC) · Published: 2026-07-26
Planned — not yet trained
This model card documents the committed design. The architecture and training plan are fixed; the model trains once the blockers below clear (§3.3-model doctrine ratification + ML contractor). The URL is stable now so future True-X claims can reference it via ClaimReview.isBasedOn before the model ships. Training metrics will replace placeholders when evaluation completes.
Purpose
Why this model exists and how it connects to published claims.
Raw cricket aggregates (economy rate, batting average) measure outcomes but not context. A bowler who concedes 30 in a death-overs chase is not comparable to one who concedes 30 in the first powerplay. Pressure v1 establishes an expected value for every ball — the run-rate and wicket-probability a replacement-level player would produce in that exact situation — so that the gap between expected and actual can be attributed to the individual.
The model underpins four True-X metrics emitted on player profile P3 (Form & phase) claims:
Bowlers
True Economy
actual_RPB − expected_RPB for that delivery context
Pillar: P3 (Form & phase)
Batters
True Strike Rate
actual_RPB − expected_RPB for that delivery context
Pillar: P3 (Form & phase)
Bowlers
True Wickets
actual_wickets − Σ expected_wicket_prob for bowler
Pillar: P3 (Form & phase)
Batters
True Average
actual_batting_avg − expected_avg for batting position
Pillar: P3 (Form & phase)
Training corpus
Doctrine §3.3-model: training data must be public-or-licensable, not an opaque blob.
- Total matches
- 1,300+
- Total deliveries
- 312,309+
- Window
- 2007/08–2026
- License
- Cricsheet CC BY 3.0 (historical); CricketStudio licensed feed (IPL 2026 / MLC 2026)
- · IPL 2026 (73 played matches · licensed live feed; 1 match abandoned, no data)
- · IPL historical 2007/08–2026 (1,242 matches · Cricsheet CC BY 3.0)
- · MLC 2023–2026 (64+ matches · Cricsheet CC BY 3.0)
Ball-uniqueness enforced by the P7 parity contract (same contract that gates every CricketStudio build). No over-counted deliveries can enter the training set.
Features
Input signals used to predict expected runs and wicket probability per ball.
| Feature | Description |
|---|---|
over.delivery | Ball position within the innings (1.1 – 20.6) |
phase | Powerplay (1–6), middle (7–15), death (16–20) |
venue | Stadium identifier (one-hot / embeddings) |
rrr | Required run-rate at time of delivery |
wickets_in_hand | Batting side wickets remaining (1–10) |
batter_handedness | Right-hand / Left-hand batter |
bowler_type | Fast / Medium / Spin (coarse taxonomy) |
balls_since_wicket | Deliveries since last dismissal in current innings |
Evaluation metrics
Targets and planned thresholds. Actual values populated when training completes.
| Target | Metric | Planned threshold | Actual (hold-out) |
|---|---|---|---|
| Runs per ball | R² (coefficient of determination) | ≥0.35 on hold-out | — pending training |
| Wicket probability | Log-loss | ≤0.090 on hold-out | — pending training |
| Calibration | Brier score | ≤0.045 | — pending training |
Algorithm & serving
Model type and how it is embedded in the production pipeline.
Algorithm
XGBoost (primary) / GLM (baseline comparison)
Framework
scikit-learn + xgboost (Python)
Serving method
Pre-computed lookup table baked into Next.js build (no runtime inference)
The pre-computed lookup table approach means: (a) no Python runtime in production, (b) instant lookup at page render (O(1)), (c) the exact expected values used in every claim are auditable from the committed lookup file in git. The LLM never touches this computation — numbers are derived deterministically before any prose is generated (doctrine §20.10).
Blockers before training
All must clear before model training begins.
- ☐Doctrine §3.3-model amendment ratified by operator (PR #312)
- ☐ML contractor engagement
- ☐Hold-out eval meeting planned thresholds
Version history
Every version retains a stable `@id` so historical claims remain citable.
| Version | Date | Note |
|---|---|---|
1.0.0-planned | 2026-06 | Model card published. Architecture committed. Training pending. |
How to cite this model card
Use the stable URL or the `@id` to reference this model from a `ClaimReview.isBasedOn` block.
Prose citation:
"Pressure v1 expected-value model, CricketStudio (2026-07-26). Model card: https://players.cricketstudio.ai/methodology/model/pressure-v1"
JSON-LD (in a ClaimReview block):
"isBasedOn": {
"@type": "Dataset",
"@id": "https://players.cricketstudio.ai/methodology/model/pressure-v1#model",
"name": "Pressure v1",
"url": "https://players.cricketstudio.ai/methodology/model/pressure-v1"
}