No history yet

Cricket Data Synthesis

Building the Match Story, Ball by Ball

Professional cricket analysis moves beyond simple scorecards. It reconstructs the entire game from its most fundamental unit: a single delivery. This is where ball-by-ball data comes in. Sources like Cricsheet provide detailed logs of every delivery in a match, often structured in formats like JSON or YAML.

Instead of just seeing that a batter scored 50 runs, this event-level data tells us the story of how they scored them. It details the bowler for each ball, the type of shot played, the runs scored, and if a wicket fell, the method of dismissal. Each delivery becomes a row in a massive dataset, packed with context.

{
  "match_id": 1298150,
  "season": "2022",
  "innings": 1,
  "overs": [
    {
      "over": 0,
      "deliveries": [
        {
          "batter": "YBK Jaiswal",
          "bowler": "Mohammed Shami",
          "runs": {
            "batter": 0,
            "extras": 0,
            "total": 0
          }
        },
        {
          "batter": "YBK Jaiswal",
          "bowler": "Mohammed Shami",
          "runs": {
            "batter": 1,
            "extras": 0,
            "total": 1
          },
          "wickets": [
            {
              "player_out": "YBK Jaiswal",
              "kind": "caught",
              "fielders": [
                {
                  "name": "R Sai Kishore"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

This structure captures the basic narrative. We know who faced whom, what the result was, and how a dismissal occurred. But it doesn't capture the physics of the interaction. For that, we need to integrate another layer of data.

Adding the Physics Layer

To understand why an event happened, we need data from tracking systems. This is where technologies like Hawkeye and LiDAR come into play. These systems, common in broadcast and professional coaching, capture the physical properties of the ball and players.

Lesson image

Hawkeye uses a series of high-speed cameras to triangulate the ball's position throughout its flight. This provides a wealth of information not available from the event log alone:

  • Release Point: The exact height and width of the bowler's delivery.
  • Speed: At release, just before bouncing, and off the bat.
  • Trajectory & Swing: The amount of deviation in the air.
  • Bounce Point: Where the ball pitched on the wicket.
  • Spin/Seam Movement: Revolutions per minute and deviation off the pitch.

Fusing this tracking data with the ball-by-ball event data creates a much richer picture. We can now link a specific dismissal (e.g., 'bowled') to the physical characteristics of the delivery that caused it (e.g., a 145 kph yorker that swung 15cm late).

Factoring in the Elements

The final piece of the puzzle is the environment. Conditions on the day can dramatically influence a match. Professional teams pull in meteorological data via APIs to capture features like humidity, wind speed and direction, and dew point for every phase of the game.

High humidity and cloud cover can help the ball swing more. Strong cross-winds can challenge both bowlers and batters. A rising dew point in an evening match can make the ball slick and difficult for spinners to grip, giving an advantage to the batting side.

By integrating this data, analysts can start to quantify these effects. For example, they can model a specific bowler's swing variation as a function of humidity and wind direction, or a batting team's run rate increase after the dew point reaches a certain threshold. This turns anecdotal wisdom into actionable strategy.

From Raw Data to Analytics Gold

Collecting these disparate data sources is only the first step. To make them useful, they must be processed through a pipeline, often described in terms of 'medallion architecture' with bronze, silver, and gold layers.

LayerDescriptionExample
BronzeRaw, unaltered data from the source systems.Unparsed JSON file from Cricsheet, a raw CSV log from Hawkeye, an hourly weather API response.
SilverCleaned, validated, and integrated data. All sources are joined into one table.A single, structured table where each row is a delivery, with columns for all event, tracking, and weather data.
GoldAggregated, feature-engineered data ready for a specific use case.A summary table showing a batter's average runs per ball against left-arm spin when humidity is >80%.

This structured approach is crucial because of in match data. The state of the game—the score, the over number, the wear on the ball—is a result of everything that has come before. A delivery in the 45th over of a chase has a different context than one in the 1st over. A gold-layer dataset might include features like 'required run rate' or 'balls remaining', which depend on the sequence of events. Building these layers systematically ensures that analysis and models are based on a complete and accurate picture of the game's evolving state.

By analyzing cricket data from previous matches at a venue, teams can anticipate pitch behavior, aiding in team selection and strategy formation.

By synthesising event, tracking, and environmental data into these structured layers, teams move from simply reporting on what happened to predicting what might happen next. This is the foundation of modern cricket analytics.