Methodology
Last updated: April 2026
FastDOL aggregates publicly available federal enforcement records into unified employer profiles. This page explains where the data comes from, how it's matched, and the known limitations. Every number shown on an employer profile is drawn directly from government sources — FastDOL does not create, modify, or editorialize the underlying data.
A note on risk scoring:FastDOL previously displayed a computed risk tier (LOW / MEDIUM / ELEVATED / HIGH). We've removed the tier display while we refine the methodology and validate it against real-world outcomes. The underlying data on every profile remains unchanged — you can review the raw inspection, violation, and penalty counts and draw your own conclusions.
Data Sources
Risk scores are derived from two primary federal data sources:
- OSHA enforcement data — inspections, violations, and penalties from the Department of Labor's Occupational Safety and Health Administration. Includes violation severity classifications (willful, repeat, serious, other) and assessed penalties.
- WHD enforcement data — compliance actions from the Department of Labor's Wage and Hour Division. Includes case counts, back wages owed, and number of employees affected by violations.
Additional data from MSHA, EPA, FMCSA, NLRB, and OFLC is displayed on employer profiles. OFCCP federal contractor compliance data is planned for a future update — ingestion is under development.
The Formula
The raw score sums weighted components, each capped to prevent any single factor from dominating:
| Component | Formula | Max Points | Why |
|---|---|---|---|
| Fatality investigations | count × 25 | 50 | Workplace fatality investigations — the strongest safety signal available |
| Willful violations | count × 30 | 50 | OSHA's most severe classification — employer knowingly violated the law |
| Repeat violations | count × 15 | 30 | Same or similar violation found in a prior inspection |
| Serious violations | count × 3 | 20 | Hazards that could cause death or serious physical harm |
| Other violations | count × 0.5 | 5 | Violations with no direct safety impact (recordkeeping, posting, etc.) |
| OSHA penalties | total ÷ $10,000 | 15 | Total assessed penalties across all inspections |
| WHD back wages | total ÷ $10,000 | 8 | Wages found owed to workers in WHD investigations |
| WHD cases | count × 1.5 | 4 | Number of separate WHD enforcement cases |
| Employees violated (WHD) | count ÷ 25 | 3 | Number of workers affected by wage violations |
| High violation rate | see note | 10 | +10 pts if ≥75% of inspections found violations, +5 pts if ≥50%. Requires 2+ inspections. |
| Serious finding concentration | see note | 8 | +8 pts if ≥50% of inspections had serious-or-worse findings, +4 pts if 2+ such inspections. |
| Maximum raw score | 203 | (capped to 100 after time decay) | |
Time Decay
The raw score is multiplied by a time decay factor based on the most recent enforcement activity (OSHA inspection or WHD case). Recent activity counts at full weight; older activity is progressively discounted:
| Most Recent Activity | Multiplier |
|---|---|
| Within 3 years | 1.0 (full weight) |
| 3-4 years ago | 0.8 |
| 4-5 years ago | 0.6 |
| Over 5 years ago | 0.4 |
| No activity on record | 0.0 |
The final score is clamped to the 0-100 range: min(100, max(0, raw_score × decay)).
Risk Tiers
The numeric score is mapped to a risk tier. Willful and repeat violations trigger automatic tier overrides regardless of the numeric score:
| Tier | Criteria |
|---|---|
| HIGH | Score ≥ 50, or any willful violation within 5 years, or 3+ repeat violations within 5 years |
| ELEVATED | Score 20-49, or any workplace fatality investigation on record |
| MEDIUM | Score 5-19, or any OSHA violations in last 3 years, or enforcement actions across 2+ agencies |
| LOW | Score 0-4 with no recent enforcement activity |
Employers with any recorded violations in the last 3 years cannot be LOW — recent enforcement activity is itself a risk signal even when the numeric score is modest.
Trend Signal
The trend compares enforcement activity in the last 12 months against the 36-month average. It requires at least 3 violations in the 3-year window to produce a non-STABLE signal:
- WORSENING — last 12 months > 150% of the 3-year annual average
- IMPROVING — last 12 months < 50% of the 3-year annual average
- STABLE — in between, or insufficient data
Confidence Tier
Reflects how much federal enforcement data exists for this employer:
- HIGH — 3+ OSHA inspections on record
- MEDIUM — 1-2 OSHA inspections or 1+ WHD cases
- LOW — no OSHA inspections and no WHD cases (employer exists in the system but has minimal enforcement history)
Entity Matching
Employer profiles aggregate enforcement records across multiple federal agencies using deterministic matching on normalized employer name, state, and ZIP code. Records from different agencies are linked to the same profile when these three fields match.
Parent company matching uses a curated seed table of 138 patterns (e.g., “WALMART” mapping to “Walmart Inc.”) plus ITA Form 300A company name data to group subsidiary locations under their parent entity.
Matching errors may occur — particularly for employers with common names operating in the same state and ZIP code. If you believe records have been incorrectly attributed, please email corrections@fastdol.com.
Peer Percentile
Each employer's violation count is ranked against peers in the same 4-digit NAICS industry and state. The percentile (0-100) indicates what percentage of peers have fewer violations. A peer group of at least 10 employers is required for the percentile to be displayed.
Industry Benchmarks
DART (Days Away, Restricted, or Transferred) and TRIR (Total Recordable Incident Rate) benchmarks come from the Bureau of Labor Statistics Survey of Occupational Injuries and Illnesses (SOII), Table 1. Benchmarks are matched at the most specific NAICS level available (6-digit → 5 → 4 → 3 → 2 digit). Self-reported employer rates come from OSHA ITA Form 300A filings.
Limitations
- Risk scores reflect federal enforcement activity only. State-level OSHA programs (in the 22 states that operate their own programs) are included in the DOL data but may have different reporting lag.
- Employers with no inspections receive a score of 0. A score of 0 does not mean an employer is safe — it means there is no federal enforcement data on file.
- OSHA citations may be contested, vacated, or reduced after issuance. The data reflects the most recent status available from the DOL API, but there may be a lag.
- Self-reported injury rates (DART, TRIR) are submitted by the employer and may be subject to underreporting.
- The scoring formula does not currently incorporate MSHA, EPA, FMCSA, NLRB, or OFLC enforcement data in the numeric score. These sources are displayed on employer profiles and contribute to qualitative flags.
- Scores are not normalized for employer size. Larger employers will naturally accumulate more inspections and violations. Employee count data (from OSHA ITA Form 300A) is available for approximately 55,000 employers and is displayed when present, but is not used in the score calculation.
- Scores are not normalized for industry. A construction company and a software company with identical violation counts will receive the same score. The peer violation percentile (shown separately on each profile) provides industry-relative context.
Questions or Corrections
If you have questions about the methodology or believe a score is incorrect, email corrections@fastdol.com.