The Total Recordable Incident Rate (TRIR) is a mathematical standard used by OSHA (Occupational Safety and Health Administration) to monitor how many recordable injuries and illnesses occur in a workplace per 100 full-time employees annually.
The TRIR Formula
TRIR = (Number of Incidents × 200,000) / Total Employee Hours Worked
The number 200,000 represents the standard base for 100 full-time equivalent workers (100 employees working 40 hours per week for 50 weeks per year).
Why is TRIR Important?
Safety Benchmarking: It allows you to compare your safety performance against industry averages.
Insurance Premiums: Lower TRIR rates often lead to lower Workers' Compensation insurance costs.
Bidding and Contracts: Many clients require a specific TRIR threshold before awarding contracts.
OSHA Inspections: A high TRIR compared to industry peers may trigger a targeted OSHA inspection.
Practical Example
Imagine a manufacturing plant with 150 employees who collectively worked 300,000 hours last year. During that year, there were 4 recordable incidents.
Calculation: (4 × 200,000) / 300,000 = 2.67
The TRIR for this company is 2.67, meaning for every 100 employees, there were 2.67 recordable incidents.
function calculateTRIR() {
var incidents = parseFloat(document.getElementById("incidents").value);
var hours = parseFloat(document.getElementById("hoursWorked").value);
var resultDiv = document.getElementById("trir-result-container");
var trirDisplay = document.getElementById("trir-value");
var statusDisplay = document.getElementById("trir-status");
if (isNaN(incidents) || isNaN(hours) || hours <= 0) {
alert("Please enter valid positive numbers. Hours worked must be greater than zero.");
return;
}
var trir = (incidents * 200000) / hours;
var trirRounded = trir.toFixed(2);
trirDisplay.innerText = trirRounded;
resultDiv.style.display = "block";
// Dynamic feedback based on generic industrial averages
if (trir <= 1.0) {
statusDisplay.innerText = "Excellent: Your safety record is significantly better than most industrial averages.";
statusDisplay.style.backgroundColor = "#e8f5e9";
statusDisplay.style.color = "#2e7d32";
} else if (trir <= 3.0) {
statusDisplay.innerText = "Average: Your incident rate is within standard industrial ranges.";
statusDisplay.style.backgroundColor = "#fff3e0";
statusDisplay.style.color = "#ef6c00";
} else {
statusDisplay.innerText = "High: Your rate exceeds common benchmarks. Consider a safety audit.";
statusDisplay.style.backgroundColor = "#ffebee";
statusDisplay.style.color = "#c62828";
}
// Scroll result into view smoothly
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}