How Does Run Rate Calculated in Cricket

Cricket Run Rate Calculator

Calculate Current or Net Run Rate Instantly

Note: Use decimal for balls (15.2 = 15 overs, 2 balls)
Your Run Rate is:
0.00

How is Run Rate Calculated in Cricket?

In cricket, the Run Rate (RR) is the average number of runs scored by a batting side per over. It is a fundamental statistic used to track scoring speed and determine targets in limited-overs matches (ODI and T20).

The Mathematical Formula

Run Rate = Total Runs Scored / Total Overs Bowled

The "Decimal Over" Challenge

Calculating run rate isn't as simple as dividing by the decimal you see on the scoreboard. Because an over consists of 6 balls, the decimal part must be converted to a fraction of 6 before dividing.

  • 0.1 over = 1 ball = 1/6 = 0.166 overs
  • 0.2 overs = 2 balls = 2/6 = 0.333 overs
  • 0.3 overs = 3 balls = 3/6 = 0.5 overs
  • 0.4 overs = 4 balls = 4/6 = 0.666 overs
  • 0.5 overs = 5 balls = 5/6 = 0.833 overs

Calculation Example

If a team scores 158 runs in 18.4 overs:

  1. Convert 18.4 overs into true mathematical overs: 18 + (4/6) = 18.666
  2. Divide total runs by true overs: 158 / 18.666 = 8.46
  3. The Run Rate is 8.46 runs per over.

What is Net Run Rate (NRR)?

Net Run Rate is used in tournaments to rank teams with equal points. It is calculated as:

NRR = (Average runs scored per over by the team) – (Average runs conceded per over against the team)

function calculateRunRate() { var runs = document.getElementById('runsScored').value; var oversInput = document.getElementById('oversBowled').value; var resultContainer = document.getElementById('rrResultContainer'); var rrValueDisplay = document.getElementById('rrValue'); var rrBreakdown = document.getElementById('rrBreakdown'); if (runs === "" || oversInput === "" || runs < 0 || oversInput 1) { balls = parseInt(overParts[1]); // If someone types 15.8 (which is impossible in cricket), // we treat it as 15 overs and 8 balls, or simply 16.2 if (balls >= 6) { var extraOversFromBalls = Math.floor(balls / 6); var remainingBalls = balls % 6; wholeOvers += extraOversFromBalls; balls = remainingBalls; } } // Convert to actual decimal for math (e.g. 15.2 -> 15.333) var trueOvers = wholeOvers + (balls / 6); // Calculate RR var runRate = runs / trueOvers; // Update UI rrValueDisplay.innerText = runRate.toFixed(2); rrBreakdown.innerText = "Based on " + runs + " runs in " + wholeOvers + " overs and " + balls + " balls (" + trueOvers.toFixed(3) + " mathematical overs)."; resultContainer.style.display = "block"; // Smooth scroll to result if on mobile resultContainer.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment