A bowling handicap is a method used to level the playing field between bowlers of different skill levels. It allows a beginner to compete fairly against a seasoned professional by adding "bonus pins" to the lower-scoring player's score.
The standard formula for calculating a bowling handicap is:
(Basis Score – Your Average) x Percentage Factor = Handicap
Most competitive leagues use a basis score that is higher than the highest average in the league (often 210 or 220) and a percentage factor between 80% and 100%.
Calculation Example
Imagine you are joining a league with the following rules:
Basis Score: 200
Percentage: 90%
Your Average: 150
The calculation would look like this:
Subtract average from basis: 200 – 150 = 50
Multiply by percentage: 50 x 0.90 = 45
Your Handicap: 45 pins per game.
Bowler Average
Basis / %
Resulting Handicap
130
210 at 90%
72
175
210 at 90%
31
205
210 at 90%
4
Key Rules to Remember
Rounding: In bowling, you always drop the fraction (round down to the nearest whole number). You never round up.
Negative Handicaps: If your average is higher than the basis score, your handicap is typically 0. Very few leagues use "negative handicaps."
Establishing Average: Most leagues require you to bowl 3 to 9 games to establish an initial average before your handicap becomes official.
function calculateHandicap() {
var avg = parseFloat(document.getElementById("bowlerAverage").value);
var basis = parseFloat(document.getElementById("basisScore").value);
var pct = parseFloat(document.getElementById("percentageFactor").value);
var resultBox = document.getElementById("handicapResultBox");
var displayValue = document.getElementById("handicapValue");
var displayDesc = document.getElementById("resultDescription");
if (isNaN(avg) || isNaN(basis) || isNaN(pct)) {
alert("Please enter valid numbers for all fields.");
return;
}
if (avg >= basis) {
displayValue.innerHTML = "0";
displayDesc.innerHTML = "Since your average is equal to or higher than the basis score, your handicap is 0.";
} else {
var diff = basis – avg;
var decimalPct = pct / 100;
var handicap = Math.floor(diff * decimalPct);
displayValue.innerHTML = handicap;
displayDesc.innerHTML = "This means for every game you bowl, " + handicap + " pins will be added to your actual score to determine your handicap total.";
}
resultBox.style.display = "block";
}