A board slide, a spreadsheet, and a rate nobody can trace
It is the second week of January, and a safety manager at a three-site distribution company gets a request from the operations director. The board deck needs last year's TRIR and DART rates by Friday. The manager opens the shared workbook. There is a tab of cases, a tab of payroll hours, and a formula somebody wrote two years ago and nobody has touched since.
The numbers come out, but three questions stall her. Are the temporary workers' hours in the denominator? Does the case count include only decided recordable cases, or every incident report? And where did the constant in the formula come from?
None of these questions is exotic. They are the ones an insurer, a customer's prequalification form or an OSHA inspector will ask next. A rate you cannot trace to its inputs is only a number on a slide.
This article walks through the TRIR calculation and the DART rate calculation from your own OSHA log and hours worked. By the end you will be able to compute both, show where each input came from, and say which benchmark you compared against and why.
Reference material with citations, not legal advice. You decide recordability and compensability, and you file.
What TRIR and DART measure
TRIR stands for total recordable incident rate. It counts every case you recorded on your OSHA 300 Log for a period and scales that count to the hours your people worked. DART stands for days away, restricted or transferred. It does the same for the narrower group of recorded cases checked in the log's days-away space or its job transfer or restriction space (29 CFR 1904.7(b)(3) and (b)(4)).
Both are ratios. The numerator is a count of cases from your own log. The denominator is hours worked. The reason for scaling is comparability: a 40-person site and a 400-person site cannot be compared by raw case counts, but they can be compared by cases per unit of exposure.
The Bureau of Labor Statistics publishes the same kind of measure for private industry. Its Survey of Occupational Injuries and Illnesses reports the total recordable case (TRC) rate as cases per 100 full-time-equivalent workers. In 2024 that rate was 2.3, down from 2.4 in 2023, which BLS describes as the lowest TRC rate for the series going back to 2003 (BLS, 2024 data).
Notice what the BLS rate is built from. It uses the same recordable-case definitions that govern your log, scaled to a full-time-equivalent base. That is why your own rate can be compared to a BLS table at all, provided you follow the same method. BLS sets out that method in Appendix C, How to Compute Your Firm's Incidence Rate for Safety Management.
TRIR calculation, step by step
The TRIR calculation has three steps, and each one points at a record you already keep.
- Count the cases. BLS says to "count the number of OSHA recordable cases for the year from the 'Log of Work-Related Injuries and Illnesses,' OSHA's Form 300." For TRIR, that is every case on the log. For DART, it is only the cases checked for days away, or for job transfer or restriction.
- Total the hours. BLS asks for "the number of hours all employees actually worked," using "payroll or other time records." The 300A asks for the total hours worked by all employees covered by the log.
- Scale to the BLS base. Multiply the case count by 200,000, then divide by total hours worked. In BLS's words, "the 200,000 in the formula represents the equivalent of 100 employees working 40 hours per week, 50 weeks per year, and provides the standard base for the incidence rates" (BLS Appendix C).
The formula therefore reads: rate = (cases × 200,000) ÷ total hours worked. BLS applies the same formula to the narrower group of days-away cases, and the DART rate uses it with the DART case count.
Worked example. The inputs below are round numbers chosen to show the method. They are not benchmarks. Suppose a site recorded 3 cases for the year and worked 300,000 hours. The TRIR is 3 × 200,000 ÷ 300,000 = 2.0. If 1 of those 3 cases involved days away, restriction or transfer, the DART rate is 1 × 200,000 ÷ 300,000, or about 0.67.
Working in multiples of the base is a useful sanity check on any template. If your hours are exactly 200,000, the rate equals the case count. If your hours are 400,000, the rate is half the case count. A spreadsheet that violates either relationship has a bad constant or a bad denominator.
A short note on the secondary question people search for, the OSHA 300A total hours worked calculation. The 300A is the annual summary of the log. Under 29 CFR 1904.32(b)(2)(ii), it carries the "annual average number of employees covered by the OSHA 300 Log, and the total hours worked by all employees covered by the OSHA 300 Log." Your TRIR denominator should match that 300A figure for the same establishment and year, and reading the OSHA 300A annual summary guide will show where those lines sit.
Where the inputs come from
A rate is only as defensible as the two things feeding it. For this method, the numerator comes from the log and the denominator comes from payroll or timekeeping.
The numerator: decided cases only
The case count comes from the OSHA 300 Log. That means cases you have already evaluated and entered, not incident reports that have not been decided. A near-miss report, a first-aid-only event or a case you determined was not work-related does not belong in the count.
Here the rule and the decision separate. The rule, in 29 CFR Part 1904, defines what is recordable. The employer decides whether a given case meets those definitions, including work-relatedness and whether treatment went beyond first aid. For the underlying criteria, see our guide to the OSHA recordable injury tests. If your recordability decision changes after a late diagnosis or a new work restriction, your log changes and so does your rate. That is expected, and the log is the source of truth.
One counting detail affects DART. OSHA lets employers cap the total days away or restricted at 180 calendar days on the log (29 CFR 1904.7(b)(3)(vii), checked 2026). The cap changes day totals, not the number of cases, so it does not move a case-based rate. Another rule matters at year-end: a case that starts in one year and causes days away in the next is recorded only once, in the year it occurred (1904.7(b)(3)(ix), checked 2026). The case belongs in the earlier year's numerator, though you may need to update its day counts later.
The denominator: hours worked, and whose
Hours should cover the people whose injuries appear on the log. That includes temporary, leased or contract workers you supervise day to day. OSHA's 2018 interpretation says employers must record the injuries of employees they supervise on a day-to-day basis, even when those workers are not on the payroll. If their cases are in your numerator, their hours belong in your denominator. A mismatch there inflates or deflates the rate.
Actual hours worked is the intended measure. BLS says hours worked "should not include any nonwork time, even though paid, such as vacation, sick leave, holidays." Where actual hours are not available, for example for salaried staff, BLS allows an estimate, so write down the method you used. When the estimate method changes between years, the trend is no longer like-for-like.
One establishment or many
The log is kept per establishment. OSHA requires a separate OSHA 300 Log for each establishment expected to operate for one year or longer (29 CFR 1904.30, checked 2026). A company-wide rate is built by adding the cases and the hours from each establishment, then applying the formula once. Averaging site-level rates gives the wrong answer, because a small site with one case would carry the same weight as a large site with one case. The article on OSHA 300 logs across multiple locations covers the consolidation.
Benchmarks: quote a table, with its year
The most common mistake in a rate report is not arithmetic. It is the comparison. A TRIR on its own says little; managers want to know whether it is good, and they reach for a figure from memory or a vendor blog.
The safer route has three parts. Pick the BLS table for your industry. Note the reference year and the release. Compare only rates calculated the same way, with the same case definitions and the same base.
For scale, the 2024 private-industry TRC rate was 2.3 per 100 FTE workers, while private health care and social assistance was 3.4 in 2024, down from 3.6 in 2023 (BLS, 2024). The gap between those two numbers is the whole point. A health care facility compared against the all-industry figure looks worse than it is, and a warehouse compared against a health care figure looks better than it is. Pull the table for your own sector from the BLS release, and confirm DART benchmarks there as well. We do not print industry figures here that we have not sourced.
Two cautions apply to benchmarking. A small establishment can swing a lot on one case, so a single year says little. Year-to-year trends across several years of your own data are usually more informative than one comparison to an industry table. And BLS rates come from a survey with its own coverage, so treat them as context, not as a target set by a regulator.
Keeping the rate defensible
A rate has to survive questions, and the questions come when an insurer, a customer or OSHA asks for the log. Keep four things beside every rate you publish:
- the case list, with the log version and the date you pulled it;
- the hours total, with the source and the method for salaried and temporary workers;
- the BLS method (Appendix C) and the 200,000 base;
- the benchmark table, with its industry code, year and release.
OSHA's records must be retained for five years following the end of the calendar year they cover, per 29 CFR 1904.33(a) (checked 2026). The records supporting a rate are worth keeping for the same period. Our recordkeeping audit checklist lists the checks to run on the log before you calculate anything from it.
Where tools fit. Many employers do this in Excel or Google Sheets, and that works when the inputs are traced. The weak points are a hard-coded constant with no source, and hours totals that drift from the 300A. The Injury Incidence Rate Trend Analyzer is a store workbook that computes TRIR and DART from the cases and hours you enter, and holds a five-year view so trends sit beside each other. It calculates; you decide recordability, you enter the decided cases and hours, and you file. For a single-state employer of 20 to 100 people, a workbook is the sensible route, not a subscription. The planned ClaimsIntake app, which will build the 300 log from decided cases only, is being built to feed rates from the same records, and you can join the waitlist.
Next step. Before you publish a rate, check that the hours match the 300A for each establishment, that every case in the numerator is a decided case, and that the BLS method and benchmark table are cited. Then try the Injury Incidence Rate Trend Analyzer on last year's data and see whether it reproduces your spreadsheet.



