Calculate Match Run Rate (RR) and Net Run Rate (NRR) instantly.
Runs Scored (Batting)
Runs Conceded (Bowling)
Current Run Rate (RR)0.00
Net Run Rate (NRR)0.00
How to Calculate Cricket Run Rate
In cricket, the Run Rate (RR) is the average number of runs a batting side scores per over. It is a fundamental statistic used to measure the scoring speed of a team during an innings.
The Basic Run Rate Formula
Run Rate = Total Runs Scored / Total Overs Faced
Because an over consists of 6 balls, you cannot simply divide by the decimal. For example, if a team has played 10.3 overs, you must convert the 3 balls into a fraction of an over (3/6 = 0.5). So, the calculation would be: Runs / 10.5.
What is Net Run Rate (NRR)?
Net Run Rate is used to rank teams with equal points in tournament league tables (like the IPL or ICC World Cup). It measures how much faster a team scores runs compared to the speed at which they concede runs.
If a team is bowled out (loses all 10 wickets) before their allotted overs are completed, the calculation for NRR uses the full quota of overs they were entitled to (e.g., 50 overs for an ODI or 20 overs for a T20), rather than the actual overs they survived. This penalizes teams for failing to bat through their innings.
Example Calculation
Team A: Scores 300 runs in 50 overs. (RR = 6.00)
Team B: Scores 250 runs in 50 overs. (RR = 5.00)
Team A's NRR: 6.00 – 5.00 = +1.000
Team B's NRR: 5.00 – 6.00 = -1.000
function calculateCricketMetrics() {
// Inputs for Scored
var runsS = parseFloat(document.getElementById('runsScored').value) || 0;
var oversF = parseFloat(document.getElementById('oversFaced').value) || 0;
var ballsF = parseFloat(document.getElementById('ballsFaced').value) || 0;
// Inputs for Conceded
var runsC = parseFloat(document.getElementById('runsConceded').value) || 0;
var oversB = parseFloat(document.getElementById('oversBowled').value) || 0;
var ballsB = parseFloat(document.getElementById('ballsBowled').value) || 0;
// Validation for Scored
if (oversF === 0 && ballsF === 0) {
alert("Please enter overs faced to calculate Run Rate.");
return;
}
// Convert Overs to Decimal (e.g. 10.3 -> 10.5)
var totalOversFaced = oversF + (ballsF / 6);
var totalOversBowled = oversB + (ballsB / 6);
// Calculate Batting Run Rate
var rr = runsS / totalOversFaced;
// Calculate NRR components
var nrr = 0;
if (totalOversBowled > 0) {
var battingAvg = runsS / totalOversFaced;
var bowlingAvg = runsC / totalOversBowled;
nrr = battingAvg – bowlingAvg;
}
// Display results
document.getElementById('results-box').style.display = 'block';
document.getElementById('displayRR').innerText = rr.toFixed(2);
document.getElementById('displayNRR').innerText = (nrr > 0 ? "+" : "") + nrr.toFixed(3);
// Summary Text
var summary = "Your team scored at " + rr.toFixed(2) + " runs per over.";
if (totalOversBowled > 0) {
summary += " The opponent scored at " + (runsC / totalOversBowled).toFixed(2) + " runs per over.";
}
document.getElementById('summary-text').innerText = summary;
// Scroll to result
document.getElementById('results-box').scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}