Cricket player strength and contributions: ratings, histories, uncertainty, and comparisons across methods. This is the player-level counterpart to Outside Edge's team ratings.
Rankings website · Test · ODI · T20I · Data and downloads
The project distinguishes strength, an estimate of a player's ability at a given date, from contribution, the value of their performances in matches already played. Models retain their own units and assumptions. WAR is one possible contribution measure, not the definition of every player rating.
Player rankings are available for Tests, ODIs, and T20 internationals, separately for men and women, through 26 October 2026. The player-only models use five years of match outcomes; Tests include draws. Every table includes appearances and downloadable coefficients. Women's Tests have very little data and use the specified untuned regularization setting. These are exploratory lineup associations, not WAR or instantaneous form.
The separate ODI experiment compares team-only, player-only, and combined models on chronological holdouts. Contribution estimates and uncertainty intervals for individual ranks remain future work.
The earlier WAR notebooks, results, and figures are preserved in the exploratory collection. Their runs-to-wins conversion and replacement assumptions are not production defaults. See the modeling agenda for the research sequence and acceptance criteria.
Install Python 3.12 or later and uv, then run:
make sync
make check
make fetch
make prepare AS_OF=2026-10-26make fetch downloads the official Cricsheet ODI JSON archive and records its
checksum and retrieval time. make prepare validates identities and outcomes,
retains matches through the specified date, and writes match, participant, and
player tables to data/build/odis/. It does not estimate player ability.
An existing Cricsheet JSON or YAML directory can be prepared without downloading:
make prepare DATA_DIR=data/odis AS_OF=2026-10-26Run the specified 2023–2025 forecast comparison and assemble its saved results:
make compare
make publishmake compare tunes each model using past matches, then evaluates annual holdouts
with three- and five-year training windows. make publish verifies the saved
outputs and creates the website's tables and downloads. The saved publication
can be rendered without downloading data or rerunning models. See the
experiment specification.
To build the additional format tables after preparing ODIs:
make fetch FORMAT=Test
make prepare FORMAT=Test AS_OF=2026-10-26
make fetch FORMAT=T20I
make prepare FORMAT=T20I AS_OF=2026-10-26 PREPARE_ARGS="--since 2021-10-27"
make rankings AS_OF=2026-10-26make rankings tunes and fits six player-only models, then writes verified CSVs,
model parameters, and provenance to out/release/current/. The T20 preparation
start matches the five-year window; adjust it when changing the ranking cutoff.
See the ranking specification and
pipeline guide.
Install Quarto to render the website:
make siteRendering uses saved documentation and does not fetch data or fit models.
make ci-docker runs the Python checks in a standard Python container when Docker
is running. The pipeline guide describes commands, outputs,
and provenance.
- Rankings: Test, ODI, and T20I player tables and exposure flags.
- Contributions: match, season, and career value.
- Player histories: dated estimates and retrospective histories.
- Model comparisons: research priorities and forecast evaluation.
- Methods and data: definitions, coverage, and limitations.
Each publication will identify its model, cutoff, competition, units, and
uncertainty method. Rate measures and cumulative contributions will be reported
separately. Team ratings remain in side_order; any comparison will use dated
exports rather than a dependency on a sibling checkout.