Cricket How to Calculate Net Run Rate

Cricket Net Run Rate (NRR) Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 20px; background-color: #f4f7f6; } .calculator-container { background: #ffffff; padding: 30px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 40px; border-top: 5px solid #2e7d32; } h1 { text-align: center; color: #1b5e20; margin-bottom: 10px; } h2 { color: #2e7d32; border-bottom: 2px solid #e0e0e0; padding-bottom: 10px; margin-top: 30px; } h3 { color: #388e3c; margin-top: 25px; } .input-group { margin-bottom: 20px; } .section-title { font-weight: bold; color: #1b5e20; margin-bottom: 15px; font-size: 1.1em; background-color: #e8f5e9; padding: 10px; border-radius: 6px; } label { display: block; margin-bottom: 8px; font-weight: 600; color: #555; } input[type="number"] { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; box-sizing: border-box; transition: border 0.3s; } input[type="number"]:focus { border-color: #2e7d32; outline: none; } .helper-text { font-size: 0.85em; color: #666; margin-top: 5px; font-style: italic; } button { display: block; width: 100%; padding: 15px; background-color: #2e7d32; color: white; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background 0.3s; } button:hover { background-color: #1b5e20; } #nrrResult { margin-top: 25px; padding: 20px; background-color: #f1f8e9; border-radius: 8px; text-align: center; display: none; border: 1px solid #c8e6c9; } .result-value { font-size: 32px; font-weight: bold; color: #2e7d32; margin: 10px 0; } .result-details { font-size: 14px; color: #555; margin-top: 10px; text-align: left; } .calculation-step { background: #fff; padding: 8px; margin: 5px 0; border-left: 3px solid #81c784; } .content-section { background: white; padding: 30px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); } p { margin-bottom: 15px; } ul { margin-bottom: 15px; padding-left: 20px; } li { margin-bottom: 8px; } .formula-box { background-color: #f5f5f5; padding: 15px; border-left: 4px solid #2e7d32; font-family: monospace; margin: 20px 0; overflow-x: auto; } @media (min-width: 600px) { .flex-row { display: flex; gap: 20px; } .flex-col { flex: 1; } }

Cricket Net Run Rate Calculator

Calculate the NRR for league tables and tournaments.

Your Team's Batting Figures (Scored)
Format: 19.4 means 19 overs and 4 balls. If All Out, enter full quota (e.g. 20.0).
Your Team's Bowling Figures (Conceded)
Format: Overs bowled to the opponent. If opponent All Out, enter full quota.
Net Run Rate
0.000

How to Calculate Net Run Rate (NRR) in Cricket

Net Run Rate (NRR) is the preferred method for ranking teams with equal points in limited-overs cricket tournaments like the IPL, ICC World Cup, and T20 leagues. It measures a team's winning margin or losing margin relative to the number of overs played.

The NRR Formula

NRR = (Runs Scored ÷ Overs Faced) – (Runs Conceded ÷ Overs Bowled)

Essentially, NRR is the difference between a team's average runs scored per over and the average runs conceded per over.

Understanding the Calculation

The calculation involves two main parts:

  1. Team's Run Rate: The total runs scored by the team divided by the total overs faced.
  2. Opponent's Run Rate: The total runs scored by the opponent (runs conceded by you) divided by the total overs bowled.

Subtracting the Opponent's Run Rate from the Team's Run Rate gives you the Net Run Rate. A positive value indicates the team is scoring faster than it is conceding, while a negative value indicates the opposite.

Important Rules for NRR

  • Decimal Overs: In cricket, overs are often written as 10.4 (10 overs and 4 balls). However, mathematically, 4 balls is not 0.4 overs. Since an over has 6 balls, 4 balls equals 4/6 or roughly 0.666 overs. This calculator automatically converts cricket notation (e.g., 10.4) into mathematical decimals for accuracy.
  • All Out Scenarios: This is the most critical rule. If a team is bowled out (All Out) before completing their full quota of overs (e.g., in 18.2 overs in a 20-over match), the NRR calculation uses the full quota of overs (20.0) as the divisor, not the actual overs faced. This penalizes the team for losing all wickets.
  • Abandoned Matches: Matches that are abandoned without a result generally do not contribute to NRR calculations.

Example Calculation

Imagine Team A plays a T20 match:

  • Batting: Team A scores 160 runs in 20.0 overs.
  • Bowling: Team A restricts the opponent to 140 runs in 20.0 overs.

Step 1 (Scoring Rate): 160 / 20 = 8.00
Step 2 (Conceding Rate): 140 / 20 = 7.00
NRR: 8.00 – 7.00 = +1.000

function calculateNRR() { // 1. Get Input Values var runsScoredInput = document.getElementById('runsScored').value; var oversFacedInput = document.getElementById('oversFaced').value; var runsConcededInput = document.getElementById('runsConceded').value; var oversBowledInput = document.getElementById('oversBowled').value; // 2. Validate Inputs if (runsScoredInput === "" || oversFacedInput === "" || runsConcededInput === "" || oversBowledInput === "") { alert("Please fill in all fields to calculate NRR."); return; } var runsScored = parseFloat(runsScoredInput); var oversFaced = parseFloat(oversFacedInput); var runsConceded = parseFloat(runsConcededInput); var oversBowled = parseFloat(oversBowledInput); // Check for negative numbers if (runsScored < 0 || oversFaced <= 0 || runsConceded < 0 || oversBowled 1) { // Handle cases where user types 10.1 (1 ball) var decimalPart = parts[1]; // Take only the first digit if multiple exist to ensure 10.1 is treated as 1 ball, not 10 balls var ballDigit = parseInt(decimalPart.substring(0, 1)); balls = ballDigit; } // Validation: Balls cannot be 6 or more in standard notation (e.g. 10.6 is invalid, it's 11.0) if (balls >= 6) { // If user enters .6, treat as full over. This is loose error handling but helpful. // Better to clamp or alert, but for calculator flow, we calculate purely. // Let's stick to pure math: ball / 6 } return completedOvers + (balls / 6); } // 4. Perform Conversions var mathOversFaced = convertOversToMath(oversFaced); var mathOversBowled = convertOversToMath(oversBowled); // 5. Calculate Rates var battingRunRate = runsScored / mathOversFaced; var bowlingRunRate = runsConceded / mathOversBowled; // 6. Calculate NRR var netRunRate = battingRunRate – bowlingRunRate; // 7. Format Result (standard is 3 decimal places) var formattedNRR = netRunRate.toFixed(3); if (netRunRate > 0) { formattedNRR = "+" + formattedNRR; } // 8. Update UI var resultDiv = document.getElementById('nrrResult'); var valueDiv = document.getElementById('nrrValue'); var detailsDiv = document.getElementById('breakdown'); resultDiv.style.display = "block"; valueDiv.innerHTML = formattedNRR; // Dynamic coloring if (netRunRate >= 0) { valueDiv.style.color = "#2e7d32"; // Green } else { valueDiv.style.color = "#c62828"; // Red } // Detailed Breakdown detailsDiv.innerHTML = `
Team Run Rate: ${runsScored} runs / ${oversFaced} overs (${mathOversFaced.toFixed(4)} math) = ${battingRunRate.toFixed(4)}
Opponent Run Rate: ${runsConceded} runs / ${oversBowled} overs (${mathOversBowled.toFixed(4)} math) = ${bowlingRunRate.toFixed(4)}
Calculation: ${battingRunRate.toFixed(4)} – ${bowlingRunRate.toFixed(4)} = ${formattedNRR}
`; }

Leave a Comment