Is T20 actually
random?

Every delivery in the IPL, treated as a random variable. Generating functions, Markov chains and Poisson processes fitted to 1,185 real matches, then put to the test.

Deliveries analysed
0balls
Every one of them a random variable
SCROLL TO BOWL

Five questions,
one ball at a time.

One ball tells you the whole over.

Fit the probability of each outcome on a single legal ball. Its probability generating function G(s) holds everything; raising it to the sixth power gives the exact distribution of runs in an over, with no simulation. Drag the sliders to change how the batter plays.

Per-ball probabilities
Runs in an over · G(s)6 vs IPL
IPL overs ()Model G(s)⁶
Bivariate PGF · H(s,t) for (runs, wickets)

H(s,t) = Σ pr,w sr tw per ball, so an over is H(s,t)6. Partial derivatives at (1,1) give the means and the covariance of runs and wickets; the coefficients give joint probabilities.

Does an innings keep a steady rhythm?

Let Xt be runs in over t of a first innings. The process is covariance stationary if E[Xt] is constant and Cov(Xt, Xt+h) depends only on the lag h. Below, every diagonal of the covariance matrix should be one flat colour if that holds.

Mean runs per over · E[Xt]
Mean ± 1 sdSelected window
From
To
Covariance matrix · Cov(Xs, Xt)
Lag profile · Cov(Xt, Xt+h) across t

For a covariance stationary process each line is flat. Choose a lag.

Lag h

Does the previous ball matter?

Treat each legal ball as a state: Dot, Run (1–3), Boundary (4/6) or Wicket. Estimate the transition probability matrix from consecutive balls, test the order of the chain, and follow Pn to its stationary distribution.

The chain as a graph · click a state
n-step transition matrix · Pn
n

Order of the chain · χ² tests
The "pressure" question

Commentators say dot balls build pressure that brings a wicket. If so, P(Wicket | k dots in a row) should climb with k.

Generalising Bernoulli trials · boundaries per over

Call each ball a trial: boundary or not. Independent trials give a Binomial(6, p). Markov-dependent trials let the chance depend on the last ball: P(B | B) = vs P(B | no B) = . Which one matches the spread of real overs?

IPL oversMarkov-dependentIndependent (Binomial)

When do wickets fall?

If wickets were a Poisson process in balls, the rate would be constant, gaps between wickets geometric, counts in a window Poisson, and wicket times uniform given how many fell. Each postulate is checked below, and so is splitting: boundaries thinned into fours and sixes.

Wicket rate by over · λ(t)

A homogeneous process would be a flat line at the dashed average.

Balls between wickets
IPL gapsGeometric(λ)
Wickets in overs 7–15 vs Poisson
IPL inningsPoisson(μ)
Splitting a Poisson process

Boundaries split into fours and sixes. If boundaries form a Poisson process, each stream is Poisson (mean = variance) and the two are independent.

Bowl an innings · simulated wicket timelines

Homogeneous Poisson (constant λ) against the non-homogeneous rate λ(t) learned from the data. Press bowl a few times and watch where the wickets cluster.

The chase predictor.

A chase is a Markov chain on (runs needed, balls left, wickets in hand). "Won" and "Lost" are absorbing; every other state is transient. Ball probabilities come from real second innings, by era, phase, wickets and required rate, and the absorption probability is solved exactly by recursion.

Any situation
Win probability
–
Replay a real chase
Ball
Is it calibrated? Predicted vs actual, every over of chases

So, is it
random?

What the five models say, how they were built, and where they break.

Data

Method

Every part follows the same loop: derive what the theory predicts, compute it exactly (generating functions, matrix powers, recursion), then test it on held-up real deliveries with χ², Kolmogorov–Smirnov, ANOVA and calibration checks. All fitting is in analysis/build_data.py; the site recomputes the models live in the browser.

Limits

Ball outcomes ignore who is batting and bowling, so every team is "average". Wides and no-balls are modelled as +1 with no ball used. Matches decided by D/L or a super over are excluded. The chase model assumes balls are independent given the state, and Part 1 shows real overs are more variable than that, so it is a little overconfident.

Meet the team.

Kushagr Grover and Ayaan Mendiratta
Kushagr GroverAyaan Mendiratta
MARKOV PITCH