Estimate your Workers' Comp Mod using NCCI formula logic.
1. Actual Losses (From Loss Run)
2. Expected Losses (From Rating Sheet)
3. Rating Factors (From Rating Sheet)
Estimated EMR (Mod)1.00
Neutral
Adjusted Actual Losses (Numerator):$0.00
Adjusted Expected Losses (Denominator):$0.00
Premium Impact:0%
How is an Experience Modification Rate Calculated?
The Experience Modification Rate (EMR), often called the "Mod," is a critical factor in determining your workers' compensation insurance premiums. It compares your company's past claim history to other companies of similar size in your industry.
The Basic EMR Formula
While specific state formulas and factors change annually, the core logic used by the National Council on Compensation Insurance (NCCI) generally follows this structure:
Ap (Actual Primary Losses): The cost of your claims up to the "split point" (e.g., the first $18,500 of a claim). This measures frequency.
Ae (Actual Excess Losses): The remaining cost of claims above the split point. This measures severity.
E (Total Expected Losses): What statistical tables predict a company of your size and industry should have in losses.
Ee (Expected Excess Losses): The portion of expected losses allocated to excess.
W (Weighting Value): A factor between 0 and 1 that determines how much "credibility" is given to your actual excess losses. Larger companies have higher W values.
B (Ballast Value): A stabilizing value added to both the top and bottom of the equation to prevent extreme swings for smaller companies.
The Impact of Frequency vs. Severity
The formula is heavily weighted towards Primary Losses (Frequency). This means having ten small claims of $5,000 each hurts your EMR score significantly more than one large claim of $50,000.
Why? Because insurance actuaries view frequency as a better predictor of future risk than severity. A specific severe injury might be bad luck, but frequent small injuries indicate systemic safety issues.
What is a Good EMR Score?
1.0: This is the industry average. You are paying the standard manual premium rate.
Below 1.0 (Credit Mod): Your loss history is better than average. You earn a discount on your premium (e.g., 0.85 Mod = 15% discount).
Above 1.0 (Debit Mod): Your loss history is worse than average. You pay a surcharge (e.g., 1.25 Mod = 25% surcharge).
How to Lower Your EMR
Since the formula penalizes frequency, the most effective way to lower your EMR is to prevent accidents entirely. However, aggressive Return-to-Work programs can also help keep claim costs below the split point, ensuring they remain "Primary" losses rather than bleeding into "Excess" territory.
function calculateEMR() {
// Get input values
var ap = parseFloat(document.getElementById('actualPrimary').value);
var ae = parseFloat(document.getElementById('actualExcess').value);
var ep = parseFloat(document.getElementById('expectedPrimary').value);
var ee = parseFloat(document.getElementById('expectedExcess').value);
var w = parseFloat(document.getElementById('weightingValue').value);
var b = parseFloat(document.getElementById('ballastValue').value);
// Validation
if (isNaN(ap) || isNaN(ae) || isNaN(ep) || isNaN(ee) || isNaN(w) || isNaN(b)) {
alert("Please fill in all fields with valid numbers.");
return;
}
if (w 1) {
alert("Weighting Value (W) must be between 0 and 1.");
return;
}
// Calculation Logic
// Formula: Mod = (Ap + W*Ae + (1-W)*Ee + B) / (Ep + Ee + B)
// Note: Total Expected (E) = Ep + Ee
var totalExpected = ep + ee; // Denominator part excluding Ballast
// Calculate Numerator: Adjusted Actual Losses
// Actual Primary + (Weighted Actual Excess) + (Stabilizing Expected Excess) + Ballast
var weightedActualExcess = w * ae;
var stabilizingExpectedExcess = (1 – w) * ee;
var numerator = ap + weightedActualExcess + stabilizingExpectedExcess + b;
// Calculate Denominator: Total Expected Losses + Ballast
var denominator = totalExpected + b;
// Prevent division by zero
if (denominator === 0) {
alert("Denominator cannot be zero. Check Expected Losses and Ballast.");
return;
}
var emr = numerator / denominator;
// Display Results
document.getElementById('result-container').style.display = 'block';
// Format EMR to 2 decimal places
document.getElementById('displayMod').innerText = emr.toFixed(2);
// Format currency values
var currencyFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
document.getElementById('displayNumerator').innerText = currencyFormatter.format(numerator);
document.getElementById('displayDenominator').innerText = currencyFormatter.format(denominator);
// Calculate Impact
var impact = (emr – 1.0) * 100;
var impactText = "";
var statusElement = document.getElementById('modStatus');
if (emr 1.0) {
impactText = Math.abs(impact).toFixed(1) + "% Surcharge";
document.getElementById('displayImpact').style.color = "red";
statusElement.className = "status-badge status-bad";
statusElement.innerText = "Debit Mod (High Risk)";
} else {
impactText = "No Impact (Average)";
document.getElementById('displayImpact').style.color = "#333";
statusElement.className = "status-badge status-neutral";
statusElement.innerText = "Industry Average";
}
document.getElementById('displayImpact').innerText = impactText;
}