What Your Per-Truck P&L Is Telling You (and What It's Hiding)
Short answer
Why does my per-truck P&L show one truck losing money when the fleet is profitable?
Usually because of how three things are handled rather than how the truck actually ran. First, fixed overhead has to be allocated somehow, and allocating by mile versus splitting it evenly can reverse which truck looks worse. Second, if deadhead miles are excluded from your cost-per-mile denominator, trucks with poor loaded ratios look artificially efficient. Third, maintenance arrives in lumps: a truck that just absorbed a rebuild shows a terrible month even though it earned that cost over the prior 200,000 miles. Normalize maintenance to a per-mile reserve and hold allocation constant before you conclude a truck is unprofitable.
Running profit and loss per truck instead of per company is the single most useful reporting change a small carrier can make. It is also the easiest report in trucking to misread, because three ordinary accounting decisions can flip which truck looks like your best one.
None of what follows is exotic. It is just the difference between a report that describes your trucks and a report that describes your bookkeeping.
What the fleet-level statement averages away
A company income statement tells you the fleet made money. It cannot tell you that one truck carried two others, that a lane you keep accepting is marginally unprofitable, or that a unit approaching its trade cycle is quietly eating the gains from the rest.
Per-truck P&L answers those. The metrics worth carrying:
- Revenue per total mile: what the truck earns for every mile it turns, loaded or not.
- Revenue per loaded mile: a pricing metric. Useful for judging lanes, misleading for judging trucks.
- Cost per mile: all costs attributable to the unit, over total miles.
- Margin per mile: the difference, and the number that actually ranks your fleet.
- Deadhead percentage: empty miles over total miles. The hidden variable behind most of the others.
Distortion one: how you allocate overhead
Some costs belong to a truck unambiguously: its payment, its physical damage premium, its plates, its fuel. Others are genuinely shared: dispatch, the office, insurance written at fleet level, software, your own time.
Shared costs have to land somewhere, and the method changes the answer. Split evenly, a high-mileage truck absorbs the same overhead as one that sat for two weeks. Allocated by mile, the truck that works hardest absorbs the most and its margin per mile compresses. Allocated by revenue, your premium-freight truck subsidizes the cheap-freight truck.
Distortion two: deadhead in the denominator
Empty miles burn fuel, wear tires, and consume hours of service exactly like loaded miles. But they earn nothing, so there is a persistent temptation to compute cost per mile over loaded miles only.
Do that and a truck running 22% deadhead looks cheaper to operate than one running 8%, because you divided its very real costs by a smaller number.
Truck running 9,800 total miles, 7,644 loaded (22% deadhead)
Attributable costs: $18,402
Cost per LOADED mile = 18,402 ÷ 7,644 = $2.41 ← flattering
Cost per TOTAL mile = 18,402 ÷ 9,800 = $1.88 ← trueDistortion three: maintenance arrives in lumps
This is the one that produces the most wrong conclusions, and it is worth working through with numbers. Two trucks, one month, identical fixed costs of $2,900 each.
| Truck A | Truck B | |
|---|---|---|
| Miles | 9,800 | 7,400 |
| Revenue | $27,440 | $22,940 |
| Revenue / mile | $2.80 | $3.10 |
| Fuel | $6,860 | $5,180 |
| Driver pay | $8,232 | $6,882 |
| Maintenance (actual) | $410 | $3,900 |
| Fixed costs | $2,900 | $2,900 |
On actual spend, this looks decisive. Truck A cost $18,402 and returned $0.92 of margin per mile. Truck B cost $18,862 and returned $0.55. Truck B looks like the problem, since it earned better revenue per mile and still finished well behind.
Now book maintenance the way it is actually consumed: as a reserve accrued per mile driven. Using $0.15 per mile:
Truck A 9,800 mi × $0.15 = $1,470 reserve (actual spend was $410)
Truck B 7,400 mi × $0.15 = $1,110 reserve (actual spend was $3,900)
Truck A margin/mile = (27,440 − 19,462) ÷ 9,800 = $0.81
Truck B margin/mile = (22,940 − 16,072) ÷ 7,400 = $0.93Truck A did not have a good month because it is a better truck. It had a good month because it has not paid for its next overhaul yet. The reserve does not change cash. It changes whether the report tells you something true about the unit or something true about the invoice calendar.
Four more things a per-truck P&L hides
- 01Depreciation, if you are not booking it. A truck is being consumed whether or not the statement says so. Cash-basis reporting on a paid-off unit overstates margin right up until you need to replace it.
- 02Timing, when you factor. An advance puts cash in the account before the settlement posts. A truck can look cash-positive and margin-negative in the same week, and only one of those is about performance.
- 03Driver pay structure. A lease operator and a company driver move costs to different lines. Their margin lines are not comparable without normalizing.
- 04Accessorials you never billed. Detention, layover, and lumper reimbursements that went uninvoiced show up as cost with no matching revenue, and the truck absorbs the blame.
What to actually watch
Once maintenance is normalized and allocation is held constant, a small set of numbers per truck per month tells you nearly everything:
| Metric | What it tells you |
|---|---|
| Margin per total mile | The ranking number. Trend it, do not read one month. |
| Deadhead % | Whether a margin problem is a cost problem or a dispatch problem. |
| Cost per mile by category | Where a change came from: fuel, maintenance, or pay. |
| Revenue per working day | Utilization. Catches trucks that are efficient but idle. |
| Reserve balance vs. spend | How much rebuild is owed but not yet paid for. |
The point
Per-truck P&L is worth the effort, because you cannot fix what the fleet average conceals. But the report is only as honest as three decisions underneath it: allocate consistently, put every mile in the denominator, and accrue maintenance rather than waiting for the invoice.
Get those right and a bad month reads as a bad month. Get them wrong and you will sell the wrong truck.
Questions
Frequently asked
What is a good cost per mile for a small fleet?
There is no universal figure, because cost per mile depends on lane mix, equipment age, driver pay structure, and how much overhead you allocate to the truck. The number that matters is your own, tracked consistently over time. What makes the metric useful is comparing the same truck against itself across quarters and comparing trucks against each other under identical allocation rules, not against an industry average computed on a different basis.
Should deadhead miles be included in cost per mile?
Yes, in the denominator. Deadhead miles consume fuel, tires, and hours, so excluding them understates true cost per mile and flatters trucks with poor loaded ratios. Track revenue per loaded mile separately as a pricing metric, but compute cost per mile on total miles so the number reflects what the truck actually costs to run.
How should I allocate fixed costs across trucks?
Pick one method and hold it constant. Costs that attach directly to a unit (its payment, its physical damage insurance, its plates) should be charged to that unit. Genuinely shared overhead like dispatch, office, and software is usually allocated by miles or by revenue. What matters most is not which method you choose but that you do not change it between periods, because changing the basis changes the ranking without anything about the trucks changing.
What is a maintenance reserve and why does it matter for per-truck P&L?
A maintenance reserve is a per-mile accrual you book every month so that repair costs are recognized as miles are driven rather than when the invoice arrives. Without it, a truck looks highly profitable for months and then catastrophically unprofitable in the month it needs an in-frame overhaul, when in reality it was consuming that cost the whole time. The reserve makes months comparable to each other.
Does per-truck P&L work if I have both lease operators and company drivers?
It works, but you cannot compare their margin lines directly. A lease operator is paid a percentage of gross and typically covers fuel and some fixed costs, while a company driver is paid per mile with the carrier absorbing those costs. The two structures put costs in different places on the statement. Compare each truck to others of its own type, or compare at contribution margin before driver pay.