Census analysis
Half of US trucking is past due on a federal filing. Almost none of it is the half you hire.
Every carrier with a USDOT number has to refile form MCS‑150 every two years. Across the whole active register, 50.17% are past due or have no filing date at all. That number gets quoted as if it describes the trucking industry. It does not. Among the carriers a broker can actually book, the figure is 6.37%.
The two populations
| Active registrants subject to 390.19T | Count | Past due or no record | Share |
|---|---|---|---|
| Everyone the rule reaches | 2,114,314 | 1,060,841 | 50.17% |
| Interstate, for hire | 667,258 | 42,473 | 6.37% |
az4n-8mr2, computed 30 July 2026. Past due
means the MCS‑150 date on record predates both the 12-month safe harbour for that number's own
most recent expired deadline and 24 months ago. Both conditions, because the harbour alone can fire
at 13 months.The gap is intrastate, and it is nearly all of it
The register is not a list of trucking companies in the sense most people mean. It contains every entity that ever needed a USDOT number, and in many states that includes intrastate operators who got a number once and had no commercial reason to think about it again. They are 1.4 million of the 2.1 million, and they carry the overwhelming majority of the stale filings.
Filter to interstate, for-hire carriers, which is the population a broker searches, a factor underwrites and an insurer prices, and the picture inverts. Roughly 1 in 16 is past due or has no date on record. The other 15 filed on time.
Why this matters if you tender freight
A vendor telling you half the market is non-compliant is quoting the register-wide number at you. Run it against your own carrier list and you should expect something near 6%, not near 50%. If your list comes back much worse than that, the interesting question is what kind of carriers are on it.
Rerun it yourself
The census is public, keyless and updated daily. These are the two denominators, as SoQL against the live endpoint. They return counts, not rows, so they cost nothing to run.
-- everyone the rule reaches
status_code='A' AND (carship LIKE '%C%' OR carship LIKE '%I%')
-- interstate, for hire
status_code='A' AND carrier_operation='A' AND (carship LIKE '%C%' OR carship LIKE '%I%')
Append either to
https://data.transportation.gov/resource/az4n-8mr2.json?$select=count(*)%20as%20n&$where=
and read the number back. Re-run on 13 August 2026 returned 2,120,703 and 671,147 against the 2,114,314
and 667,258 above, which is two weeks of ordinary growth and the reason every figure here carries the
date it was computed.
The past-due test itself is per carrier, because the deadline is per carrier: the month comes from the last digit of the USDOT number and the year parity from the next-to-last. The method page sets out the rule, the safe harbour and who the regulation does and does not reach.
One thing this does not say
A stale filing date is not a finding about a company. It can be a data gap, a recent change that has not propagated, or a carrier who filed by paper. It also cannot mean deactivation right now: FMCSA paused USDOT inactivation for missed biennial updates on 1 June 2026 while its new Motus registration system is causing problems. What a stale date does is show up to everyone vetting that carrier, which is a different problem and a real one.
Check one number, or your whole list
Put any USDOT number into the free lookup and read the record a broker pulls. Running a book of carriers? Check a list takes a paste of numbers and tells you which ones are stale.