When rain shortens a cricket match, the Duckworth–Lewis–Stern method (DLS) revises the chasing team's target from its remaining resources: overs and wickets. A new audit asks a basic governance question. Does one resource table make comparable errors across formats and across men's and women's cricket?
Roy's answer is no. The paper finds structured state-dependent error, including an approximately 6.1-run women-minus-men gap in mean ODI over-prediction on its training period. But its best methodological lesson lies under the headline: 30 simulated rain stops from one innings share the same teams, venue, and scoring path. They are useful measurements, not 30 independent matches.
What DLS is being asked to predict
An ODI is a one-day international with up to 50 overs per side; a T20I allows 20. DLS assigns a resource percentage Z(u,w) to u overs remaining and w wickets already lost. The audit reconstructs the published resource table, samples an interruption during a completed first innings, and compares predicted remaining runs with the runs actually scored afterward.
| Paper quantity | Count | Meaning |
|---|---|---|
| International matches | 8,150 | 3,095 ODI; 5,055 T20I |
| Ball-by-ball records | 2,781,465 | Cricsheet, 2002–2026 |
| Synthetic interruptions | 233,550 | 30 sampled per eligible innings |
| Train / validation / test | 140,160 / 24,300 / 69,090 | Temporal, not random |
| Real rain-affected matches | 417 | Dedicated transfer check |
Why interruption-level confidence is fragile
Prediction error is predicted minus actual remaining runs. Its mean is bias: positive means over-prediction. A standard error measures how uncertain that mean is. Treating every sampled interruption as independent lets repeated views of the same trajectory shrink the standard error artificially.
def match_clustered_standard_error(rows):
groups = {}
for match_id, error in rows:
groups.setdefault(match_id, []).append(error)
means = [sum(xs) / len(xs) for xs in groups.values()]
center = sum(means) / len(means)
variance = sum((x - center) ** 2 for x in means) / (len(means) - 1)
return (variance / len(means)) ** 0.5The paper uses a stronger version of this idea: a 2,000-replicate block bootstrap that resamples whole matches. The compact code above shows the equal-cluster analogue; it is not a reimplementation of the paper's interval or a substitute for its raw match data.
The disparity is format-specific
| Format | Group | Synthetic examples | Mean bias (runs) | RMSE |
|---|---|---|---|---|
| ODI | Men | 60,660 | +1.51 | 41.82 |
| ODI | Women | 10,350 | +7.63 | 38.49 |
| T20I | Men | 46,740 | +7.07 | 25.51 |
| T20I | Women | 22,410 | +7.58 | 23.06 |
Matching match-state buckets does not erase the ODI result. Nor does restricting to Full-Member teams: the paper reports +6.72 runs with a match-clustered 95% interval of [+3.38, +10.04]. It still calls the finding an observational association, not a causal effect of gender.
A correction layer keeps the rule visible
DLS-Cal predicts the residual—actual remaining runs minus the DLS prediction—and adds that correction back to the baseline. Its small multilayer perceptron uses match state, format, recent scoring, and a bucket-mean prior. The result stays decomposable as “DLS plus correction,” unlike a five-model stacking ensemble.
| Test method | RMSE | MAE | Bias | WFR₅ ODI / T20I |
|---|---|---|---|---|
| DLS original | 37.41 | 30.54 | +17.40 | 92% / 90% |
| DLS canonical | 28.92 | 22.61 | +7.57 | 91% / 85% |
| XGBoost | 22.20 | 16.77 | +1.84 | 84% / 79% |
| Stacking ensemble | 21.49 | 16.19 | −0.20 | 85% / 78% |
| DLS-Cal | 23.72 | 17.72 | −1.62 | 83% / 79% |
Accuracy and auditability do not pick the same winner. Stacking has the best RMSE at 21.49. DLS-Cal trails by 2.23 runs but has the lowest ODI WFR₅ and an inspectable correction. A gender-aware version reduces women's test-period residual bias from +6.19 for canonical DLS to +0.65 runs, while men's calibration changes little.
A useful metric with an ambitious name
The paper's Win-Flip Rate at threshold k is simply the share of predictions whose absolute error exceeds k runs. It focuses attention on decision-relevant misses, but the paper explicitly calls it a proxy: an error over five runs does not prove the chase winner actually changed.
| Qualification | What it changes |
|---|---|
| Synthetic stoppages | Coverage is broad, but weather does not interrupt uniformly over match state. |
| Audit target | Remaining-run error probes the resource model; it is not direct operational target error. |
| Proprietary table | The reconstructed public DLS table can differ from the ICC’s current table by a few runs. |
| Observational groups | A matched association is not a causal effect of gender; venue, era, ball, and scheduling remain uncontrolled. |
| Win-Flip Rate | |error| > k is a proxy, not evidence that an actual chase outcome flipped. |
What to probe before changing the scoreboard
- Obtain official historical DLS decisions and evaluate actual revised targets at exact stoppage times.
- Weight synthetic match states by the empirical distribution of weather interruptions, venue, season, and geography.
- Report match-clustered uncertainty for every subgroup and state bucket, not only marginal averages.
- Validate whether WFR thresholds correspond to actual outcome flips and whether that relationship differs by format.
- Audit separate calibrators across era, region, team strength, and ball type before treating gender routing as a deployment answer.
The XGBoost page explains the strongest single tree baseline in the comparison, while neural networks provide the residual calibrator's building blocks. The general lesson travels far beyond cricket: when many rows come from one real-world unit, the row count measures computation; the unit count measures evidence.
References
- Soumyadeep Roy (2026). A Fairness Audit of the Duckworth-Lewis-Stern Method: Format-Specific and Gender-Differential Bias, with an Interpretable Calibration Layer for Cricket Target Revision. Journal of Quantitative Analysis in Sports (forthcoming)
- Cricsheet (2026). Cricsheet: freely available structured cricket data. Cricsheet data archive