How CSA SMS scoring actually works
From a violation scribbled on a roadside inspection report to the percentile an insurer quotes against — every step of FMCSA's Safety Measurement System math, in plain English.
By Yurii Chornous · Updated June 2026
Key takeaways
- Every violation gets a severity weight from 1 to 10; out-of-service violations add +2, and each inspection’s total is capped at 30 per BASIC.
- A time weight multiplies that: ×3 for the first 6 months, ×2 from 6–12, ×1 from 12–24 — then the violation drops off entirely.
- Your raw measure is normalized by relevant inspections, or by power units and mileage for Unsafe Driving and Crash Indicator.
- The score people quote is a percentile (0 best, 100 worst) against a peer group of carriers with similar exposure — not an absolute number.
- Intervention thresholds for general carriers: 65% for Unsafe Driving, HOS, and Crash Indicator; 80% for the rest. Passenger and hazmat carriers are held to stricter lines.
Start with the seven BASICs
SMS doesn’t give you one score — it gives you seven. Every violation cited on an inspection report is mapped (via Appendix A of the SMS methodology) to one of seven Behavior Analysis and Safety Improvement Categories: Unsafe Driving, Crash Indicator, Hours-of-Service Compliance, Vehicle Maintenance, Controlled Substances/Alcohol, Hazardous Materials Compliance, and Driver Fitness. A logbook violation and a brake violation never touch each other’s scores — they live in different BASICs with different math and different thresholds.
Each BASIC has its own dedicated hub on VioCodes with every code that maps to it — start at the BASICs section if you want the category-by-category view. Two of the seven (Crash Indicator and HM Compliance) are scored but not publicly displayed; only the carrier and enforcement can see those percentiles.
Severity weights: 1–10, plus the OOS adder
Within its BASIC, every violation carries a fixed severity weight from 1 to 10, assigned by FMCSA according to how strongly that violation correlates with crash risk. A burned-out clearance lamp might be a 2; reckless driving is a 10. The weight reflects relative risk within that BASIC — a 5 in Vehicle Maintenance and a 5 in Unsafe Driving are not meant to be compared with each other.
If the violation also put the truck or driver out of service, SMS adds +2 on top of the base weight. So an OOS brake violation with a base weight of 4 enters the math at 6. There’s one mercy rule: the summed severity weight is capped at 30 per inspection, per BASIC (applied before time weighting), so a single catastrophic inspection can’t blow up a score without limit.
Finding a specific code’s weight
You don’t need to dig through FMCSA’s spreadsheet. Look any code up in the violation database — each page shows the severity weight, the BASIC it maps to, and whether it’s OOS-eligible.
Time weights: recency is everything
SMS looks back over a rolling 24-month window, and it cares a lot more about last month than last year. Each violation’s severity weight is multiplied by a time weight based on the inspection date:
0–6 months
×3Full impact — a fresh violation hurts the most.
6–12 months
×2First step down, automatically.
12–24 months
×1One third of its original impact.
Over 24 months
×0Falls out of the SMS calculation entirely.
Example: an OOS hours-of-service violation with base severity 7 counts as (7 + 2) × 3 = 27 points this quarter. Twelve months from now the same record is worth 9; after two years it’s worth nothing. The CSA points calculator runs this exact severity × time math for any combination of codes and dates.
From points to a measure: normalization
Raw points would punish big fleets for simply being inspected more, so SMS divides each BASIC’s total by a measure of exposure. How it normalizes depends on the BASIC:
- Unsafe Driving and Crash Indicator are normalized by your average number of power units, adjusted by a utilization factor that accounts for vehicle miles traveled — these are “you can be cited any time you’re on the road” categories, so fleet size and mileage are the right denominator.
- The other five BASICs are normalized by your count of relevant inspections — driver inspections for HOS, Driver Fitness, and Controlled Substances; vehicle inspections for Vehicle Maintenance; placardable-HM inspections for HM Compliance.
This is why clean inspections genuinely help: each one grows the denominator without adding to the numerator, mechanically pulling the measure down.
Percentiles and safety event groups
The measure still isn’t the number anyone quotes. For each BASIC, SMS places you in a safety event group — a peer group of carriers with a similar amount of relevant data (inspections with violations, or crashes for the Crash Indicator). A 5-truck outfit isn’t ranked against a 5,000-truck national fleet.
Within that group, your measure is converted to a percentile from 0 (best) to 100 (worst). A 72% in Vehicle Maintenance means your measure is worse than 72% of comparable carriers. Two consequences worth internalizing: your percentile can move without anything happening to you — because peers improved or worsened — and crossing into a different event group as your inspection count grows can shift the percentile too. Terms you’ll bump into here (measure, event group, ISS, MCMIS) are all defined in the glossary.
Intervention thresholds: where FMCSA steps in
Crossing a BASIC’s threshold makes you eligible for FMCSA intervention — typically escalating from warning letters to off-site and then on-site investigations. For general property carriers:
Unsafe Driving · Crash Indicator · HOS Compliance
Stricter for passenger (50%) and hazmat (60%) carriers.
Vehicle Maint. · Controlled Substances · Driver Fitness · HM Compliance
Passenger and hazmat carriers face lower thresholds here too.
Passenger carriers and hazmat carriers are held to stricter thresholds across the board — for example, 50% (passenger) and 60% (hazmat) in the Unsafe Driving, HOS, and Crash Indicator BASICs. The exact cut lines by segment are spelled out in the official FMCSA SMS methodology, which is the authoritative source for everything on this page.
Why one bad inspection fades — and how to speed it up
Put the pieces together and the system has a built-in recovery path. A bad inspection hits hardest for six months, automatically drops a third of its impact at month 6 and again at month 12, and vanishes at month 24. Meanwhile every clean inspection you accumulate dilutes what’s left. For most carriers, the honest answer to “how do I fix my CSA score” is: stop adding new points, collect clean inspections, and let the time weights work.
The exception is data that shouldn’t be there at all. If a violation was wrongly cited, attributed to the wrong carrier, or dismissed in court, don’t wait two years — challenge it through DataQs and get it recalculated out of the score. Our DataQs guide covers that process end to end.
Frequently asked questions
Lower is better. CSA BASIC percentiles run from 0 (best) to 100 (worst) against your peer group. For general property carriers you want to stay safely below the intervention thresholds — 65% for Unsafe Driving, Crash Indicator, and HOS Compliance, and 80% for the other BASICs. Many brokers and insurers start asking questions well before those lines.
Twenty-four months for carrier SMS scores, and its impact fades in steps: the violation counts at full time weight (×3) for the first 6 months, ×2 from 6 to 12 months, ×1 from 12 to 24 months, and then drops out of the calculation entirely. PSP driver reports are separate — they show inspections for 3 years and crashes for 5.
Yes, in two ways. Most BASIC measures are divided by your count of relevant inspections, so every clean inspection grows the denominator and dilutes the violations you already have. More inspections can also move you into a different safety event group, where you are compared against carriers with similar exposure.
Yes. SMS scores the violation as recorded on the roadside inspection report, whether or not a citation was issued or upheld in court. If the related citation is later dismissed, or results in conviction of a different charge, you can file a DataQs Request for Data Review to have the inspection record corrected to match.
FMCSA shows Crash Indicator and HM Compliance results only to the carrier itself (logged into the SMS website) and to enforcement — they are not part of the public SMS display. The other five BASICs are public, and that public view is what brokers, shippers, and insurers see when they look you up.
Run the math on your own inspections
Pick the violation codes from a real inspection report and the calculator applies the exact severity and time weights from this guide — so you know what each violation is costing you today and when it fades.