T20 Metrics: A Primer

Himanish Ganjoo

August 2026

Abstract

A pedagogical introduction to T20 theory and advanced contextual metrics for evaluating T20 performance.

1 Introduction

The presence of limited overs in T20 (and ODI) cricket drives batting teams to utilise their run-scoring resources (balls and wickets) in a certain pattern. After the T20 Powerplay ends, the scoring rate in an average T20 innings increases monotonically due to the decreasing value of wickets with the progression of the innings. Different stages of the game demand different scoring rates and attitudes towards wicket preservation. Thus, in T20 (and ODI) cricket, it becomes essential to assess run-scoring in context, which is a placeholder for the state of the game (overs and wickets left). A 50 off 30 balls in the Powerplay has higher value than the same innings played in the last 6 overs of the innings, simply because a higher scoring rate is expected in the latter case. Traditional cricket metrics (average and strike rate) do not account for this context, necessitating the existence of more advanced contextual numbers that present a more nuanced view of performance.

Contextual metrics have been used in cricket for a decade or more. The first widely publicised instance of such numbers was the “True SR” and “True Economy” style numbers introduced by Jarrod Kimber. Cricviz also use an “Impact” style metric in their work for broadcast and professional teams. Such measures have been used in my own work for some time now. I introduced RAA/WAA in a Cricinfo article in 2020, and I have been using Impact since 2022, including during my stint with the India Men's team. Multiple variations on the same theme have surfaced in cricket research over the past few years, with the core idea remaining the same: obtain the “average” scoring rate in each game situation and adjust raw run-scoring numbers by that baseline by either subtraction (yielding a $+/-$ metric) or by scaling.

This note seeks to consolidate the family of such metrics, describing a set of numbers that help contextualise T20 performances, hoping to establish a “canonical” language to describe T20 (and later ODI) performances. Such methods have been in use for a few years at this point, but very little consistent documentation and explanation exist in the public domain. This work aims to rectify that and augment cricket parlance with the advanced machinery required to discuss T20 performances in proper context.

This work introduces five associated measures for T20 cricket:

  1. RAA: runs above average;
  2. WAA: wickets above average;
  3. Impact: the run-value of player actions;
  4. WPA: win probability added;
  5. Leverage: the capacity of each delivery to change the win probability.

In the process, we hope that this document serves a pedagogical introduction to a first collection of advanced ball-by-ball cricket metrics and pathway literature for aspiring analysts. In addition to describing the methodology behind the measures, this document employs the said metrics to delve into and explain T20 cricket theory. We assume familiarity with the basics of cricket and basic cricket statistics.

In Section 2, we present a methodology for computing par scores to account for scoring trends and conditions. These par scores will be a critical component of subsequent calculations. In Sec 3, we present RAA and WAA. Section 4 is a pedagogical explainer of the Duckworth-Lewis Method, which forms a cornerstone of both the Impact (Section 5) and the Win Probability (Section 6) calculations.

Note on the data. All the plots presented in this work are from a ball-by-ball dataset covering matches from T20Is, Indian Premier League, Big Bash League, Pakistan Super League, and SA20 since 2015 (640,157 balls). The Impact/RAA/WAA calculations might not cover all balls on account of incomplete balls remaining information. Wides have been removed from the dataset.

2 Computing Expected Totals

In order to properly assign context to performances, we need to first account for scoring trends in T20 cricket. Scores vary by year due to increasing intent of the batters and different rules (e.g. Impact Player in the IPL since 2023). More importantly, scores vary on account of conditions, by venue and competition: Hyderabad in the IPL has a much higher expected score than Dubai in a T20 International. For each match, we will compute the expected score, i.e. the expected final first-innings total, which will enter our RAA/WAA/Impact calculations as a proxy for the difficulty of the conditions for batting.

The naive method of computing these is to take the averages of final first innings scores in a given year and at a given venue. This method is plagued by small sample sizes in many cases – some grounds might play only a few games in one season, for instance. To combat this issue, we will use Bayesian shrinkage to estimate the expected scores.

Shrinkage pulls the mean of a quantity with a small sample size towards a global mean (which has a larger sample size), thus reducing the effects of a few outliers. Consider a ground with 5 matches played in a year, with a mean first-innings score of 210. The global first-innings T20 score from 100 matches that year is 160. We have extensive information about the global behaviour of the T20 first innings (100 samples), but highly limited information about that ground. Shrinkage will combine these two means systematically to give us an “updated” average that reflects the low information we have about the particular ground. In doing this, it will “shrink” the small-sampled ground mean score towards the global mean score. This process is Bayesian: it updates our information about what the mean score is. The prior information we possess is the global mean (or the distribution of scores in all T20s that year), while the specific information about that ground is given by the ground-based mean, which is used to update our priors and deliver a “posterior” mean score.

For our example, since the ground has only 5 matches, the final updated mean score will be much closer to 160 (the global mean) than 210. The closeness of the final score to 160 reflects the smallness of the sample from the ground. We have much more information from the general T20 and our final score thus stays much closer to the general mean.

2.1 Nested Shrinkage

Our toy example uses one pool of global scores with one pool of venue scores to explain shrinkage. However, the expected score in a T20 game varies across multiple levels, among which the most prominent are the league, the year, and the ground. The score also varies with the exact strip used, but that data is not available, so we will skip that level. To account for this multi-layered dependence of the expected score, we will use nested shrinkage.

In nested shrinkage, the final expected score is estimated using a chain of estimates. At each level of the chain, the mean of that level is shrunk towards the mean of the level above. At the next level, the shrunk mean of this level becomes the target towards which the next level mean is shrunk. In this way, information gets updated down from the topmost level (biggest sample) to the lowest level.

Consider the exercise of estimating expected scores for the set of T20 leagues. Our nesting will be:

$$\text{global} \;\to\; \text{league} \;\to\; \text{year} \;\to\; \text{ground}.$$

The mean of all first innings scores in our entire dataset is the top level. Each league is shrunk towards this global mean. Within each league, the year mean is shrunk towards the shrunk mean of the league. Finally, the mean from each ground (in each year and in each league) is shrunk towards the global-league-year shrunk mean.

For T20Is, the nesting is simpler:

$$\text{global} \;\to\; \text{year} \;\to\; \text{country},$$

with each year shrunk toward the global mean and each country within a year shrunk toward that year's shrunk mean.

At every level, we compute the shrunk mean as

$$\hat{\mu}_{\ell} \;=\; w_{\ell}\,\bar{x}_{\ell} \;+\; (1 - w_{\ell})\,\hat{\mu}_{\mathrm{parent}(\ell)},$$

where $\bar{x}_{\ell}$ is the raw mean at level $\ell$ and $\hat{\mu}_{\mathrm{parent}(\ell)}$ is the shrunk mean at the next highest level. The weight is given by

$$w_{\ell} \;=\; \frac{n_{\ell}}{\,n_{\ell} + \sigma^{2}_{\mathrm{within}} / \sigma^{2}_{\mathrm{between}}\,},$$

where $n_{\ell}$ is the number of innings in the local bucket, $\sigma^{2}_{\mathrm{within}}$ is the variance of scores inside the parent level, and $\sigma^{2}_{\mathrm{between}}$ is the variance between the sub-buckets' means at that level (spread from one bucket to the next). The $w_{\ell}$ indicates the weight of the information at level $\ell$: a large $n_{\ell}$ implies we have many samples (a lot of information) at that level, which drives $w_{\ell} \rightarrow 1$, moving the shrunk mean towards level $\ell$.

The $\sigma^{2}_{\mathrm{within}} / \sigma^{2}_{\mathrm{between}}$ term in the denominator (let's call it $k$) encodes the weight of the prior information in this shrinkage process. A higher value reduces the relative value of $n_{\ell}$ in the denominator, reducing the weight of the observations at the current level. Rather than setting this $k$ arbitrarily, we set it to $k = \sigma^{2}_{\mathrm{within}} / \sigma^{2}_{\mathrm{between}}$.

There is a logic to this formula; let's explain it with the example of ground (venue) level shrinkage (one level) for a the IPL 2024 season. If $\sigma^{2}_{\mathrm{between}}$ is large, it implies that there is high variation between grounds. This drives $k$ lower, making the information from the samples on that ground more important. High variation among grounds implies the signal from each particular ground is more important than the parent level signal. On the other hand if $\sigma^{2}_{\mathrm{within}}$ is higher, it means the innings-by-innings scores in the season vary significantly, making the signal from each individual ground less reliable. This increases $k$, decreasing the relative importance of $n_{\ell}$ in the denominator, making the ground-level signal less important than the global (IPL 2024) signal.

In conclusion, we use nested shrinkage to systematically arrive at estimates of the “expected” score at each ground in each year in each competition, performing Bayesian updates with the right weights across levels to consistently incorporate information from each level while addressing the issue of small sample sizes. This expected score is computed for each match and will become a core ingredient in our calculations of our contextual metrics as an indicator of the ease of the conditions for batting.

Figure 1 shows a comparison of the shrunk scores at different venues for IPL 2018 and IPL 2025. The yearwise binning for shrinkage has driven the 2025 expected scores higher than the 2018 versions, accurately capturing the variation in scoring trends over time. The 31-run change in the expected scores at Hyderabad also captures the change of the venue to a significantly batting-friendly one.

Ground par scores in the IPL, 2018 versus 2025
Figure 1: Ground par scores in the IPL, 2018 versus 2025, for the seven venues present in both seasons.

The figure also shows the expected score for Chennai decreasing between 2018 and 2025; this is an effect of a weak home batting team dominating the data rather than an accurate reading of the conditions at the venue itself. We state this as a known limitation which can be improved upon in future iterations of this methodology.

3 RAA and WAA

Figure 2 shows the progression of the average runs per ball and wickets per ball by over in a T20 game (considering all first innings in our usual dataset). Looking at the Powerplay phase first (overs 1–6), we notice that the scoring rate increases as the Powerplay draws to a close. Batters are watchful for the first two overs, and then up the scoring rate. Post the Powerplay, the scoring rate falls down in over 7 as the batters settle down with the field spreading out. After the 7th over, the scoring rate increases monotonically.

Scoring and wicket rate progression by over
Figure 2: Scoring and wicket rate progression by over in T20 first innings. The grey shaded region indicates the common Powerplay (overs 1–6).

The two curves rise and fall with each other in the first 7 overs, and subsequently keep rising in step. This illustrates what has been called the Fundamental Theorem of Cricket: risk is proportional to reward. As the innings progresses, the value of a wicket decreases, and the value of each ball increases. The batting team attacks more to score more runs per ball, at the cost of losing more wickets. This is an intuitive understanding of the payoff between the two kinds of resources in cricket: balls and wickets. We will formalise this in a later section.

Figure 3 shows the over-wise scoring rate curves separated by the number of wickets lost before the ball is bowled. The shapes of the curve follow a pattern similar to the runs-per-ball curve in Fig. 2, but each wicket decreases the overall run rate. This reflects how the wicket tally influences batting sides: having fewer wickets remaining drives teams to play slower (more conservatively).

Scoring rate progression by over by wickets lost
Figure 3: Scoring rate progression by over in T20 first innings by wickets lost. The grey shaded region indicates the common Powerplay (overs 1–6).

For now, we want to focus on the change in scoring and wicket rates that results from this conventional understanding of resources. There is an expected scoring (and wicket-loss) rate that depends on the game situation, which includes the overs and wickets left. We will use these expected baselines to construct the first contextual metrics in the form of runs-above-average (RAA) and wickets-above-average (WAA).

Both the above metrics look at the difference between the actual runs scored or wickets lost and the expected runs scored or wickets lost. The fundamental formulae for both at the ball level are simple:

$$\begin{aligned} \mathrm{RAA} &= \mathrm{Runs\,Scored} - \mathrm{Expected\,Runs}, \\[4pt] \mathrm{WAA} &= \mathrm{Expected\,Wickets} - \mathrm{Wicket\,Taken}. \end{aligned}$$

Both these formulae are expressing the simple incorporation of “context” into raw ball-by-ball results via the expected runs and wickets. As an example, focus on the “1 wicket down” curve in Fig. 3. In the 3rd over with 1 wicket down, a batter is expected to score 1.27 runs per ball. If the batter scores a four, their $\mathrm{RAA} = 4 - 1.27 = 2.72$. On the next ball, if they score a single, their $\mathrm{RAA} = 1 - 1.27 = -0.27$. We can then aggregate RAA (and WAA) across innings, matches, seasons, or careers. Additionally, we can compute the mean per-ball and per-innings RAA and WAA for players.

3.1 Computing The Baseline

With the logic of RAA and WAA established, we turn our attention to computing the baselines, i.e. the expected runs and wickets. These baselines are the primary drivers of RAA and WAA: it is in them that the distillation of context resides. The quality and depth of the baselines determines how good these metrics will be.

The most rudimentary method would be to take the mean run and wicket rates by over, as shown in Fig. 2 and use them as baselines. This includes context at the zeroth order, accounting for the most fundamental cause of variation of ball-by-ball results. The next level would be computing the baselines for each over and each value of wickets lost using curves like the ones in Fig. 3 (for runs and wickets). This would add another layer to the game state by including the wickets lost. Overs and wickets left are the essential components that define the “game state” in cricket; including these two is therefore mandatory in a good RAA/WAA metric definition.

To go one level deeper, we can go in two directions. For the simpler path, could split the runs and wickets curves by high-scoring and low-scoring matches, by different venues, or by different leagues. These methods have a similar aim: to include information about the conditions in the baseline. This information should be ideally incorporated in a good RAA/WAA methodology, since batting conditions vary significantly by league, year, and venue. Other practitioners have sought to incorporate this on a match level using the current run rate (e.g. this method by Kartikeya Date/cricketingview).

For the more complicated path, one could use ball tracking data to include information about how difficult a delivery actually was. The latter method precludes the need to account for conditions using the former method. However, the usage of ball tracking data in the baseline computation requires advanced, often-inaccessible data, and more importantly, changes the definition of RAA/WAA. We want these metrics to yield a player's performance relative to game context and the general difficulty of the conditions. Augmenting the baseline with ball tracking data gives us a different version of these numbers, one that measures performance relative to the game state and the quality of the ball.

Fitting the runs scored in T20s on the ball level to a combination of game state features (overs and wickets left) and the ball quality (via ball tracking) has repeatedly shown that game state is the dominant determinant of the result of a ball; the exact quality of the ball matters little compared to how many resources the batting team has left. In light of this, we shall move forward with our RAA/WAA baselines using just game state and some average gauge of the conditions. A more advanced version with ball tracking information is possible (and very much in operation in advanced quarters of the analytics world), but we shall leave that outside this work, which focuses on metrics derivable from simple ball-by-ball results data.

To obtain the baselines, we shall use a regressor based on xgboost, a gradient-boosting technique that is known to work well with tabular data of the kind we have at hand. We will use four basic features as input:

  1. Balls remaining before the ball;
  2. Wickets down before the ball;
  3. The “par” score: for the first innings, this is computed using our method in Appendix A. For the second innings, this is the target. The idea is that this par score sets the expected intent for the batting side. In the first innings, historical data is used. In the second innings, the intent is determined by the runs needed;
  4. Innings number.

In Fig. 4, we show the feature importances for the RAA and WAA models. The values match our conventional thinking about scoring and risk. The most important feature for run-scoring is the number of wickets down, which decides conservativeness, closely followed by the balls left. On the other hand, the wicket loss is determined mostly by the balls left.

Feature importances for the RAA and WAA xgboost models
Figure 4: Feature importances for the RAA and WAA xgboost models.

Figure 5 shows a comparison of the actual runs per ball with the expected runs per ball predicted by the xgboost model, with both quantities averaged over all balls, grouped by over. The model recovers the over-wise pattern of scoring, making the expected mean runs per ball a usable baseline. It is essential to note here that we are not using the boosted regressor as a prediction tool. We are instead employing it as an averaging mechanism, designed to capture the nonlinear, highly complex ways in which our four features come together to influence run scoring and wicket loss. The methodology is meant to overfit on the training data.

Actual vs expected runs per ball by over
Figure 5: Actual runs per ball compared to the expected runs predicted by the xgboost model. Both curves have averages taken by over number. The grey shaded region indicates the common Powerplay (overs 1–6).

In the left panel of Fig. 6, we plot the same runs per ball curves by over number for first innings with a par (expected total) score higher than 185 runs. The right panel shows the same for games with a par score lower than 160. We can see that the par score formalism captures high and low-scoring trends almost perfectly, with the expected and actual runs per ball very close to each other across overs for both cases. This plot serves as a sanity check, validating our choice of using the shrinkage-assisted par scores as a proxy for the conditions.

Runs per ball by over for high and low par-score matches
Figure 6: Actual runs per ball compared to the expected runs predicted by the xgboost model for first innings in matches with par score higher than 185 (left) and lower than 160 (right). Both curves have averages taken by over number. The grey shaded region indicates the common Powerplay (overs 1–6).

3.2 Examples and Philosophy

With the baseline thus computed, we can calculate the ball-by-ball RAA and WAA following the equations above. To clarify, the baseline runs and wickets are computed for every ball in the database, with the RAA and WAA subsequently calculated for each ball. As an example, the following table shows the best 15 IPL batters from the 2023 to 2026 seasons by total RAA, with a minimum of 300 balls faced.

Table 1: Top 15 IPL batters by runs above average (RAA), 2023–2026 seasons, minimum 300 balls faced. RAA/100 and WAA/100 are per-100-balls; RAA/inns and WAA/inns are per-innings.
BatterInnsRunsSRRAAWAA RAA/100WAA/100RAA/innsWAA/inns
Abhishek Sharma511624191.74309.41−8.6636.53−1.026.07−0.17
Vaibhav Sooryavanshi18752221.83233.02−2.6268.74−0.7712.95−0.15
Suryakumar Yadav531861169.03232.7610.3121.140.944.390.19
Yashasvi Jaiswal541932159.80209.457.1117.320.593.880.13
Phil Salt401258174.48209.43−3.9729.05−0.555.24−0.10
Priyansh Arya26761198.69208.11−10.8054.34−2.828.00−0.42
Heinrich Klaasen501908169.00204.6019.5018.121.734.090.39
Nicholas Pooran531564173.97185.8110.1620.671.133.510.19
Rajat Patidar371040169.93160.23−5.3226.18−0.874.33−0.14
Travis Head381302177.63156.46−5.2621.34−0.724.12−0.14
Prabhsimran Singh541605159.86126.73−7.7812.62−0.782.35−0.14
Marcus Stoinis471134159.05117.682.3516.500.332.500.05
Shreyas Iyer401288163.66110.909.3814.091.192.770.23
Sanju Samson481580154.1590.3212.238.811.191.880.25
Ishan Kishan531537156.3681.02−3.158.24−0.321.53−0.06

Figure 7 shows the batters who have faced at least 300 balls in the IPL 2023–2026 seasons, plotted by RAA/100balls and WAA/100balls (Sooryavanshi and Arya excluded to make the plot better). At its core, limited-overs cricket is a two-dimensional game: everything can be explained by some variant of run-scoring and wicket-loss rates in conjunction. As the format gets shorter, run-scoring becomes the more “important” dimension, because wickets carry comparatively lower value. The scatterplot of Fig. 7 shows these two dimensions and can be used to illustrate the meaning of RAA and WAA.

IPL batters by RAA and WAA per 100 balls
Figure 7: IPL batters by RAA and WAA per 100 balls, minimum 300 balls faced. Sooryavanshi and Arya excluded.

The zero lines in the scatterplot split the plane into four quadrants. The $(+,+)$ region, where both RAA and WAA are positive, indicates batters who score faster than expected for the game state and also lose their wickets less often. These players combine aggressive output with good execution. Remember the Fundamental Theorem of Cricket: high strike rate should bring a commensurately high wicket loss. The elite players in the first quadrant buck this trend.

Next, the $(+,-)$ quadrant has batters who score faster than expected but also lose their wicket more often than expected. Their high intent brings high risk and high reward. The more you go towards the $(-,+)$ quadrant, the more “conservative” the batter becomes: these players preserve wickets (positive WAA) at the cost of runs (negative RAA). Thus, the location of a batter (career, season, match) on this RAA–WAA plane determines their basic category.

These two numbers together account for context and provide complete information about the batter's location on the risk-reward curve. Of course, these numbers can be computed for appropriately filtered data: versus spin or pace, in specific conditions or leagues, and so on. The two-dimensional structure and the information the two numbers carry together remains the same.

RAA and WAA provide a minimal contextual re-centering of raw ball outcomes. They tell us how fast / how wicket-preserving a batter is compared to the average batter in the same game situations. These metrics do not carry information about how important they are to the outcome of the game. They also do not tell you inherently which one of the two is more important in a given situation (although RAA is the more important for most situations). The same two metrics can be computed for bowlers (by inverting their signs), and those counterparts carry similar information.

RAA/WAA should become commonplace basic statistics on broadcast and in cricket discussions. They succinctly deliver information about the relative performance along the two relevant dimensions of limited-overs cricket, going one step beyond traditional averages and strike rates. They are easy to compute with just a ball-by-ball dataset, and their +/- framing makes them easy to explain and interpret.

4 The Duckworth-Lewis Method

The Duckworth-Lewis (DL; now Duckworth-Lewis-Stern) Method is commonly used in scaling the setting team's score or resetting the chasing team's target in the second innings in rain-curtailed matches. The method itself is applied in a variety of ways in different situations with interruptions, but we will concern ourselves with the mathematical machinery at the heart of the DL formalism: the expected runs (or run production) curve.

Duckworth-Lewis rests upon the idea that the batting team has two kinds of “resources” to score runs: balls and wickets. The central idea of the DL Method combines these two into one function, essentially quantifying the run-scoring power of a team from a given point in the innings. The question asked is: with $b$ balls remaining and $w$ wickets down in the innings, how many runs does the batting team score on average? The answer is called the run production function $R(b,w)$.

In mundane practice and in the public eye, this function is used for resetting targets. In essence, however, the run production function is a beautiful, elegant and powerful tool that succinctly summarises the entire concept of limited overs cricket. Within one family of curves, $R(b,w)$ encapsulates the expected progression of a limited overs innings, unifying wickets and balls into a single quantity which is directly derived from and related to the scoring of runs. Runs are the primary concern of counting in cricket — a cricket match is a competition between the run production and restriction abilities of two teams. The run production curve condenses the two-dimensional resources available in limited-overs cricket into this finally relevant dimension of runs. Moreover, the dependence of $R(b,w)$ on both wickets and balls left naturally incorporates the “context” of every delivery. The curve, by design and by being fit to real data, automatically imbibes the conventional logics of limited-overs cricket: higher scores later in the innings, a lower value on wickets later in the innings, very high value on early-innings wickets, and so on. The nuanced theory of utilising limited resources to score runs, i.e. the theory of limited-overs cricket itself, is fully enshrined in this simple function.

4.1 DL Standard

The original (standard) DL curve is given by the form

$$R_{\mathrm{std}}(b, w) \;=\; R_0\, F(w) \left[\, 1 - e^{-b/\beta(w)} \,\right],$$

where $R_0$ gives the expected runs with 0 wickets down and 120 balls left and $\beta(w)$ and $F(w)$ are cubic functions of $w$, both normalised such that $F(0) \approx 1$ and $\beta_w \to \beta_0$ at zero wickets down.

The standard DL function thus has 7 coefficients: three each from $F$ and $\beta$ in addition to $R_0$. The above function is fit to data to obtain the values of these parameters. Figure 8 shows the data and best fit $R(b,w)$ for different values of the wickets down, plotted against the balls left in a T20 innings.

DL Standard best-fit functions versus data
Figure 8: DL Standard: Best fit functions versus data.

Let us explain the DL Standard equation term-by-term. The first factor $R_0$ controls the overall expected runs in a T20 innings. The $F(w)$ prefactor modulates the runs-to-come by the wickets: a higher wickets lost count means fewer runs expected. The piece inside the square bracket tells us that the run scoring drops exponentially with the balls left. The exponential drop is modulated by the wickets lost through the $\beta(w)$ function in the denominator, which controls how effectively the balls left are converted to runs. This effect is illustrated by comparing the $w=0$ and $w=9$ curves in Fig. 8. For the $w=0$ curve, $\beta(w) \approx 140$ and this curve rises steeply. In cricket terms, this means that a team with 0 wickets down can score a lot of runs as the innings progresses (the curve rises sharply with increasing $b$). On the other hand, the curve with $w=9$ is flat for the most part: a team with just one wicket left does not add many extra runs to the total going from 80 balls left to 60 balls left. The $\beta(w)$ function explains the ability of a batting side to generate runs given the balls they have left as a function of the wickets lost.

4.2 DL Pro Edition

The standard DL curve is fit to all matches, yielding an average first innings score $R_{\mathrm{std}}(120, 0) \approx 170$. It was found that high-scoring matches do not follow the scoring patterns shown in Fig. 8, instead displaying “straightened” curves. High-scoring innings see teams front-load their run collection — teams tend to score more early in the innings. The same pattern has been seen in the recent IPL seasons (2023–2026) with the Impact Player Rule freeing up top order batters. To accommodate this effect, the Duckworth-Lewis Pro Edition modifies the standard equation with the straightening factor $\lambda$. The formula becomes

$$R_{\mathrm{pro}}(b, w, \lambda) \;=\; R_0\, F(w)\, \lambda^{\,n_w + 1}\left[\, 1 - e^{-b / (\beta(w)\, \lambda^{\,n_w})} \,\right],$$

where $n_w = n_0 F(w)$ is a damping coefficient that depends on the wicket value and the best fit for $n_0 = 1.04$. The parameter $\lambda$ encodes the high-scoring nature of a match and controls the deviation of $R_{\rm pro}$ from $R_{\rm std}$.

By construction, $\lambda=1$ for low-scoring games, matching the two formulae. When $\lambda>1$, the $\lambda^{n_w + 1}$ prefactor increases the amplitude of the function, reflecting a higher score overall. In addition, the $\lambda n_w$ factor in the denominator of the exponent changes how effectively balls are converted to runs depending on the wickets lost. This factor modifies the shape of the run-scoring curves, effectively integrating the different scoring patterns in high-scoring games to reflect how teams front-load their hitting in such situations.

The difference is displayed in Fig. 9. The top panel shows the DL Standard $R_{\rm std}(b,1)$ and the DL Pro $R_{\rm pro}(b,1,\lambda=1.25)$. The $\lambda>1$ increases the amplitude of the curve, mirroring that many more runs are expected. The bottom panel shows the logarithmic derivative of the two functions with respect to balls left $b$ to explore the shape of the two curves. Here we can see the impact of the $\lambda$ in the exponential term. The logarithmic derivative essentially yields the expected run rate at $b$ balls left. The DL Pro curve is higher early in the innings (high $b$) and converges to the Standard curve later, demonstrating how high-scoring games have higher run-rates at the start of the innings. DL Pro encodes both the higher expected runs and the front-loading prevalent in high-scoring matches.

Comparing DL Standard and DL Pro functions and their log derivatives
Figure 9: Top: Comparing the DL Standard and DL Pro functions, with the Pro function displaying a game with $\lambda=1.25$. Bottom: The logarithmic derivatives of the two functions with respect to balls $b$, displaying the difference in the shapes of the two functions.

4.3 Calculating $\lambda$

In the application of the DL Pro Method to actual cricket matches, $\lambda$ is calculated for every match. Let us take a simple case: assume that the team batting first has scored $S_1$ runs in the full quota of 120 balls. We find $\lambda$ by inverting the following equation:

$$R_{\rm pro}(120,0,\lambda) = S_1.$$

The $\lambda$ thus obtained is used to calibrate the DL Pro function for the second innings in accordance with the high-scoring nature of the first innings. All targets and par scores that are computed for the second innings are via this recalibrated curve. If $S_1 < R_{\rm std}(120,0)$, $\lambda$ is set to 1. Thus, all average or low-scoring games follow the standard DL curve. Figure 10 shows how $\lambda$ scales with $S_1$.

Scaling of lambda with first innings score
Figure 10: The scaling of the $\lambda$ parameter with the first innings score $S_1$. Computed by setting $R_{\mathrm{pro}}(120,0,\lambda)=S_1$.

4.4 Repurposing $\lambda$

We will borrow from the idea of using $\lambda$ as a way to recalibrate the DL function for high-scoring games, but we will not use the first innings scores for a game. Instead, we will use the par scores we computed using our shrinkage-based method to obtain $\lambda$ for each match. Thus, this extra parameter quantifies high-scoring conditions for us. The DL Pro curve is recalibrated for each match depending on the par score. We are utilising the machinery of the DL Pro Method to build expected runs curves that are modified consistently for different leagues, locations, and years.

The impact of this modelling choice is shown in Fig. 11, which plots the $R_{\rm pro}$ curves using $\lambda$ values computed from the shrinkage-based par scores for Hyderabad in 2018 and 2025. The high-scoring 2025 version ($\lambda = 1.1$) of the ground sees both of its $w=1$ and $w=2$ curves stay higher than the $w=1$ curve from 2018 ($\lambda=1$). The rescaling machinery of the DL Pro formalism has been repurposed to fold in the effect of high-scoring conditions by utilising our shrinkage-reduced par scores.

R_pro curves for Hyderabad 2018 and 2025
Figure 11: The $R_{\rm pro}(b,w,\lambda)$ curves using shrinkage-based par scores for Hyderabad 2018 and 2025, for two values of $w$.

5 Impact

5.1 Motivation

Runs are the fundamental currency of cricket: a match is won by scoring more runs than the other team, given the resources of wickets and overs. It follows that individual performances, even when contextualised, should then be measured in terms of runs only. In the previous sections, we have made strides towards this with our RAA measure. However, RAA does not include the effects of wicket loss. Along with WAA, it measures the performance of a player on a given ball relative to the average player, split in two dimensions. Our Impact metric will seek to combine run-scoring and wickets in one number, in addition to being interpretable as the “runs added” by a player's actions to a team's total. This formulation expresses contextualised performance in one unified number. Impact is also easily interpretable in terms of how much “currency” (runs) a player's actions added to a team's total (scored or conceded), which is the core objective of a team in cricket.

The mathematical language for combining runs and wickets into a “runs” metric has already been provided by the Duckworth-Lewis Method. From each stage in the game, marked by the wickets lost $w$ and balls left $b$, the DL function gives us the expected extra runs to be scored. In our treatment, this function has been augmented with information about the conditions by using the $\lambda$ parameter and shrinkage-adjusted par scores for every match. This setup provides us the tools for an “expected” score after a given point in the innings, which will form the core of the Impact calculation.

5.2 Calculation and Cricketing Logic

Begin with a game state with $b$ balls left and $w$ wickets down, with the team at score $S_i$. Assume that the next ball ($t$) sees a score $s_t$ and wicket $w_t$ ($w_t = 0$ if the ball does not see a wicket fall, and 1 if a wicket falls). The projected final score for the innings before the ball is $F_i = S_i + R_{\rm pro}(b,w,\lambda)$. After the ball, the final score is projected at $F_f = S_i + s_t + R_{\rm pro}(b-1,w+w_t,\lambda)$. The Impact of a ball is the change of the projected final score resulting from that ball. We have

$$I_t \equiv F_f - F_i = s_t + R_{\rm pro}(b-1,w+w_t,\lambda) - R_{\rm pro}(b,w,\lambda).$$
Schematic explaining ball-wise Impact
Figure 12: A schematic explaining the calculation of ball-wise Impact.

We will illustrate this with two examples. In the first case, we will look at a ball when no wicket falls. Imagine a team at 60-2 at the end of 6 overs ($S_i = 60$, $w=2$, $b = 84$) in a match with par score 180 ($\lambda = 1.05$). On the first ball of the seventh over, the batter hits a four ($s_t= 4$, $w_t = 0$). Before the ball, the projected final score is $F_i = S_i + R_{\rm pro}(84,2,1.05) = 60 + 123.57 = 183.57$. After the four is hit, the final projected score is $F_f = S_i + s_t + R_{\rm pro}(b-1,w,\lambda) = 60 + 4 + 122.55 = 186.65$. The action of hitting a four on that ball leads to a projected score difference of $186.65 - 183.57 = 3.08$. This is the Impact on that ball.

For the second case, imagine the same situation at the end of the sixth over (60-2) when a wicket falls. We know the projected score before the ball was bowled ($S_i = 183.57$). With the wicket falling ($w_t = 1$ and $s_t = 0$), the new projected score is $S_f = S_i + s_t + R_{\rm pro}(b-1,w+1,\lambda) = 60 + 0 + 111.77 = 171.77$. The difference is $-11.8$. The wicket loss has resulted in a loss of 11.8 runs from the final total. Note that the conventional definition of Impact and the final values in the above examples are from the batter's perspective. A wicket leads to a loss in the batting team's final projected score. The sign can be inverted while computing Impact for bowlers.

This per-ball Impact number can be aggregated across innings, seasons, and careers. It can be computed for filtered subsets of a batter or bowler's career. It provides context automatically via the DL function, which encodes the empirical ideal progression of a limited-overs innings by being fit to real data. The DL machinery at the heart of the calculation encodes the motion of the run rate as the innings progresses, accounting for both wickets lost and balls left.

Figure 13 shows the Impact value of hitting a four for two values of $w$ and two different par scores. First, the Impact decreases as the innings progresses, reflecting the fact that a higher run rate is expected later in the innings. Second, the Impact is higher when the batting team has lost 3 wickets compared to two: scoring the same runs on a ball with fewer resources left (more wickets lost) at the same stage of the innings rewards the batter more. Finally, the curves with the lower par score are higher: the batter is rewarded more for scoring in tougher conditions. Here, we see the three inputs to the DL Function $(b,w,\lambda)$ encoding cricketing logic in the reward that the Impact metric yields. Hitting earlier, with more wickets lost, or in tougher conditions gets you a higher Impact. All three factors that determine scoring are appropriately considered via the DL function.

Impact value of hitting a four at different points
Figure 13: The Impact value of hitting a four at different points in the innings, computed for two different wickets-lost states and two different par scores.

The same setup also accounts for the decreasing value of a wicket (as evidenced by the high wicket loss rate) as the innings elapses. A wicket lost at a later time in the innings has a less negative impact. This automatically ensures that although batters lose wickets more often at the later stages (as they attack more), they are penalised less for getting out. An example is shown in Fig. 14.

Impact value of the third wicket at different points
Figure 14: The Impact value of the third wicket being lost at different points in the innings.

It must be noted that term “Impact” is a relic from the metric of the same name used first by Cricviz. The Cricviz formulation is different from the methodology above. Our Impact could easily be called “Runs Added”, since it actually measures all performances in terms of final run output. It must also be noted that the wickets-lost contribution to Impact is nominal, in a sense. It measures the effect a wicket would have on the final score in an average match in a given situation. Impact combines the effects of runs and wickets elegantly, but the wicket component comes from an averaged measurement of what a wicket is nominally worth. Finally, Impact measures the “impact” of a ball on the final predicted score, while RAA (also measured in runs), subtracts the exact ball context from the runs scored off a delivery. In this sense, Impact and RAA are related but different.

5.3 Aside: Adjusting Impact for Player Quality

The Impact calculated above accounts for the game state and conditions, ignoring the quality of the opposition player. We can compute an Adjusted Impact that accounts for the overall Impact per ball of the batter and the bowler involved in each delivery. This rewards batters who have scored heavily against strong bowlers, and bowlers who have restricted strong hitters.

We construct the batting and bowling variants of the adjusted impact by adjusting the raw Impact on the ball by the batter or bowler's mean Impact, going through multiple iterations of this update process. To obtain the adjusted Impact at iteration $t+1$, we use

$$I^{(t+1)}_{\rm bat} = \text{Impact} + I_{\rm bowl}^{(t)} \, , \quad I^{(t+1)}_{\rm bowl} = -\text{Impact} + I_{\rm bat}^{(t)},$$

where $I_{\rm bat,bowl}^{(t)}$ is the mean Impact of the player after $t$ iterations. These iterations can be conducted until the difference in the mean adjusted Impact between successive updates reduces below a threshold (thanks to Vishal Misra for this tip). As an additional guard against small sample sizes for certain players in our dataset, we can use shrinkage to compute the player means.

5.4 Relations with Win Rates and Match Outcomes

We will first conduct a basic sanity check on the Impact numbers. The Impact of a batting side summed over an innings essentially equates to the runs the side scores above average. For example, if a team scores 185 when the $R(120,0,\lambda) = 165$, they have scored $+20$ runs, which should be reflected in the sum of the Impact over all balls in the innings. It stands to reason that the difference in total Impact between the two innings of a match should be related to the win status of the match. This supposition grounds Impact as the fundamentally relevant quantity to winning a game.

To test this, we will aggregate the win status and the difference in the two innings total Impacts ($\Delta$) for 2754 matches in our database. We will then make bins of $\Delta$ and compute the mean win rate in each bin. The results are shown as the dots in Fig. 15. Our basic logic is vindicated: higher $\Delta$ translates to more winning. Moreover, we obtain a sigmoid relationship between $\Delta$ and average win rate $p = [1 + e^{-0.25 \Delta}]^{-1}$. The $\Delta$ encodes the difference between the runs scored by the batting team and the runs conceded by the same team while bowling, which is just the runs you scored more or less than the other team. The sigmoid fit tells us that scoring one extra run compared to the other team boosts your winning odds by a factor of 1.28.

Average win rate in bins of Delta
Figure 15: Average win rate in bins of $\Delta$, which is the difference between the total Impact in the two innings of a match.

Next, we want to assess if the total adjusted Impact (adjusted for opposing players as done in the section above) of a team's batting and bowling sides can predict their win probability.

We take the example of a toy innings with 10 balls faced by 3 batters, as explained in Table 2. Player A has a career adjusted Impact per ball of $+2$ over the whole dataset and faces 6 balls. Player B has an adjusted Impact per ball of $+1$ and faces 3 balls. Player C has an adjusted Impact of $-3$ and faces one ball. We use the dataset-wide adjusted Impact values as a gauge of the player quality. The overall quality in this toy innings is the sum of the adjusted dataset-wide Impact over all the balls: $+12 + 3 - 3 = 12$. This is the team's batting strength in that match.

Table 2: Toy example of a calculation for a team's batting impact level: one team in one match, facing 10 balls with three batters.
BatterBalls facedadj_bat (per ball)Contribution
A (opener)6$+2$$+12$
B (middle)3$+1$$+3$
C (tail)1$-3$$-3$
Total10$+12$
QuantityValue
Ball-pooled team mean $(12/10)$$1.2$
Plotted $x$-value (team mean × balls)$12.0$

Now, we have a batting strength number for each match. Note that this is independent of a team's bowling strength at this point. Finally, we make bins of this batting strength and compute the mean win rate in each bin from all the games we have. The result is shown in the left panel of Fig. 16. The binned win probability mean and the batting strength have a weak linear relationship with an $R^2 = 0.200$.

Win rate in bins of batting and bowling strength
Figure 16: Average win rate in bins of batting and bowling strength separately, with the best fit lines and goodness of fit for both.

We similarly take the dataset-wide bowling Impacts of the bowlers who bowled for a team in a match as that team's bowling strength. The relationship between bowling strength and win rate is shown in the right panel of Fig. 16: with an $R^2 = 0.645$, it is much stronger than the batting relationship. In addition, the slope is steeper for the bowling fit compared to the batting.

A team's chances to win a game should depend on the combined strength of their entire roster (batting and bowling). Figure 17 shows the mean win probability in bins of the combined batting and bowling team strengths. We see a strong linear relationship, with $R^2 = 0.943$. Note that these fits use the overall strength of a team: not the Impact in the given match, but the career or dataset mean adjusted Impact values of the entire batting and bowling rosters. Impact works as a reliable gauge of the quality of the players on a team and directly relates the win probability of that team.

Win rate in bins of combined batting plus bowling strength
Figure 17: Average win rate in bins of batting plus bowling strength, with a linear fit.

Finally, we relate the win rate to the difference in the combined batting and bowling team strengths of the two teams. The result is shown in Fig. 18, with the win probability of team 1 in bins of the difference in total team strengths, Team 1 $-$ Team 2. Again, a sigmoid relationship emerges and vindicates the logic behind Impact. The difference in Impact-based team strengths can be used to predict the chances of winning.

Win rate in bins of team strength difference
Figure 18: Average win rate in bins of the difference of batting plus bowling strength between the two opposing teams, with a sigmoid function fit.

We can use the above sigmoid fit as a motivation to train a logistic regression model to predict win probability from the total team strength difference. The match dataset (2754 matches) was split into training and test sets with a 65:35 ratio. The trained logistic regression model returned an AUC of $0.725$ and a log-loss of $0.61$ (against a null of $0.693$). The best-fit sigmoid coefficient of $0.057$ implies that a one-run difference in team strength improves the winning odds by a 1.06 factor. Figure 19 shows the calibration curve for this match prediction model, displaying an excellent match with the perfect calibration line. The total career Impact difference between two team rosters can be used as a predictor of the winner.

Calibration plot for match win probability
Figure 19: Calibration plot for a logistic regressor to predict match win probability from the total team strength difference based on Adjusted Impact.

5.5 Relation with Ball-Level Outcomes

The adjusted career (dataset-wide) batting and bowling Impact values for the batter and bowler involved in one delivery also track the average run rate or boundary rate. In this sense, each delivery is framed as an adversarial event between batter and bowler with the strength of both quantified by their career adjusted Impact per ball values. The difference in these serves as a predictor for a ball-level matchup.

To formalise this, we choose a binary encoding for a ball outcome: the ball is a batter success (1) if it is a boundary and a failure (0) otherwise. Figure 20 shows the mean boundary rate in bins of the batter-bowler adjusted impact difference. The values take the mean of all balls within the relevant bin. The boundary rate tracks the batter-bowler skill gap linearly, with the zero-difference boundary rate being close to the average boundary rate (dataset-wide, grey line).

Boundary probability in bins of batter-bowler Impact difference
Figure 20: Average boundary probability in bins of the difference of the career adjusted Impact difference between the batter and the bowler (at the ball-by-ball level). The grey horizontal line indicates the mean boundary rate in the entire dataset.

We can again build a logistic regressor to predict the binary boundary outcome as a function of this batter-bowler skill level difference on a ball-by-ball level. The regression model was trained on 65% of the balls in the entire dataset, split by the batter. This splitting ensured that the test set does not have any of the batters on which the model was trained. The model AUC is $0.572$, with a log-loss of $0.492$ (null of $0.497$). The calibration curve, plotted using the held-out 35% data, is shown in Fig. 21.

Calibration plot for boundary probability
Figure 21: Calibration plot for a logistic regressor to predict boundary probability at the ball level, based on difference between the batter and bowler career adjusted Impact per ball.

5.6 Relation with Average and SR

Average and strike rate (SR) are the two metrics usually used for quantifying performance. These two often measure the two dimensions of cricket: SR measures run-scoring rate and average combined run-scoring with wicket loss rates. Our Impact formulation combines these two dimensions into one metric. It is only logical to probe how Impact relates to average and SR. This exercise will also yield an important comparison between the two metrics, as we shall see shortly.

Figure 22 shows the average and SR plotted against Impact-per-100 balls, for 741 individual batter seasons (league or T20I) with a minimum of 200 balls faced. Both metrics display a linear relationship with Impact. It is actually SR that has a linear relationship with Impact; the average has runs in the numerator, which makes it roughly proportional to the strike rate. Balls per out actually displays an extremely weak relationship with Impact; taking average and SR together is double-counting in some sense. Nevertheless, we shall keep this in mind and continue with this conventional pair.

Relation of average and strike rate with Impact per 100 balls
Figure 22: The relation of average and strike rate with Impact per 100 balls. Each dot is an individual batting season from a league or T20Is, with the batter having faced a minimum of 200 balls.

We can fit these 741 data points to extract the linear relationship of Impact-per-100-balls (Impact Rate, or IR) to average and SR. The linear regression results are shown in Table 3. The two traditional metrics explain about 75% of the variance in IR. The more interesting finding, however, are the coefficients: $0.713$ for strike rate and $0.293$ for average. These values immediately tell us the mean tradeoff between the two metrics. Increasing your SR by 1 unit and decreasing the average by 0.41 should maintain the same IR. Conversely, a unit increase in average at the cost of decreasing the SR by 2.43 should maintain the same IR. These coefficients change according to game phase, conditions, and other factors, but this remains a generic framework to combine average and SR into one metric linearly and inferring the exact tradeoff between the two. Impact (or IR) is the only relevant metric by virtue of being the excess final runs you score for your team. Indexing the two traditional metrics on Impact as one combination gives us a powerful and elegant method to assess the relative importance among the pair.

Table 3: OLS regression of Impact/100balls on traditional metrics, $\text{Impact Rate} \sim \text{Average} + \text{Strike Rate}$.
CoefficientStd. error$t$$P>|t|$
Intercept−106.7462.467−43.27$<0.001$
Strike rate0.7130.01937.88$<0.001$
Average0.2930.02213.07$<0.001$

$R^2 = 0.751$,   Adj. $R^2 = 0.750$;   $F(2,738) = 1113$,   $p < 10^{-200}$;   $N = 741$ individual batting seasons.

Figure 23 uses the best fit formula obtained above to display a handy lookup table for IR as a function of average and SR. The numbers in the table are mean numbers and might not be equally ideal for different situations and leagues, but they provide a sensible rudimentary guide for gauging the Impact of a batter given their two standard metrics.

Heatmap of Impact Rate as a function of average and strike rate
Figure 23: Heatmap of Impact Rate as a function of average and strike rate.

The lookup table encodes the logic of risk vs reward in T20 and illustrates the negative payoff of batting longer or more conservatively in this format. A batter who preserves their wicket (high average) at the cost of SR will accumulate more runs, but their IR will be negative. A high average is not always positive for the team: a batter averaging between 40 and 45 and striking at around 130 has a net zero IR. This graph shows succinctly why prizes like the IPL Orange Cap reward the suboptimal measure by rewarding accumulated runs. In recent years, the more conservative batters have imbibed this knowledge after years of stubborn resistance, now acknowledging the merits of playing faster. This change is the logic of T20 batting, as illustrated in this table, becoming mainstream among cricketers.

A Note on BASRA: In recent years, some TV broadcasts have seen the use of the so-called BASRA (Batting Average and Strike Rate Aggregate) metric. This is an illogical number constructed by broadcasters without any regard for actual cricket dynamics. By adding the average and SR, BASRA assigns arbitrary equal weights to both. The often cited issue with BASRA is that average and SR have different dimensions; this is not a grave issue in reality if the coefficients of the sum have the right dimensions. The issue with BASRA is assigning equal weights to both average and SR without any guide or objective function. Our Impact linear fit as done above uses the Impact Rate, derived independently and grounded in cricket logic via its reliance on the DL curves, as an objective function. Impact is the objective, the relation we obtained gives us weights that are guided by the “empirical” relation of average and SR to this Impact. They are therefore much more sensible than the arbitrary 1:1 ratio used in BASRA.

5.7 Examples: IPL 2026 Batters and Bowlers

In the following two tables, the interplay and differences between the RAA, WAA, and Impact can clearly be seen. In the batting table, Virat Kohli and Shubman Gill have very high WAA/100b values, demonstrating their ability to preserve wickets. Gill has a low RAA, but his high Impact is driven by his ability to stay at the crease. In the bowling table, Jasprit Bumrah has a low Impact but a high RAA: his low-wicket season had a good relative economy.

Table 4: Top IPL 2026 batters by total Impact, minimum 100 balls faced. Impact Rate is Impact per 100 balls; Impact/Inns is per innings.
BatterRunsSRImpact Imp. RateImp./InnsRAA/100bWAA/100b
Vaibhav Sooryavanshi776237.31232.3171.0414.5278.93−0.61
Rajat Patidar501192.69111.6742.957.9843.080.66
Josh Inglis266186.0172.4950.6914.5033.370.44
Virat Kohli675165.8571.1517.484.4516.911.75
Ishan Kishan602182.4268.7920.854.5924.860.29
KL Rahul593174.4165.5219.274.6822.061.48
Mitchell Marsh563163.1965.1518.885.0113.361.25
Abhishek Sharma563204.7359.2721.553.9537.85−0.68
Finn Allen349214.1150.4330.944.5871.81−2.09
Shubman Gill732163.0349.6411.063.108.141.85
Devdutt Padikkal464168.7349.4517.983.3022.84−0.78
Donovan Ferreira317179.1042.3723.943.2617.630.77
Prabhsimran Singh510168.8737.8012.522.9111.180.60
Tim David305188.2737.7423.302.5226.830.28
Shreyas Iyer498168.8135.9512.192.7712.372.42
Marcus Stoinis216180.0032.5327.113.6122.211.93
Venkatesh Iyer209186.6130.7027.415.1233.661.92
Heinrich Klaasen624160.0029.547.571.972.711.59
Cooper Connolly491163.1225.828.581.9913.611.46
Sai Sudharsan722157.9922.714.971.344.751.28
Table 5: Top IPL 2026 bowlers by total Impact, minimum 100 balls bowled. Economy is runs conceded per over; Impact Rate is Impact per 100 balls; Impact/Inns is per innings.
BowlerBallsEconImpact Imp. RateImp./InnsRAA/100bWAA/100b
Bhuvneshwar Kumar3797.71243.0564.1315.1914.681.76
Jofra Archer3618.78139.8638.748.74−4.141.31
Jason Holder2317.38110.5647.8610.058.113.15
Kagiso Rabada3889.48106.9527.576.29−18.043.00
Sunil Narine3066.65105.4334.468.1135.92−0.00
Prince Yadav3128.4694.5730.316.768.94−0.29
Eshan Malinga3268.8792.7228.446.1812.090.37
Lungi Ngidi2488.0685.8634.627.8125.09−0.45
Sakib Hussain2538.8068.1126.926.1911.59−0.24
Mohsin Khan1688.0465.0438.719.299.661.79
Rashid Khan3418.8259.9617.583.53−9.841.37
Rasikh Salam2599.0358.2622.494.854.471.67
Jamie Overton1688.6156.1033.395.614.312.45
Arshdeep Singh3199.5750.3315.783.60−1.19−1.05
Ravindra Jadeja1988.2749.2924.904.11−0.150.13
Mohammed Siraj3728.7748.9313.152.88−9.790.62
Akeal Hosein1507.8043.4128.946.20−3.090.62
AM Ghazanfar2339.8640.9317.573.72−14.011.81
Yuzvendra Chahal2508.8340.3816.153.3610.900.32
Jasprit Bumrah3017.6736.7112.202.8231.13−3.71

5.8 An Impact Scorecard Template

In Figure 24, we show a novel scorecard template that splits the progression of the innings and match in different phases and plots the Impact in each over. The top line frames the match margin as a competition between two total Impact scores, the “Impact by over” plots show how the innings progressed, while the batting and bowling panels show individual performances by Impact. This design reframes the traditional match summary in terms of the “Runs Added” idea, showing the phases and players in terms of performance compared to the baseline run addition to the final total.

Impact scorecard for the T20 World Cup Final 2024
Figure 24: Impact scorecard for the T20 World Cup Final, 2024.

6 Win Probability

6.1 Computing Win Probability

While Impact describes the runs added by a player's actions to their team's total, it does not describe the player's contribution towards winning by itself. There is an intuitive understanding that higher Impact translates to higher win contributions; this section seeks to quantify that relation and presents a formalism for calculating the win probability added (WPA). Such a calculation requires a base model to provide the win probability at each point in the game. While many approaches exist in the academic literature, including the usage of machine learning models, we will adopt a simpler approach that flows from our DL machinery.

To begin, we construct the fundamental quantity called the score ratio $r$ for the batting team. At a point with $b$ balls left, $w$ wickets down, and $\lambda$ quantifying the conditions, we have

$$r(b, w, \lambda) = \begin{cases} \dfrac{S + R_{\mathrm{pro}}(b, w, \lambda) + 1}{R_{\mathrm{pro}}(120, 0, \lambda)}, & \text{first innings}, \\[1.4em] \dfrac{R_{\mathrm{pro}}(b, w, \lambda)}{N}, & \text{second innings}, \end{cases}$$

where $S$ is the first innings score at the point $(b,w)$, $N$ is the runs required in the second innings from the point $(b,w)$, and $R_{\rm pro}$ is the DL Function. Note that $r$ is defined from the perspective of the batting team in each innings.

In the first innings, $r$ is the ratio of the total score expected at the end of the innings to the expected score in the full innings (120 balls left and 0 wickets down). Notice that the denominator is the runs expected to be scored by the chasing team when the second innings starts. By this logic, $r$ is the ratio of the predicted target (minus one) to the expected score of the chasing team. It is natural that this quantity should relate to the win probability for the first batting team. The higher the first innings score compared to the score expected from a full innings, the greater the first batting team's winning chances. The score ratio is predicting the situation at the innings break using DL using the available information from the incomplete first innings.

In the second innings, the construction of $r$ is more straightforward: it is the ratio of the extra runs predicted from that point by the DL function to the runs required. If the DL formalism predicted many more runs to be scored compared to the required runs, the chasing team has a high chance of winning.

We defined $r$ above from the point-of-view of the batting team in the given innings. From the perspective of the team batting first, the $r$ in the second innings is actually $N/R_{\rm pro}(b,w,\lambda)$. Note that this quantity is continuous at the innings break: if the first batting team scores, $r$ at the end of the first innings is $S/R_{\rm pro}(120,0,\lambda)$, which is the same as our inverted $r$ at the start of the second innings. By construction, $r$ is telling the same story across the two innings: the ratio of runs-to-get for the chasing team to the runs expected via the DL curve.

We took the mean win probability in bins of $r$ across both first and second innings. These two curves were fit to a Pythagorean curve

$$P = \frac{r^n}{1 + r^n},$$

where $P$ denotes the win probability of the batting team in the innings. We found $n=6$ to be the best fit. The two panels of Fig. 25 show the mean $P$ in the bins (minimum 500 balls) as orange dots along with the best fit curve with $n=6$ for the two innings. The Pythagorean fit with a power of 6 works slightly better than fitting a logistic function, improving the log-loss slightly for both innings separately. The first innings AUC is 0.703 and the second innings AUC is 0.809. This increase in AUC is expected because the first innings prediction is using much less information than the second innings version.

Empirical win probability in bins of score ratio r with Pythagorean fit
Figure 25: Empirical win probability in bins of score ratio $r$, along with the best fit Pythagorean curve.

Thus, we use the cricket-data-based DL function, with its inherently sound logic, to derive both Impact and Win Probability. This mechanism avoids black-box methodologies and grounds the inner workings of both these metrics in an explainable framework that is built to capture innings progression in a limited-overs game.

6.2 Calibration Curves for The Probability Model

We tested this DL-based model versus Cricinfo's internal Win Forecaster on a ball-by-ball basis, which uses the game state with additional information like the quality of the batters and bowlers to come and team strengths, among other things. Figure 26 shows the calibration curves for both models: the two are nearly identical. The Brier scores are extremely close (0.182 for the DL-based vs 0.181 for Cricinfo), while the expected calibration error (ECE) is slightly better for the DL-based model (0.0177) compared to Cricinfo's model (0.0242). This demonstrates that game state (wickets and overs left) and a basic proxy for scoring amenability (via $\lambda$) are sufficient to build a reasonable win prediction model; these three factors dominate the flow of a match.

Calibration curves: DL-based win probability vs Cricinfo Win Forecaster
Figure 26: Calibration curves: the DL-based win probability using the Pythagorean relation vs Cricinfo's Win Forecaster.

6.3 Win Probability Added

Figure 27 shows the win probability progression for the T20 World Cup Final in 2024 in Barbados from India's perspective (team batting first). Cricinfo's Win Forecaster value is shown on the same plot. The wickets (red vertical lines) cause discontinuous jumps in the win probability (for both models), reflecting the discontinuous jumps in the predicted score upon the loss of wickets.

Win probability progression, T20 World Cup Final 2024, India's perspective
Figure 27: Win Probability progression, from India's (team batting first) perspective in the T20 World Cup Final in 2024. The vertical red lines show wickets; the dotted yellow curve shows Cricinfo's Win Forecaster prediction.

From the progression of this curve, we can calculate the shift in win probability on each ball and assign that value to the batter and bowler. For the bowler, we will flip the sign of the win probability shift, since our internal table calculates win probability from the perspective of the batting side in each innings (note that the figure above shows it from one team's perspective across the match). Table 6 shows the match scorecard organised by win probability added (WPA) along with total Impact for players from both sides.

Table 6: Win Probability Added (WPA) and Impact by player for the T20 World Cup Final, 2024. WPA/b is per 100 balls; bowling WPA is shown from the bowling side.
1st innings — India batting
PlayerWPAWPA/bImpact
Axar Patel+0.174+0.56+19.0
Virat Kohli+0.077+0.13+14.7
Shivam Dube+0.032+0.20+3.5
Hardik Pandya+0.010+0.50+1.2
Ravindra Jadeja−0.017−0.83−1.3
Rohit Sharma−0.037−0.74−4.4
Suryakumar Yadav−0.107−2.69−11.8
Rishabh Pant−0.116−5.79−13.0
1st innings — South Africa bowling
PlayerWPAWPA/bImpact
Keshav Maharaj+0.104+0.58+12.2
Anrich Nortje+0.071+0.30+7.6
Kagiso Rabada+0.070+0.29+2.1
Tabraiz Shamsi−0.044−0.24−4.9
Aiden Markram−0.067−0.56−7.1
Marco Jansen−0.151−0.61−17.8
2nd innings — South Africa batting
PlayerWPAWPA/bImpact
Heinrich Klaasen+0.481+1.78+22.1
Quinton de Kock−0.034−0.11+6.0
Tristan Stubbs+0.008+0.04+5.6
Anrich Nortje−0.000−0.00−0.3
Kagiso Rabada−0.016−0.53−0.3
David Miller−0.058−0.34−2.1
Marco Jansen−0.174−4.36−5.5
Keshav Maharaj−0.506−7.23−7.7
Reeza Hendricks−0.078−1.57−8.5
Aiden Markram−0.098−1.96−11.0
2nd innings — India bowling
PlayerWPAWPA/bImpact
Arshdeep Singh+0.637+2.65+21.3
Jasprit Bumrah+0.419+1.75+18.5
Hardik Pandya+0.116+0.61+6.4
Ravindra Jadeja−0.093−1.55−6.0
Axar Patel−0.281−1.17−17.4
Kuldeep Yadav−0.322−1.34−21.1

6.4 Example Tables: IPL 2026 by WPA

As another example, Table 7 shows IPL 2026 batters sorted by total season WPA, with a minimum of 200 balls faced. At the top is Vaibhav Sooryavanshi, and his total WPA means he won his team the equivalent of 1.71 matches based on his performance. The same for the bowlers is shown in Table 8: it shows that Bhuvneshwar Kumar won his team 1.70 matches on the back of his performance. Also of note are the numbers for Jasprit Bumrah. In a famously wicket-barren season (his WAA/inns is −0.86, low for a frontline bowler), his economical bowling (7.21 RAA/inns, the best on this table) resulted in a high total WPA (0.58).

Table 7: Top IPL 2026 batters by season Win Probability Added (WPA), minimum 200 balls faced. RAA/inns, WAA/inns, and Impact/inns are per-innings; Season WPA is the total win probability added across the season (in win-probability units).
BatterInnsBallsRAA/innsWAA/innsImpact/innsSeason WPA
Vaibhav Sooryavanshi1632716.13−0.1217.051.71
Shreyas Iyer132952.810.555.381.49
Virat Kohli164074.300.457.521.00
Ishan Kishan153305.470.066.520.75
Heinrich Klaasen153900.700.415.290.73
Shubman Gill164492.290.527.360.70
Rajat Patidar142608.000.129.900.67
Prabhsimran Singh133022.600.145.250.57
Devdutt Padikkal152754.19−0.145.880.46
Mitchell Marsh133453.550.338.860.41
Sai Sudharsan174571.280.344.910.34
Abhishek Sharma152756.94−0.126.410.33
Sanju Samson142883.770.052.720.27
Washington Sundar16251−1.000.280.280.21
KL Rahul143405.360.367.510.21
Table 8: Top IPL 2026 bowlers by season Win Probability Added (WPA), minimum 200 balls bowled. RAA/inns, WAA/inns, and Impact/inns are per-innings and shown from the bowling perspective; Season WPA is the total win probability added across the season.
BowlerInnsBallsRAA/innsWAA/innsImpact/innsSeason WPA
Bhuvneshwar Kumar163793.480.4215.191.70
Jofra Archer16361−0.930.308.741.22
Sunil Narine133068.45−0.008.110.93
Eshan Malinga153262.630.086.180.86
Lungi Ngidi112485.66−0.107.810.63
Kagiso Rabada17388−4.120.696.290.59
Sakib Hussain112532.67−0.066.190.59
Jasprit Bumrah133017.21−0.862.820.58
Prince Yadav143121.99−0.066.760.43
Arshdeep Singh14319−0.27−0.243.600.42
Rasikh Salam122590.960.364.850.41
Yuzvendra Chahal122502.270.073.360.39
Mohammed Siraj17372−2.140.132.880.38
Jason Holder112311.700.6610.050.33
Axar Patel132642.700.012.030.29
Noor Ahmad143070.78−0.142.310.26
Varun Chakravarthy112461.47−0.061.760.25
Prasidh Krishna12234−5.010.28−1.630.24
Shivang Kumar13234−2.15−0.22−2.050.18
Rashid Khan17341−1.970.283.530.18

7 Leverage

Leverage is a concept often used in baseball to calculate how much a single moment can affect the outcome of the game, popularised by sabermetrician Tom Tango. This is accomplished by computing the maximum swing in win probability at a given event in the game. We will perform this calculation for cricket, equipped with our win probability model (thanks to Vibhor Agarwal for pointing me to this concept).

7.1 Definition

For every ball, we look at the win probability for the batting team before the ball is bowled; call this $p_i$. Next, we calculate two hypothetical win probabilities for the given ball: $p_6$, the win probability if the ball is hit for a six, and $p_w$, the win probability if the ball results in a wicket. Hitting a six is the best outcome for the batting team and it changes the win probability by $p_6 - p_i$. Losing a wicket, on the other hand, is the worst possible outcome for the batting team; it changes the win probability by $p_w - p_i$. The absolute difference between these hypothetical best-case and worst-case win probabilities is $p_6 - p_w$. This quantity is what we call leverage.

Cricket viewers and players intuitively identify these big moments as events with high stakes, which can lead to a massive swing in win probability. In that sense, the concept of “big” moments is entirely defined by perception; the laws of cricket do not discriminate between moments. Leverage quantifies this concept. A “big” moment is a high-leverage, high-stakes event which holds significant game-changing possibility.

Figure 28 shows boxplots showing the distributions of ball-by-ball leverage values by the innings number and phase, with the diamonds showing the means of the leverage in each phase. In the first innings, the leverage is the highest in the Powerplay: early wickets can determine the trajectory of the game, even with a potential 34 overs to go. The leverage decreases throughout the first innings: as the balls accrete, so does the information about the game's eventual fate. Late first innings events have very little leverage.

In the second innings, the median leverage goes down similarly with the overs increasing. However, the leverage distributions spread out significantly more than the first innings. The lower end of the distributions gets populated as chases get nearly completed or nearly lost: these are zero-leverage situations. At the other end of the distributions, as games reach the final stages, stakes become higher and individual balls have extremely high potential win probability swings. The first innings distributions are much more centralised in comparison, because first innings balls are relatively far away from the game conclusion. These first innings situations have many more balls left to change the course of the game.

In the first innings, the means and medians are mostly close together; the distributions are close to normal. In the second innings, the distributions get inflated at zero leverage, but also have many high-leverage situations in the last 8 overs, raising the means above the medians. The “big” moments come either early on in the first innings, when the match is yet to be determined, or late in the second innings, when there are very few balls remaining and each ball can tilt the win probability by a lot. This plot essentially shows the distribution of those so-called “big” or “clutch” moments in T20.

Distribution of leverage by innings and phase
Figure 28: The distribution of leverage by innings and phase. The diamonds show the means in each phase.

7.2 Leverage-Weighted Performance

This section is in preparation.

7.3 Clutch Performance

This section is in preparation.