Start with definitions, not dashboards
The fastest way to ruin a KPI program is to build charts before agreeing on what the numbers mean. Ask three people at most carriers for revenue per mile and you will get three answers: one with fuel surcharge, one without, one using loaded miles only. All three can be right. The problem is that leadership compares them as if they were the same number.
Before building anything, write a one-line definition for every KPI: the formula, what is included and excluded, the date that assigns a load to a period (ship date, delivery date or bill date), and the system of record. Then build every report from that definition. That single page does more for decision-making than any dashboard tool.
A note on benchmarks
This guide gives formulas, not targets. Published industry averages vary widely by segment, length of haul, freight type and fleet mix, and they rarely match how your data is defined. Set targets from your own history, by division, lane and customer, and measure improvement against yourself.
Revenue and yield KPIs
1. Revenue per total mile
Formula: total revenue for the period / total miles (loaded + empty).
Data: charge or invoice line tables in the TMS for revenue; leg or trip mileage tables for miles, usually from a mileage engine such as PC*MILER at the time of dispatch.
Trap: decide whether fuel surcharge and accessorials are in or out, and report linehaul-only and all-in separately. Also check whether miles are planned (rated) miles or actual (ELD/odometer) miles. Mixing the two makes one division look better than another for no real reason.
2. Revenue per loaded mile
Formula: linehaul revenue / loaded miles.
Data: same as above, filtered to loaded legs.
Trap: this is a pricing metric. It hides deadhead, so it should always sit next to revenue per total mile.
3. Revenue per truck per week
Formula: total revenue / average active power units / weeks in period.
Data: revenue from the TMS; active unit count from the equipment master, using in-service and out-of-service dates.
Trap: "active" must exclude units in the shop for extended periods, being sold, or not yet seated, or be reported both ways. Owner-operator units belong in a separate line.
4. Gross margin per load (brokerage and logistics)
Formula: customer revenue minus carrier cost, per load and as a percentage of revenue.
Data: customer charges and carrier pay (purchased transportation) tables in the TMS.
Trap: accessorials paid to the carrier but not billed to the customer, such as detention or lumper, get booked after the load closes. Margin looks fine at dispatch and erodes later. Measure margin at final settlement, not at booking.
5. Operating ratio
Formula: operating expenses / operating revenue, as a percentage.
Data: general ledger in the accounting package.
Trap: the number is only as good as the chart of accounts and accruals. If fuel, tires or insurance are expensed when paid instead of when incurred, the monthly OR swings for reasons that have nothing to do with operations. Segment OR by division only if costs are actually coded by division.
Asset utilization KPIs
6. Miles per truck per week
Formula: total miles / average active power units / weeks.
Data: TMS leg miles, or ELD odometer readings by unit.
Trap: TMS miles and ELD miles will differ because of routing, out-of-route miles and personal conveyance. Pick one as the source for this KPI, and track the gap between the two as its own metric (out-of-route percentage).
7. Tractor utilization (seated truck percentage)
Formula: days a tractor had an assigned driver and was available / total in-service days.
Data: driver-to-unit assignment history in the TMS; equipment status history.
Trap: many systems store only the current assignment, not history. Without assignment history you cannot calculate this backward, so start logging it now.
8. Trailer-to-tractor ratio and trailer turns
Formula: active trailers / active tractors; loads per trailer per period.
Data: equipment master and trailer assignment on legs; trailer tracking if you have it.
Trap: drop trailers sitting at customers often are not recorded as "in use" in the TMS. A yard check or trailer tracking data usually shows a different picture.
Deadhead and empty miles
9. Deadhead percentage
Formula: empty miles / total miles.
Data: leg tables with loaded or empty flags; bobtail moves where tracked.
Trap: empty repositioning moves are often not entered as legs at all, especially moves to the shop, to fuel or home time. If those miles are missing, deadhead looks low and miles per truck look short. Compare TMS total miles to ELD total miles per unit to find the gap.
10. Deadhead by lane and customer
Formula: empty miles into the origin (and out of the destination) attributed to each load or customer.
Data: leg sequence by tractor, joined to orders.
Trap: attribution rules matter. Charging all inbound empty miles to the next load punishes customers in freight-poor areas, which may be the right answer, but write the rule down. This is the heart of lane profitability analysis.
On-time and service KPIs
11. On-time pickup and on-time delivery
Formula: stops arrived within the appointment window / total stops with appointments, split by pickup and delivery.
Data: stop tables with scheduled windows and actual arrival times; arrival times ideally from ELD geofence or driver app events.
Trap: if dispatchers key arrival times by hand, or appointments are updated after the fact to match the arrival, the KPI measures data entry, not service. Lock the original appointment and keep reschedules with a reason code.
12. Tender acceptance rate
Formula: tenders accepted / tenders received, by customer.
Data: EDI 204 and 990 logs, plus email or portal tenders if they are captured.
Trap: tenders declined by phone or never entered do not exist in the system. Shippers measure this on their scorecards, so your number should match theirs.
13. Status reporting compliance
Formula: required status events sent on time / required status events.
Data: outbound EDI 214 logs and acknowledgments.
Trap: a 214 that was sent but rejected counts as missing to the customer. Include 997 rejections. See our EDI guide.
Billing cycle and cash KPIs
14. Delivery-to-invoice days
Formula: average days from delivery to invoice date.
Data: stop actual delivery date and invoice or bill date in the TMS.
Trap: report the distribution, not just the average. A few loads stuck for weeks waiting on a POD or rate approval hide inside a healthy average.
15. Unbilled delivered loads
Formula: count and dollar value of delivered loads not yet invoiced, aged by days since delivery.
Data: order status and invoice tables in the TMS.
Trap: this is the single most useful daily billing report. If the TMS has multiple "billed" statuses (ready, printed, transferred to accounting), define which one counts.
16. Days sales outstanding (DSO)
Formula: accounts receivable / revenue for the period x days in the period.
Data: AR aging and revenue from the accounting package.
Trap: factored receivables, unapplied cash and short-paid invoices distort DSO. Track short-pays and disputes separately, by reason code. More in our order-to-cash guide.
Settlement accuracy
17. Settlement correction rate
Formula: settlements adjusted after release / total settlements, plus dollars of correction.
Data: driver pay and settlement tables, adjustment or manual pay lines, payroll export history.
Trap: corrections are often made as a miscellaneous line on next week's settlement, so they never look like corrections. Require a reason code on manual pay lines. Our settlement accuracy guide covers the common causes: mileage basis, stop pay, detention, split loads and deduction schedules.
Trucking maintenance KPIs
18. Maintenance cost per mile
Formula: parts + labor + outside repair cost / miles, by unit, model year and equipment class.
Data: work order, parts issue and labor tables in the maintenance system; outside vendor invoices from AP; miles from ELD odometer.
Trap: outside repairs paid by fuel card or driver expense often skip the work order system. Tires are sometimes expensed in bulk rather than to a unit. Both make maintenance CPM look better than it is. Separate preventive, corrective and road-call costs.
19. PM compliance and road calls per million miles
Formula: PMs completed on or before due / PMs due; breakdown or road-call events / miles x 1,000,000.
Data: PM schedules and completed work orders; road-call or breakdown records; ELD fault codes if integrated.
Trap: PM intervals based on calendar days miss high-mileage units, and intervals based on odometer miss idle-heavy units. Engine hours from the ELD help here. Also track 90-day trailer inspections and DVIR defect close-out time.
Safety and people KPIs
20. Accidents per million miles and driver turnover
Accident rate formula: recordable accidents / miles x 1,000,000, separated into preventable and non-preventable.
Turnover formula: drivers separated in the period / average driver count, annualized; split voluntary and involuntary, and first-90-day separations.
Data: accident register in the safety system; driver master hire and termination dates in the TMS or HR system; HOS violations and unassigned drive time from the ELD.
Trap: rehires and transfers between company and lease programs often count as separations. Define how they are handled. For accidents, preventability determinations lag, so recent months will change after review.
Where the data lives
| Source | Typical tables or files | Feeds |
|---|---|---|
| TMS | Orders, stops, legs/trips, charges, invoices, driver pay, equipment and driver masters | Revenue, miles, deadhead, on-time, billing cycle, settlements |
| ELD / telematics | HOS logs, GPS breadcrumbs, odometer, engine hours, fault codes, fuel used | Actual miles, out-of-route, idle, arrival events, PM triggers |
| Fuel card | Transaction files by unit, driver, state and gallons | Cost per mile, MPG, IFTA, unauthorized purchases |
| Maintenance system | Work orders, parts, labor, PM schedules, inspections | Maintenance CPM, PM compliance, road calls |
| Accounting | General ledger, AR, AP, payroll | Operating ratio, DSO, cost structure |
| EDI logs | 204, 990, 214, 210 and 997 history | Tender acceptance, status compliance, invoice rejections |
The hard part is joining them. Unit numbers, driver IDs and customer codes must match across systems. When the fuel card calls a truck "1042" and the TMS calls it "T1042," every cost-per-mile report breaks. Cleaning up master data is unglamorous work, and it is usually the first project in any KPI effort.
How Strong Tower Consulting helps
We build KPIs from the data you already have. That means writing SQL against your TMS, ELD, fuel and accounting data, defining each metric in writing with your leadership, fixing the master-data mismatches that break joins, and delivering reports and dashboards people trust.
- SQL Data Mining & Analytics: queries, data models and analysis from your own tables.
- Reporting & Business Documents: Crystal Reports, SQL and BI reports for operations and finance.
- Business & Technology Alignment: tie goals and KPIs to the systems that produce them.
Independent by design
Strong Tower Consulting never requires you to buy software. We work in the systems you run today. See how we work.
Frequently asked questions
What are the most important KPIs for a trucking company?
Most carriers start with revenue per total mile, deadhead percentage, miles per truck per week, operating ratio, on-time delivery, delivery-to-invoice days, DSO, maintenance cost per mile and driver turnover. The right set depends on your segment: an LTL operation will add revenue per hundredweight and stops per hour, and a broker will focus on gross margin per load.
What is a good deadhead percentage for trucking?
It varies by segment, lane network and freight type. Dedicated and regional operations behave very differently from irregular-route truckload. Set your target from your own history by lane and customer, then work to improve it, rather than chasing a published industry number.
Where does trucking KPI data come from?
Mostly from the TMS (orders, stops, legs, miles, charges, settlements), the ELD or telematics platform (HOS, engine hours, GPS, fuel), fuel card files, the maintenance system (work orders, parts, labor) and the accounting package (GL, AR, AP). Reliable KPIs depend on joining those sources on consistent keys such as unit number, driver ID and order number.
How often should a carrier review its KPIs?
Operational KPIs such as on-time, deadhead and unbilled loads are worth watching daily or weekly. Financial KPIs such as operating ratio, DSO and cost per mile are usually reviewed monthly after the books close. Safety and turnover trends are best viewed on a rolling basis so one bad week does not hide the trend.
Can Strong Tower build a KPI dashboard from our existing TMS?
Yes. We write SQL against the TMS, ELD, fuel and accounting data you already have, define each metric in writing, and build reports or dashboards your team can trust. No software purchase is required.
PC*MILER and other product names are trademarks of their respective holders. Strong Tower Consulting is independent and not affiliated with or endorsed by any software vendor named here.