Open Methodology
How we score
carrier risk.
Every carrier on DotLookup gets a Trust Score from 0 to 100, computed from public FMCSA data. The methodology is fully transparent — here's exactly how it works.
Overview
The Trust Score is a composite of three weighted components. Each component scores independently from 0 to 100, then they're combined into a single overall score using a weighted average.
40%
Compliance
Authority status, age, revocations, MCS-150 filing
35%
Safety
Inspection OOS rates, crash history
25%
Insurance
BIPD liability, cargo coverage, surety bonds
Grade thresholds
| Grade | Score | Tier |
|---|---|---|
| A | 90 – 100 | Excellent |
| B | 80 – 89 | Good |
| C | 65 – 79 | Fair |
| D | 45 – 64 | Poor |
| F | 0 – 44 | Critical |
Compliance
40% of overall score
Starts at 100 and applies deductions based on regulatory status. Measures whether the carrier is authorized to operate and has maintained its filings.
| Condition | Penalty |
|---|---|
| Inactive carrier status | -50 |
| Pending revocation | -40 |
| Non-active authority status | -30 |
| Prior revoked authority | -25 |
| Authority < 6 months old | -20 |
| MCS-150 stale (4+ years) | -20 |
| Authority 6–12 months old | -10 |
| MCS-150 stale (2–4 years) | -10 |
| Authority 1–2 years old | -5 |
| Pending application (no revocation) | -5 |
Penalties are cumulative. A carrier with inactive status, a prior revocation, and a stale MCS-150 would lose 95 points on the compliance component (capped at 0).
Safety
35% of overall score
Based on FMCSA inspection out-of-service (OOS) rates relative to the national average, plus crash history. Carriers with fewer than 3 inspections in a category are not penalized for that category.
Carriers with no inspection or crash data receive a neutral score of 65 — this places an otherwise-clean carrier around a B grade ("good but unverified") rather than an unearned A.
Vehicle OOS rate
| Rate vs. national avg | Penalty |
|---|---|
| 3x or higher | -30 |
| 2x – 3x | -20 |
| 1.5x – 2x | -10 |
Driver OOS rate
| Rate vs. national avg | Penalty |
|---|---|
| 3x or higher | -25 |
| 2x – 3x | -15 |
| 1.5x – 2x | -8 |
Crashes
| Crash type | Penalty |
|---|---|
| Fatal crash | -10 each (max -30) |
| Injury or towaway crash | -2 each (max -10) |
| Hazmat OOS rate 2x+ national avg | -10 |
Insurance
25% of overall score
Evaluates whether the carrier maintains the insurance coverage required by federal law. The scoring differs by entity type.
For motor carriers
| Condition | Penalty |
|---|---|
| No active BIPD insurance | -60 |
| BIPD below $750,000 federal minimum | -25 |
| No active cargo insurance | -15 |
For brokers
| Condition | Penalty |
|---|---|
| No active surety bond (BMC-84/BMC-85) | -60 |
Entities not subject to federal insurance requirements (e.g., shippers) have the insurance component dropped entirely — its weight is redistributed to compliance and safety.
Hard caps
After the weighted average is computed, hard caps force the overall score down for carriers with critical regulatory issues — regardless of how well they score on other components.
| Condition | Max score |
|---|---|
| Inactive carrier | 15 |
| Pending revocation | 35 |
| Active carrier with no BIPD insurance | 35 |
| Prior revoked authority | 55 |
When multiple caps apply, the lowest one wins. An inactive carrier with a pending revocation would be capped at 15 (the lower of 15 and 35).
Flags
Flags highlight specific conditions found during scoring. They appear as badges on the carrier's Trust Score card.
| Severity | Flag | Description |
|---|---|---|
| Critical | INACTIVE_CARRIER | Carrier is marked inactive by FMCSA |
| Critical | PENDING_REVOCATION | Authority revocation is currently pending |
| Critical | PRIOR_REVOCATION | Carrier has a prior revoked authority |
| Critical | NO_BIPD | No active liability (BIPD) insurance on file |
| Critical | NO_SURETY_BOND | No active surety bond for broker (BMC-84/BMC-85) |
| Warning | LOW_BIPD | BIPD coverage below federal minimum ($750,000) |
| Warning | NO_CARGO_INSURANCE | No active cargo insurance on file |
| Warning | HIGH_VEHICLE_OOS | Vehicle out-of-service rate 1.5x+ the national average |
| Warning | HIGH_DRIVER_OOS | Driver out-of-service rate 1.5x+ the national average |
| Warning | FATAL_CRASHES | One or more reported fatal crashes |
| Warning | STALE_MCS150 | MCS-150 last updated over 4 years ago |
| Info | NEW_AUTHORITY | Operating authority less than 6 months old |
Confidence
Each score includes a confidence level indicating how much data was available to compute it. More data signals mean a more reliable score.
| Level | Criteria |
|---|---|
| High | 5+ inspections, active insurance on file, and authority add date known |
| Medium | Two of the above three signals present |
| Low | One or fewer signals — score is based on limited data |
Data source & caveats
- Source: All data comes from the FMCSA SAFER system, updated daily via our ETL pipeline. FMCSA data itself can lag real-world events by days to weeks.
- Inactive carriers: Roughly 79% of all registered carriers are marked inactive by FMCSA. These are capped at a score of 15 (grade F) — this is expected, not a bug.
- No safety data: Carriers with no inspections or crashes get a neutral safety score of 65. This means an otherwise-clean carrier with no verified safety track record lands around grade B — "good but unverified."
- Not a guarantee: The Trust Score is a data-driven signal, not a certification. It reflects publicly available FMCSA data and should be used alongside your own due diligence.
In the API
The Trust Score is included in every carrier detail response at GET /v1/carriers/{dot_number}
under the risk_score key.
{
"risk_score": {
"score": 92,
"grade": "A",
"tier": "Excellent",
"confidence": "high",
"components": [
{ "name": "Compliance", "score": 95, "weight": 40 },
{ "name": "Safety", "score": 88, "weight": 35 },
{ "name": "Insurance", "score": 100, "weight": 25 }
],
"flags": []
}
} See the API docs for full response schema details.