Intersection (Rate per Million Entering Vehicles)
Road Segment (Rate per 100 Million Vehicle Miles)
Total crashes recorded during the study period.
Average number of vehicles passing per day.
Duration of the crash data collection.
Length of the road section being analyzed.
Please enter valid positive numbers for all fields.
Calculated Crash Rate
0.00
Crashes per Million Entering Vehicles
Exposure:0 vehicles
Understanding Crash Rate Analysis
Crash rate analysis is a fundamental component of traffic engineering and road safety audits. Unlike simple crash frequency (the raw count of accidents), a Crash Rate normalizes the data based on traffic volume (exposure). This allows engineers to compare the safety performance of different intersections or road segments regardless of how busy they are.
This calculator handles the two primary methods used by the Federal Highway Administration (FHWA) and state Departments of Transportation (DOT):
Intersection Crash Rate: Measured in crashes per Million Entering Vehicles (MEV).
Road Segment Crash Rate: Measured in crashes per 100 Million Vehicle Miles Traveled (HMVMT).
Formulas Used
1. Intersection Formula (RMEV)
Intersections are point locations, so the exposure is based on the number of vehicles entering that point. The formula calculates the rate per million vehicles.
R = (C × 1,000,000) / (V × 365 × N)
Where:
R: Crash Rate per Million Entering Vehicles (MEV)
C: Total number of crashes in the study period
V: Average Annual Daily Traffic (AADT) volume entering the intersection
N: Number of years of data
2. Road Segment Formula (RMVMT)
For stretches of highway or road, the length of the segment matters. A longer road naturally has more exposure. The formula normalizes for both volume and distance.
R = (C × 100,000,000) / (V × 365 × N × L)
Where:
R: Crash Rate per 100 Million Vehicle Miles Traveled (HMVMT)
L: Length of the road segment in miles
V: AADT volume on the segment
Interpreting the Results
Once you have calculated the crash rate, the next step in a safety analysis is typically to compare this rate against the "Critical Crash Rate" or the statewide average for similar facility types.
Below Average: If your calculated rate is significantly lower than the average for similar roads, the location is performing well regarding safety.
Above Average: A rate higher than the average indicates a potential safety deficiency. Further analysis (such as a collision diagram or field review) may be required to identify patterns like frequent rear-end collisions or angle crashes.
Data Requirements
To ensure accuracy, use the most recent available data:
AADT: Should be an average over the study period if traffic volumes have changed significantly.
Study Period: Typically ranges from 1 to 5 years. Three years is the standard to account for regression to the mean while minimizing changes in site conditions.
Crashes: Ensure you are filtering for the correct severity levels (e.g., Fatal, Injury, or Property Damage Only) depending on the specific safety study goals.
function toggleSegmentInput() {
var type = document.getElementById('calcType').value;
var container = document.getElementById('segmentLengthContainer');
var unitDisplay = document.getElementById('rateUnit');
if (type === 'segment') {
container.style.display = 'block';
unitDisplay.innerHTML = 'Crashes per 100 Million Vehicle Miles Traveled';
} else {
container.style.display = 'none';
unitDisplay.innerHTML = 'Crashes per Million Entering Vehicles';
}
// Hide result when switching types until recalculated
document.getElementById('resultBox').style.display = 'none';
}
function calculateRate() {
// Inputs
var type = document.getElementById('calcType').value;
var crashes = parseFloat(document.getElementById('numCrashes').value);
var aadt = parseFloat(document.getElementById('aadtCount').value);
var years = parseFloat(document.getElementById('studyYears').value);
var length = parseFloat(document.getElementById('segLength').value);
// Output Elements
var resultBox = document.getElementById('resultBox');
var finalRate = document.getElementById('finalRate');
var rateUnit = document.getElementById('rateUnit');
var exposureVal = document.getElementById('exposureVal');
var errorDisplay = document.getElementById('errorDisplay');
// Validation
if (isNaN(crashes) || isNaN(aadt) || isNaN(years) || crashes < 0 || aadt <= 0 || years <= 0) {
errorDisplay.style.display = 'block';
resultBox.style.display = 'none';
return;
}
if (type === 'segment' && (isNaN(length) || length <= 0)) {
errorDisplay.style.display = 'block';
resultBox.style.display = 'none';
return;
}
errorDisplay.style.display = 'none';
var rate = 0;
var exposure = 0;
if (type === 'intersection') {
// Formula: (C * 1,000,000) / (V * 365 * N)
exposure = aadt * 365 * years;
rate = (crashes * 1000000) / exposure;
rateUnit.innerHTML = "Crashes per Million Entering Vehicles (MEV)";
} else {
// Formula: (C * 100,000,000) / (V * 365 * N * L)
exposure = aadt * 365 * years * length;
rate = (crashes * 100000000) / exposure;
rateUnit.innerHTML = "Crashes per 100 Million Vehicle Miles Traveled (HMVMT)";
}
// Formatting
finalRate.innerHTML = rate.toFixed(2);
// Format exposure number with commas
exposureVal.innerHTML = Math.round(exposure).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
resultBox.style.display = 'block';
}