How it works

Our Methodology

How PlainSafetyScore calculates employer safety grades using OSHA Injury Tracking Application data and BLS industry benchmarks.

Download the industry dataset (CSV) , open extract wired into this page's Dataset JSON-LD.

Data Sources

PlainSafetyScore uses two authoritative federal datasets:

We process 9 years of OSHA ITA data covering nearly 2 million employer-year records (ranging from roughly 142,000 to 269,000 per year, growing as OSHA's reporting requirements expanded), filtered to employers with at least 2 years of reporting history and sufficient workforce size to produce statistically meaningful injury rates. This multi-year approach provides a more stable and reliable picture of each employer's safety record than any single year of data alone.

Safety Grade Calculation

For each employer, we compute the Total Case Rate (TCR) - the standard OSHA metric for injury frequency:

TCR = (Total Cases / Hours Worked) × 200,000

We then compare each employer's average TCR against the BLS IIF benchmark for their industry sector (2-digit NAICS) to assign a safety grade:

  • A (Excellent): TCR ≤ 50% of industry average
  • B (Good): TCR 50–80% of industry average
  • C (Average): TCR 80–120% of industry average
  • D (Below Average): TCR 120–200% of industry average
  • F (Poor): TCR > 200% of industry average

Entity Deduplication

We deduplicate employer records across years by normalizing names (stripping legal suffixes such as LLC, Inc, Corp) and matching on the combination of normalized name, city, and state. Each employer profile aggregates all available yearly data into a single multi-year view, enabling trend analysis of safety performance over time. This deduplication approach works well for single-location employers but may not perfectly capture all establishments of large multi-location companies that report under different names at different sites.

Three Populations (do not mix silently)

Every aggregate on this site is labeled against one of three populations. Mixing them in a ratio or side-by-side total without saying so is a data-integrity defect:

  1. ITA inventory (all reporting establishments): employer counts, injury totals, and fatality totals on state/industry pages cover every establishment row in the OSHA ITA extract for that geography or NAICS, including zero-rate and corrupt-hours filings.
  2. Rated TCR subset: published average TCRs, state-vs-state TCR ranks, and "fatalities per rated employer" contrasts use only establishments with a credible Total Case Rate (strictly greater than 0 and at most 50). Zero-rate rows and corrupt-hours artifacts stay in the inventory but are excluded from the average so a handful of bad filings cannot pull a state or industry mean into the hundreds.
  3. BLS IIF survey benchmarks: industry grade benchmarks come from the Bureau of Labor Statistics Injuries, Illnesses, and Fatalities survey, a separate sample design and year cadence from OSHA ITA. Comparing a rated ITA average to a BLS benchmark is intentional and disclosed; it is not the same population as (1) or (2).

When a page shows an inventory count next to a rated average, both numbers are true, they just answer different questions. Prefer the labeled pair over a single unlabeled "employers / avg TCR" reading.

Data Vintage

Current database covers OSHA ITA filings for calendar years 2016 through 2024, representing nine years of continuous safety reporting data. OSHA releases updated ITA data annually, typically 12 to 18 months after the filing year ends. We update our database when new annual data becomes available from OSHA.

Processing Pipeline

We download annual OSHA ITA data files and BLS IIF industry benchmark tables, then process them as follows:

  • Parse 9 years of OSHA ITA submissions (2016–2024), each containing employer name, establishment details, injury and illness counts, and total hours worked
  • Normalize employer names by stripping legal suffixes and standardizing formatting to enable consistent entity matching across years
  • Deduplicate employer records by matching on normalized name + city + state combination
  • Compute Total Case Rate (TCR) and Days Away, Restricted, or Transferred (DART) rate for each employer-year record
  • Match each employer to their 2-digit NAICS industry sector and retrieve the corresponding BLS IIF benchmark rate
  • Assign safety grades by comparing each employer's multi-year average TCR against their industry benchmark
  • Build state-level and industry-level aggregate views for geographic and sector comparisons

No data is fabricated or editorially modified. All injury counts, hours worked, and benchmark rates come directly from OSHA and BLS published datasets.

Data Licensing and Reuse

The underlying facts on PlainSafetyScore, OSHA ITA injury counts, BLS industry benchmark rates, and computed Total Case Rates, are drawn from public-domain federal datasets. You are free to use those raw facts. Our specific compiled dataset, deduplicated employer records, safety-grade methodology, and comparison rankings are covered by the acceptable-use terms in our Terms of Use: personal, journalistic, academic, and non-commercial research use with attribution and a link back is welcome; systematic bulk scraping or reselling a derived dataset that competes with PlainSafetyScore requires our prior written permission. Every employer page carries a citation block with the exact data vintage, and /llms.txt sets the terms for AI-assistant reuse.

PlainSafetyScore does not currently run affiliate links. If that ever changes, activation is operator-gated and any unit would follow a rule specific to this portal's content: no affiliate placement on an employer page in the same view as that employer's safety grade, whether the grade is good or bad, a workplace-safety-consulting or personal-injury-attorney link beside a poor-grade verdict is the exact conflict-of-interest optics this portal's own "not affiliated" disclaimer exists to avoid. Units would be confined to general educational pages (methodology, guides, state/industry hub aggregates) with clear "Advertisement" labeling and the Module 36 density ceiling shared with AdSense. Checked one alternative ad network's public eligibility page against this portal (paperwork readiness only, not an application): baseline requirements are original content, a working privacy policy, and no restricted content categories, this portal's existing pages already satisfy all three, so eligibility is not the blocker if the operator ever chooses to apply.

Limitations

  • Only employers with 20+ employees in high-hazard NAICS sectors are required to submit ITA data.
  • Smaller employers and low-hazard industries are not represented.
  • Grades reflect reported data, underreporting is a known limitation of voluntary/incentivized programs.
  • Year-to-year volatility is higher for employers with fewer total hours worked.
  • BLS IIF benchmarks use 2-digit NAICS; finer-grained industry differences are not captured in the grade.
  • Employer name normalization is imperfect, some large employers with multiple establishments or name variations may appear under separate entries.

Not Affiliated with OSHA or BLS

PlainSafetyScore is an independent data portal and is not affiliated with the Occupational Safety and Health Administration, the Bureau of Labor Statistics, or any government agency.