Losses below the split point (e.g., first $18.5k of each claim).
Loss amounts exceeding the split point.
Expected Losses (Benchmarks)
Based on payroll classification codes.
Expected severity based on industry.
Rating Factors
Factor between 0 and 1 determined by company size.
Stabilizing value added to both sides of equation.
Premium Info (Optional)
Premium before EMR is applied.
Your Estimated EMR
1.00
Neutral
Base Premium:–
Modified Premium:–
Premium Savings/Surcharge:–
*This calculator uses a simplified version of the NCCI Split Plan formula. Official ratings may vary by state and year-specific factors.
Understanding Your Experience Modification Rate (EMR)
The Experience Modification Rate (EMR), also known as the "Mod Factor," is a multiplier used by insurance carriers to calculate workers' compensation premiums. It serves as a benchmark for your company's safety history compared to others in your industry.
How the Formula Works
The EMR is calculated using a complex actuarial formula, typically managed by the NCCI (National Council on Compensation Insurance). The simplified logic used in this calculator is:
The formula distinguishes between Primary Losses (frequency) and Excess Losses (severity). Primary losses are weighted more heavily than excess losses because frequency is considered a better predictor of future risk than severity.
Interpreting Your Score
1.0 (Unity): This is the industry average. Your losses are exactly what is expected for a company of your size and type. You pay the standard manual premium.
Below 1.0 (Credit Mod): Your safety record is better than average. An EMR of 0.85 means you pay 85% of the standard premium (a 15% discount).
Above 1.0 (Debit Mod): Your safety record is worse than average. An EMR of 1.25 means you pay 125% of the standard premium (a 25% surcharge).
Key Inputs Defined
Primary Losses: The cost of each claim up to a specific "split point" (often $18,500). This measures frequency.
Excess Losses: The remaining cost of claims above the split point. This measures severity.
Expected Losses: Statistical benchmarks derived from your payroll and classification codes.
Weighting Value (W): A factor that determines how much actual excess losses count. Smaller companies have lower 'W' values to protect them from the volatility of one large claim.
Ballast: A stabilizing value added to the numerator and denominator to prevent extreme swings in the EMR for smaller companies.
How to Lower Your EMR
Since the EMR is based on a rolling 3-year period (excluding the most recent year), improving safety today will pay off in future years. To lower your score: implement return-to-work programs, enforce safety protocols to reduce claim frequency, and audit your experience rating worksheets for clerical errors regarding payroll or open claims.
function calculateEMR() {
// Get Inputs
var actPrimary = parseFloat(document.getElementById('actPrimary').value);
var actExcess = parseFloat(document.getElementById('actExcess').value);
var expPrimary = parseFloat(document.getElementById('expPrimary').value);
var expExcess = parseFloat(document.getElementById('expExcess').value);
var weight = parseFloat(document.getElementById('weightVal').value);
var ballast = parseFloat(document.getElementById('ballastVal').value);
var basePremium = parseFloat(document.getElementById('basePremium').value);
// Validation: Check for required fields (Losses and Factors)
if (isNaN(actPrimary) || isNaN(actExcess) || isNaN(expPrimary) || isNaN(expExcess) || isNaN(weight) || isNaN(ballast)) {
alert("Please fill in all Loss, Weighting, and Ballast fields to calculate the EMR.");
return;
}
// Logic Implementation (NCCI Split Formula Approximation)
// Numerator = Ap + (W * Ae) + ((1-W) * Ee) + B
// Denominator = Total Expected Losses + B = (Ep + Ee) + B
// Note: The NCCI formula adjusts Expected Excess in the numerator to stabilize
var oneMinusW = 1.0 – weight;
// Numerator Calculation
// Actual Primary + (Weight * Actual Excess) + ((1-Weight) * Expected Excess) + Ballast
var numerator = actPrimary + (weight * actExcess) + (oneMinusW * expExcess) + ballast;
// Denominator Calculation
// Expected Primary + (Weight * Expected Excess) + ((1-Weight) * Expected Excess) + Ballast
// Simply: Total Expected + Ballast
var totalExpected = expPrimary + expExcess;
var denominator = totalExpected + ballast;
// Calculate EMR
var emr = 0;
if (denominator > 0) {
emr = numerator / denominator;
}
// Round to 2 decimals
var emrRounded = Math.round(emr * 100) / 100;
// Display EMR
document.getElementById('displayEmr').innerText = emrRounded.toFixed(2);
document.getElementById('emr-results').style.display = 'block';
// Set Badge Status
var badge = document.getElementById('statusBadge');
if (emrRounded 1.0) {
badge.className = "emr-status-badge status-bad";
badge.innerText = "Debit Mod (Surcharge)";
} else {
badge.className = "emr-status-badge status-neutral";
badge.innerText = "Industry Average";
}
// Calculate Premium Impact if Base Premium is provided
var resBase = document.getElementById('resBasePremium');
var resMod = document.getElementById('resModPremium');
var resDiff = document.getElementById('resDifference');
if (!isNaN(basePremium) && basePremium > 0) {
var modifiedPremium = basePremium * emrRounded;
var difference = modifiedPremium – basePremium;
// Formatting
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
resBase.innerText = formatter.format(basePremium);
resMod.innerText = formatter.format(modifiedPremium);
if (difference 0) {
resDiff.style.color = "#d9534f"; // red
resDiff.innerText = "+" + formatter.format(difference) + " (Increased Cost)";
} else {
resDiff.style.color = "#333";
resDiff.innerText = "$0.00";
}
} else {
resBase.innerText = "N/A";
resMod.innerText = "N/A";
resDiff.innerText = "Enter Base Premium to see impact";
resDiff.style.color = "#333";
}
}