Trucking Cost Per Mile for Owner Operators, and the Empty Miles

Your trucking cost per mile is your fixed costs for the month divided by the miles you drove, plus what each mile costs to run (fuel, tires, maintenance). In the illustrative example below that is $1.23 a mile. But an owner operator is paid per loaded mile and pays for every mile, so the number a rate has to beat is the cost per loaded mile: at 25% deadhead, the same truck costs $1.64 per loaded mile just to break even, and needs $1.89 to clear a $2,000 monthly profit instead of $1.42.
None of the figures here are market rates, fuel prices or insurance quotes. They are made-up inputs, run through the steps you would run on your own numbers.
The formula
Cost per mile = fixed costs per month / total miles per month + variable cost per mile
Cost per loaded mile = cost per mile / (1 - deadhead share)
Rate needed per loaded mile = (fixed costs + variable cost per mile x total miles + profit target) / loaded miles
Deadhead share is empty miles as a share of all miles. Loaded miles are total miles x (1 - deadhead share).
Step 1: fixed costs
Fixed costs run whether the truck moves or not. An illustrative month:
| Fixed cost | Per month |
|---|---|
| Truck payment | $2,400 |
| Trailer payment | $900 |
| Insurance | $1,400 |
| Health insurance | $800 |
| Permits, plates and IFTA filing | $300 |
| ELD, phone and load board | $200 |
| Parking and accounting | $400 |
| Total fixed | $6,400 |
Your list will differ - some owner operators carry a trailer payment and some pull a customer’s trailer, some buy their own health cover and some do not. What matters is that every recurring monthly bill that does not depend on miles goes in this table.
Step 2: variable cost per mile
These scale with miles. Fuel per mile is the fuel price divided by your miles per gallon: at an illustrative $3.60 a gallon and 7.2 mpg, that is $0.50 a mile. Add a tire reserve of $0.04 a mile and a maintenance reserve of $0.08 a mile, and the variable cost is $0.62 a mile.
Treating tires and maintenance as a per-mile reserve rather than a surprise is the point: a set of drive tires is a cost of the miles you already ran.
Step 3: trucking cost per mile
Over 10,500 miles a month, the fixed $6,400 works out to $0.610 a mile. Add the $0.62 variable cost and the all-in cost is $1.230 a mile, or $12,910 for the month.
That figure moves with the miles you run, because the fixed costs get spread thinner:
| Miles a month | Fixed per mile | Variable per mile | Cost per mile |
|---|---|---|---|
| 8,000 | $0.800 | $0.62 | $1.420 |
| 10,500 | $0.610 | $0.62 | $1.230 |
| 13,000 | $0.492 | $0.62 | $1.112 |
At 8,000 miles a month the truck costs $1.420 a mile. At 13,000, $1.112. A slow month raises your cost per mile even if nothing else changed, which is why a cost per mile calculator needs the miles you actually ran, not the miles you hoped to run.
The empty miles: cost per mile vs cost per loaded mile
Here is the part a plain cost per mile hides. Brokers and shippers pay per loaded mile. The drive to the pickup and the empty run home are not paid at all, and they burn the same fuel and wear the same tires.
So spread the whole month’s cost over the miles that earn:
| Deadhead share | Loaded miles | Cost per loaded mile (break-even) | Rate needed for the profit target |
|---|---|---|---|
| 0% | 10,500 | $1.230 | $1.420 |
| 10% | 9,450 | $1.366 | $1.578 |
| 15% | 8,925 | $1.446 | $1.671 |
| 25% | 7,875 | $1.639 | $1.893 |
| 35% | 6,825 | $1.892 | $2.185 |
With no empty running, $1.42 a loaded mile clears the $2,000 profit. At 25% deadhead, only 7,875 of the 10,500 miles are paid, and the same profit needs $1.89 - 47 cents a mile more, a 33% increase, from nothing but empty running.
Look at the break-even column too. At 25% deadhead, the truck needs $1.64 per loaded mile to cover costs at all - more than the $1.42 that would have made a profit with no deadhead. A rate that looks comfortable against your $1.23 cost per mile can be a losing rate once the empty miles are counted.
That is the core of it: a rate per loaded mile tells you almost nothing until you know the empty miles behind it. Track your real deadhead share for a few months and use that number, not a hopeful one.
Judging one load: the posted rate is not the rate
The monthly average is the right test for your rate floor. For a single load on a given day, the fixed costs are already committed, so the question becomes: does this load beat its own running cost over all its miles, and cover the day it uses?
Here are two illustrative loads offered on the same day. A day’s share of the fixed cost is $210 (the $6,400 month spread over the days of the year, rounded).
| Load A | Load B | |
|---|---|---|
| Posted rate per loaded mile | $2.40 | $2.75 |
| Loaded miles | 480 | 400 |
| Empty miles to the pickup | 120 | 300 |
| Revenue | $1,152.00 | $1,100.00 |
| Running cost over all miles | $372.00 | $434.00 |
| Contribution | $780.00 | $666.00 |
| After the day’s fixed cost | $570.00 | $456.00 |
| Effective rate across all miles | $1.92 | $1.57 |
Load A pays $2.40 a loaded mile, but once the 120 empty miles to the pickup are counted it pays $1.92 a mile across all 600 miles driven - $0.48 less than the posting says. It still beats the $1.23 cost per mile by $0.69 and leaves $570.00 after the day’s fixed cost, so it is worth taking. It is just not the load the posting described.
Load B posts the better rate, $2.75, and loses on every line that matters. Its 300 empty miles drag it to $1.57 a mile across all miles, and it contributes $114.00 less than Load A. A load board sorted by rate per loaded mile would have ranked these the wrong way round.
The first question to ask about any load, then, is how far away the pickup is.
A trucking cost per mile spreadsheet, in seven cells
If you build your own owner operator cost per mile spreadsheet, it needs only these inputs and outputs:
- Fixed costs per month (the table in Step 1)
- Variable cost per mile (fuel / mpg + tire reserve + maintenance reserve)
- Total miles per month
- Deadhead share
- = Cost per mile: cell 1 / cell 3 + cell 2
- = Rate needed per loaded mile: (cell 1 + cell 2 x cell 3 + profit) / (cell 3 x (1 - cell 4))
- = Effective rate of a load: rate x loaded miles / (loaded + empty miles)
Refresh cell 2 when fuel moves and cell 4 from your own logs.
How these were calculated
Cost per mile is monthly fixed cost divided by total monthly miles, plus variable cost per mile. Cost per loaded mile divides total monthly cost by loaded miles, which equals cost per mile divided by one minus the deadhead share. The rate needed adds the monthly profit target before dividing. A load’s contribution is its revenue minus variable cost over loaded plus empty miles; “after the day” subtracts one day’s share of fixed cost; the effective rate divides revenue by all miles driven. Every figure was computed twice, by the code behind the product and by an independent implementation, and the two agree to the cent. All inputs - fixed costs, fuel price, mpg, reserves, miles, deadhead share, the profit target and both loads - are illustrative, not typical or market figures. None of this is financial, legal or tax advice.
If you want to run this on your own truck, the kit below lays out the same arithmetic with a live workbook, blank worksheets and scripts for asking a broker about deadhead and turning down loads that do not cover their miles.