Gross Annual Sales/Revenue
Total Annual Payroll
Square Footage (Area)
This rate is assigned by insurers based on your industry classification code.
0.8 – Low Risk / Excellent History
1.0 – Standard / New Business
1.2 – Moderate Risk / Minor Claims
1.5 – High Risk / Prior Claims
Estimated Annual Premium
$0.00
Calculation: (0 ÷ 1000) × 0 × 1.0
Understanding General Liability Insurance Rates
General Liability (GL) insurance is a foundational coverage for businesses, protecting against third-party claims of bodily injury, property damage, and advertising injury. Unlike fixed-cost products, GL premiums are variable, calculated based on the specific "exposure" your business presents to the insurer.
How the Calculation Works
The insurance industry uses a standard formula to determine premiums. The math relies heavily on classification codes (ISO codes) which assign a specific rate to a specific business activity. The formula generally follows this structure:
The "Exposure" is the metric that best represents the size and risk of your business operations. Different industries use different bases:
Gross Sales (Revenue)
Used for: Retail stores, restaurants, consultants, and manufacturers. The unit is typically per $1,000 of sales.
Payroll
Used for: Construction contractors, janitorial services, and labor-intensive trades. The unit is typically per $100 or $1,000 of payroll.
Area (Square Footage)
Used for: Commercial buildings, office spaces, and schools. The unit is typically per 1,000 square feet.
Admissions
Used for: Events, theaters, and stadiums. The unit is per number of people admitted.
2. The Class Code Rate
Every business is assigned a General Liability Class Code. This code corresponds to a base rate derived from actuarial data regarding the likelihood of claims in that specific industry. For example, a roofing contractor will have a significantly higher base rate than a graphic design agency due to the physical risks involved.
Example: If your rate is $5.00 and your basis is per $1,000 of sales, you pay $5.00 for every $1,000 your company earns.
3. Experience Modifiers
The "Experience Mod" adjusts the premium based on your specific history. A business with a clean claims history generally starts at a 1.0 modifier. If you have had frequent or severe claims, this number may rise above 1.0 (increasing your premium). Conversely, favorable history or safety programs can sometimes lower this factor below 1.0.
Why Rates Fluctuate
Your General Liability rate is not static. It can change at your annual audit based on:
Audit Results: Since premiums are often estimated at the start of the policy term, the final cost is adjusted after an audit of your actual sales or payroll figures.
Location: Rates vary by state and zip code due to local litigation environments and laws.
Limit Selection: Higher coverage limits (e.g., $2 million vs. $1 million) will increase the premium, though usually not by double.
Disclaimer: This calculator provides an estimate for educational purposes only. Actual insurance quotes are subject to underwriting guidelines, state taxes, fees, and specific carrier algorithms.
function updateLabels() {
var basis = document.getElementById('ratingBasis').value;
var expLabel = document.getElementById('exposureLabel');
var rateLabel = document.getElementById('classRate').previousElementSibling; // Get label for classRate
if (basis === 'revenue') {
expLabel.textContent = "Gross Revenue ($)";
rateLabel.textContent = "Class Code Rate (per $1,000)";
} else if (basis === 'payroll') {
expLabel.textContent = "Total Annual Payroll ($)";
// Payroll is commonly rated per $100 or $1000, let's stick to $1000 for consistency in logic or adjust logic.
// Standard GL payroll is often per $1,000. Workers Comp is per $100.
// We will assume per $1,000 for GL Payroll to keep divisor consistent, or update logic.
// Actually, GL Payroll is typically per $1,000. Workers Comp is per $100.
// We will stick to 1000 divisor for GL.
rateLabel.textContent = "Class Code Rate (per $1,000)";
} else if (basis === 'area') {
expLabel.textContent = "Total Square Footage (Sq Ft)";
rateLabel.textContent = "Class Code Rate (per 1,000 Sq Ft)";
}
}
function calculatePremium() {
// 1. Get Input Values
var exposure = parseFloat(document.getElementById('exposureAmount').value);
var rate = parseFloat(document.getElementById('classRate').value);
var modifier = parseFloat(document.getElementById('riskModifier').value);
// 2. Validation
if (isNaN(exposure) || exposure < 0) {
alert("Please enter a valid exposure amount (Revenue, Payroll, or Sq Footage).");
return;
}
if (isNaN(rate) || rate < 0) {
alert("Please enter a valid Class Code Rate.");
return;
}
// 3. Define Divisor (Standard for GL is usually per 1,000 units of exposure)
var divisor = 1000;
// 4. Calculate
// Formula: (Exposure / Divisor) * Rate * Modifier
var basePremium = (exposure / divisor) * rate;
var finalPremium = basePremium * modifier;
// 5. Display Results
var resultBox = document.getElementById('resultBox');
var premiumResult = document.getElementById('premiumResult');
// Formatting currency
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
premiumResult.textContent = formatter.format(finalPremium);
// Update breakdown span tags
document.getElementById('calcExposure').textContent = exposure.toLocaleString();
document.getElementById('calcDivisor').textContent = divisor;
document.getElementById('calcRate').textContent = rate.toFixed(2);
document.getElementById('calcMod').textContent = modifier.toFixed(1);
// Show box
resultBox.style.display = 'block';
}