Inspiration

A striking bowling percentage can come from very few deliveries. A table may help someone find a name, but it does not explain whether the apparent difference survives another match, or what to investigate next. Six-Ball Review connects that table to a small, traceable review sheet. It is a prototype for an analyst preparing to examine footage they are permitted to use; no interviews, coaching adoption or video review are claimed.

What it does

Choose an innings phase, search an alphabetical list and inspect a bowling profile. Observed dot and boundary rates appear beside a regularized estimate, its reference and match-bootstrap bands. Open the contributing matches, leave-one-match check and dominant-venue sensitivity before saving a question.

The analyst chooses up to three cases, including limited or uncertain cases when there is a reason to investigate them. An HTML sheet and exact JSON export retain the phase of each case, numbers, warnings, source identifiers, snapshot hashes and notes. The tool does not force a top three, compare players across phases or recommend a lineup. Notes stay in the browser tab until exported; there is no account or notes upload.

How it was built

The original application and analysis were built during this event, using Python's standard library and a dependency-free HTML/CSS/JavaScript interface. Substantial OpenAI Codex assistance was used for research, implementation, testing, review and writing.

The fixed Cricsheet IPL JSON snapshot provides ball-by-ball observations. Profiles use 212 included first innings from 2023–2025, with 25,297 legal deliveries. The model separates zero-total-run deliveries, actual batter boundaries and other legal deliveries; illegal deliveries have a separate denominator. Revised, reduced and incomplete matches are excluded; early all-outs remain included. The filter uses later chase information, so this is a retrospective cohort, not a population known before a match.

A plan recorded locally before acquisition and results specified training on 2023–2024, selection on 2025, and a separate 2026 evaluation. One smoothing value, 240 equivalent deliveries, was selected from four candidates. Profile uncertainty resamples whole training matches 2,000 times, recalculating the reference while keeping that model fixed. The plan was not independently preregistered.

Results and challenges

In the held-out 2026 sample of 71 matches and 8,479 legal deliveries, mean multiclass Brier loss was 0.626730 for the regularized model, 0.628136 for the pooled phase baseline and 0.639197 for the raw player/phase table. Lower is better. The improvement against the pooled reference is small, about 0.001407 Brier units; it is not an accuracy percentage or evidence of better coaching outcomes. 21.02% of evaluated deliveries lacked prior player/phase history and used a pooled fallback.

The harder part was keeping the qualifications attached to the output: distinguishing an all-out from an interrupted innings, keeping illegal deliveries visible, preventing 2026 data from entering displayed profiles, and preserving abstention reasons in exported work. The repository contains the frozen inputs, analysis plan, validation results, source hashes and reproducible checks.

What we learned and what's next

Most profiles do not support a separated contrast with the reference under the stated checks. That is useful information to retain, not a reason to hide the profile. Shrinkage and phase statistics already exist; this project's contribution is the inspect-to-question-to-export workflow and the evidence attached to it.

Next would be a supervised usability study with analysts, context-aware modeling and a prospectively specified evaluation on new data. Current intervals are conditional on the selected model, repeated players and venues leave dependence, and inspecting many profiles is exploratory. No causal ability, future performance or professional validation is claimed.

Credits

Contains information from Cricsheet, available under the ODC Attribution License 1.0. Data notices are separate from the MIT license for original code. No team logos, player photographs or video are reproduced, and no affiliation with Cricsheet, IPL, BCCI, franchises or players is claimed. Full credits and comparisons are in the repository.

Share this project:

Updates