This is a personal cricket notebook. The writing is essay-first, but the numbers behind it are real and the data is public. This page explains where the data comes from, how I define things, and what I do when I get something wrong.
The data
Most of the numbers on this blog come from two sources.
Cricsheet is the primary source. It is Stephen Rushe’s open ball-by-ball dataset, the closest thing the cricket analytics community has to a public utility. It feeds every metric on the blog that needs ball-by-ball detail: phase splits, economy by matchup, the close-match indexes, toss-neutralized win rates, Cricket ISO, Boundary Rate, all of it.
Coverage for the current analysis:
| Competition | Matches | From | To |
|---|---|---|---|
| IPL | 1,219 | April 2008 | May 2026 |
| Men’s T20Is | 3,558 | 17 Feb 2005 | 17 Sep 2026 |
| Men’s ODIs | 2,576 | 27 Jun 2002 | 15 Sep 2026 |
| Men’s Tests | 895 | 19 Dec 2001 | 9 Sep 2026 |
A few gaps to know about:
- Afghanistan is missing. Cricsheet no longer publishes matches involving the Afghanistan men’s team. That is about 160 T20Is, 159 ODIs and 13 Tests. Afghanistan never appears in my international analysis.
- Early Test coverage is patchy. Cricsheet has only about 60 Tests from 2001 to 2005, and some famous ones are missing (Old Trafford 2005, for one). Test numbers mostly reflect 2006 onward.
- Match counts depend on the download. Cricsheet updates its files continuously. Each post states the match count it used, so two posts written months apart may cite different totals.
ESPNcricinfo is the secondary source, specifically Statsguru and individual match scorecards. I use it for things Cricsheet doesn’t carry cleanly: career aggregates, head-to-head records across formats, player background, and historical matches that pre-date Cricsheet’s coverage. Scorecards are also where I cross-check Cricsheet when something looks off. A disagreement between the two almost always means I’ve miscoded something on my end.
Analysis is done in Python.
When a number comes from somewhere else, such as a press conference, an ESPNcricinfo feature, a player interview or a broadcast, I attribute it inline. If a number has no inline attribution, assume it came from Cricsheet or Statsguru.
Standard definitions
These are consistent across every analytical post on the site. If a post departs from them, it says so.
Phases of a T20 innings
- Powerplay: overs 1–6
- Middle overs: overs 7–15
- Death overs: overs 16–20
Phases of an ODI innings
- Powerplay: overs 1–10
- Middle overs: overs 11–40
- Death overs: overs 41–50
Basic rate stats
- Economy rate: runs conceded ÷ (balls bowled ÷ 6). Wides and no-balls count as runs, not as balls. Byes and leg-byes are not charged to the bowler.
- Strike rate (batting): runs ÷ balls faced × 100.
- Phase strike rate: strike rate restricted to deliveries in that phase.
Test match-state stats
- Opposition wickets per Test: wickets taken by the bowling side, out of a maximum of 20. Retirements are not counted as wickets.
- Balls per wicket: legal deliveries bowled ÷ wickets taken.
- Overs per match: total overs bowled across all innings.
- Run rate: runs per over across all innings, including penalty runs.
- Trailing averages use a five-year window unless the post says otherwise.
Which matches count
- No-results and abandoned matches are excluded.
- Rain-shortened limited-overs matches (DLS or reduced overs) are excluded by default. Where a post uses the reduced allotment instead, it says so. The IPL 20th Over Index post does this.
- Awarded matches are excluded (for example, the Oval Test of 2006).
- Super overs and bowl-outs don’t count as innings. A tie decided by a super over is still a tie.
Captaincy metrics
- Toss-neutralized win rate: the average of a captain’s win rate when winning the toss and when losing it, weighted 50/50. It strips out toss luck entirely.
- Clutch match (white-ball only): a completed match decided by 10 runs or fewer, by 1 wicket, or with 6 balls or fewer remaining. It is a looser test than the close-match indexes below. I use it for captaincy and player records, where a stricter test would leave too few matches to compare. Use the indexes when comparing leagues, grounds or countries.
The close-match indexes
Each format has its own strict definition of a close match. Close games are my proxy for entertainment. The definitions are deliberately narrow, because wider ones inflate the numbers until everything looks close.
The 20th Over Index (T20s; source post)
A match is close if the chasing team’s innings reaches the 20th over, AND the chasing team either:
- wins, or
- loses by 10 runs or fewer.
Ties are always close. A chasing side bowled out in the 20th over is judged by the same 10-run rule. Ten runs is roughly two boundaries at the death.
The 50th Over Index (ODIs)
A match is close if any one of these is true:
- The chasing team wins in the 50th over.
- The chasing team wins by 1 or 2 wickets, at any stage of the chase.
- The chasing team loses by 15 runs or fewer, at any stage.
Ties are always close. The margin is wider than in T20s to allow for 30 more overs of variance. A one- or two-wicket win counts even before the 50th over, because one more wicket would have ended the chase. In practice most of them finish in the last six overs.
The Close Test Index (Tests)
A completed Test is close if any one of these is true:
- Wire finish. Won by 1–3 wickets, or by 1–25 runs. Innings wins never count.
- Fourth-innings squeeze. A real chase, with a target above 75, that ends with 2 or fewer wickets in hand. Either the chase wins, or the chasing side is bowled out within 50 runs of the target.
- Survival draw. The match is drawn with the side batting the third or fourth innings 9 wickets down.
Ties are always close. If the follow-on is enforced, the fourth-innings side is the team that batted first. The target is worked out from the first three innings, including penalty runs.
Baselines
| Competition | Close |
|---|---|
| IPL | ~31% |
| All men’s T20Is | ~21% |
| T20Is, Full Member v Full Member | ~28.5% |
| ODIs, Full Member v Full Member | ~16% |
| Tests | ~8.5% |
A ground or team only stands out if it is clearly above or below its format’s baseline.
Comparing grounds, teams and countries
- Full Members only, by default. Ground and country rankings use matches between Full Members, so mismatches against associate sides don’t drag a ground down. The Full Members here are Australia, Bangladesh, England, India, Ireland, New Zealand, Pakistan, South Africa, Sri Lanka, West Indies and Zimbabwe. Afghanistan is absent, as explained above.
- Minimum sample sizes. A ground needs at least 12 T20Is, 15 ODIs or 10 Tests to be ranked.
- Small-sample adjustment. Rankings pull grounds with thin records toward the format average, so three close games out of five can’t top a table.
- Significance. Most ground-level differences are small enough that a few more matches would reshuffle them. When a result is strong enough that it is unlikely to be luck, the post says so. When it isn’t, the post says that too.
- Venue names. Renamed grounds are merged: Feroz Shah Kotla is Arun Jaitley Stadium, Sardar Patel Stadium is Narendra Modi Stadium, Beausejour is Daren Sammy, and Goodyear Park and OUTsurance Oval are Mangaung Oval. Spelling variants in Cricsheet are merged too. Different grounds in the same complex stay separate, such as Al Amerat’s Ministry Turf 1 and Turf 2 in Oman.
- Host countries. West Indies venues count as one host. Cardiff counts as England. Belfast and Bready count as Ireland. Neutral venues count for the country they are in, so the UAE is a host in its own right.
Named metrics
Cricket ISO (source post)
Borrowed from baseball’s Isolated Power statistic. It measures boundary damage per ball, separate from accumulated singles:
ISO = (Boundary Runs − Singles Runs) / Balls Faced
Boundary Runs is the total runs scored in fours and sixes. Singles Runs is the total runs scored in ones. The average for IPL openers across 2024–2026 is around 0.88. Elite openers are above 1.20.
Boundary Rate
The percentage of balls a batter hits for four or six. It is a useful public proxy for bat speed and contact quality, since cricket has no equivalent of MLB’s Statcast bat-tracking data.
Quotes
When I quote a player, coach or commentator, I give the source, the setting (press conference, broadcast interview, podcast) and the date where possible. If a quote is famous enough that its source is widely known, I sometimes shorten the attribution. For anything specific, the full context is in the post.
What I don’t claim
Some things can’t be measured with public ball-by-ball data, and I try not to pretend I can measure them.
- Field placement. I have no fielder-position data. When I write about a captain’s field-setting, I’m inferring it from outcomes (catches taken, dot balls forced, run-outs created), not from seeing where fielders stood.
- Shot type and intent. I know what happened on a delivery (runs, dismissal, extras), not which shot was played or whether the batter meant to attack.
- Ball-tracking. No swing, no seam, no pitch map. No bat speed either. Cricket has no public equivalent of MLB’s Statcast.
- Causation. Most of what I write is descriptive. When I draw an inference, such as “Samson’s spinners deliver less than Iyer’s in every matchup cell”, I’m describing a pattern, not proving a cause. Sample sizes in cricket are small, especially at individual grounds, so treat strong-sounding claims accordingly.
Corrections
If you spot something wrong, email me. Corrections are made in the post and noted at the bottom of it with the date.
Changelog
- October 7, 2026. Added the 50th Over Index and the Close Test Index. Simplified the wording of the 20th Over Index; what counts as close is unchanged. Added data coverage dates, format baselines, ODI phases, Test match-state stats, rules for which matches count, and the section on comparing grounds, teams and countries. Clarified the clutch match definition.
- May 19, 2026. Page published.
Last updated: October 7, 2026