CricketStudio Methodology · Model Card

planned

Pressure 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)

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.

FeatureDescription
over.deliveryBall position within the innings (1.1 – 20.6)
phasePowerplay (1–6), middle (7–15), death (16–20)
venueStadium identifier (one-hot / embeddings)
rrrRequired run-rate at time of delivery
wickets_in_handBatting side wickets remaining (1–10)
batter_handednessRight-hand / Left-hand batter
bowler_typeFast / Medium / Spin (coarse taxonomy)
balls_since_wicketDeliveries since last dismissal in current innings

Evaluation metrics

Targets and planned thresholds. Actual values populated when training completes.

TargetMetricPlanned thresholdActual (hold-out)
Runs per ballR² (coefficient of determination)≥0.35 on hold-out— pending training
Wicket probabilityLog-loss≤0.090 on hold-out— pending training
CalibrationBrier 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.

Version history

Every version retains a stable `@id` so historical claims remain citable.

VersionDateNote
1.0.0-planned2026-06Model 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"
}