To calculate cost per mile (CPM) for a trucking company, add up every cost of running the truck over a period (fixed costs plus variable costs, driver pay included) and divide by the total miles driven in that same period, loaded and empty. Then divide the same total cost by loaded miles only. That second number is the one that tells you whether a load pays, because deadhead miles cost money and earn nothing.
If you only want the number, plug your figures into the trucking cost per mile calculator. The rest of this guide explains what goes into it, walks through a full example, and shows how to use CPM when a broker is on the phone waiting for an answer.
The cost per mile formula
The basic formula is simple:
Cost per mile = (total fixed costs + total variable costs) ÷ total miles driven
Use the same period for every input. A full year is best because it smooths out things that don’t happen every month: tire replacements, annual permits, a big repair, a slow January. If you’re new and don’t have a year of history, use monthly numbers and replace your estimates with actuals as they come in.
Two rules keep the number honest:
- Count every mile the truck turns, including deadhead to pickup, empty repositioning and fuel stops out of route. Your fuel card doesn’t care whether the trailer was loaded.
- Include driver pay, even if the driver is you. An owner-operator who leaves their own pay out of CPM will happily haul freight that only covers the truck.
Fixed costs vs variable costs
Splitting costs into two buckets matters because they behave differently when your miles change.
Fixed costs
Fixed costs are what you pay whether the truck runs 2,000 miles this month or sits in the yard.
| Fixed cost | What to include |
|---|---|
| Truck payment or lease | Monthly note, or lease payment if you lease on |
| Trailer payment or rental | Skip if you only pull customer trailers |
| Insurance | Primary liability, cargo, physical damage, bobtail/non-trucking liability |
| Registration and permits | Plates, IRP, UCR, heavy vehicle use tax, state permits |
| Software and communications | TMS, ELD subscription, phones, load board subscriptions |
| Office and overhead | Accounting, parking/yard rent, office space if you have it |
Variable costs
Variable costs rise and fall with miles driven.
| Variable cost | How to get a per-mile number |
|---|---|
| Fuel | Price per gallon ÷ average miles per gallon |
| Driver pay | Per-mile rate, or total driver pay ÷ total miles for percentage-paid drivers |
| Maintenance and repairs | Last 12 months of shop bills ÷ miles driven |
| Tires | Tire spend ÷ miles driven |
| Tolls and scales | Actual spend ÷ miles driven |
If you pay drivers by percentage of the load instead of by the mile, driver pay isn’t strictly per mile, but you can still convert last year’s total into an average per mile. The trade-offs between the two pay models are covered in owner-operator pay: percentage vs per mile.
A worked example
Illustrative numbers only. These figures describe a made-up one-truck operation so the arithmetic is easy to follow. Your insurance, fuel and equipment costs will be different, so use your own.
Step 1: Annual fixed costs
| Fixed cost | Monthly | Annual |
|---|---|---|
| Truck payment | $2,000 | $24,000 |
| Trailer payment | $600 | $7,200 |
| Insurance | $1,200 | $14,400 |
| Plates, permits, registration | $300 | $3,600 |
| Software, ELD, phone | $150 | $1,800 |
| Total fixed | $4,250 | $51,000 |
Step 2: Variable costs per mile
| Variable cost | Per mile |
|---|---|
| Fuel ($3.90/gal ÷ 6.5 mpg) | $0.60 |
| Driver pay | $0.60 |
| Maintenance and repairs | $0.18 |
| Tires | $0.04 |
| Tolls, scales, misc. | $0.03 |
| Total variable | $1.45 |
Step 3: Total cost and cost per mile
Say the truck runs 110,000 total miles in the year.
- Variable costs: 110,000 × $1.45 = $159,500
- Fixed costs: $51,000
- Total annual cost: $159,500 + $51,000 = $210,500
- Cost per total mile: $210,500 ÷ 110,000 = $1.91
Broken out, that’s about $0.46 of fixed cost per mile ($51,000 ÷ 110,000) plus $1.45 of variable cost.
Step 4: Adjust for deadhead
Now suppose 15% of those miles were empty. Loaded miles are 110,000 × 0.85 = 93,500.
- Cost per loaded mile: $210,500 ÷ 93,500 = $2.25
That’s the gap people miss. The truck costs $1.91 for every mile it moves, but because only 85% of miles are paid, each loaded mile has to bring in $2.25 just to break even. A load paying $2.10 a loaded mile looks profitable next to $1.91 and is actually losing money next to $2.25.
The table shows how fast the break-even climbs as empty miles grow, using the same $210,500 and 110,000 total miles:
| Deadhead % | Loaded miles | Break-even per loaded mile |
|---|---|---|
| 5% | 104,500 | $2.01 |
| 10% | 99,000 | $2.13 |
| 15% | 93,500 | $2.25 |
| 20% | 88,000 | $2.39 |
Every five points of deadhead adds roughly 12 to 14 cents to what each paid mile has to earn. If that number is climbing on your trucks, how to reduce deadhead and empty miles covers the dispatch habits that bring it down.
Why fewer miles means a higher CPM
Fixed costs don’t shrink when the truck sits. If the same truck only runs 90,000 miles:
- Fixed cost per mile: $51,000 ÷ 90,000 = $0.57
- Cost per mile: $0.57 + $1.45 = $2.02
A slow quarter, a week in the shop or a driver who takes extra home time all push CPM up, even though nothing on the expense side changed. That’s why a monthly CPM check is worth doing, not just a yearly one.
How to use CPM to accept or reject loads
CPM is only useful if it’s in front of whoever books the freight. Here’s the process.
Calculate the full trip cost, not just the loaded leg
Trip cost = (deadhead miles to pickup + loaded miles) × cost per total mile
Using the $1.91 CPM from the example:
Load A: 520 loaded miles, 60 miles deadhead to pickup, pays $1,250.
- Trip miles: 580
- Trip cost: 580 × $1.91 = $1,107.80
- Profit: $1,250 − $1,107.80 = $142.20
Load B: 380 loaded miles, 10 miles deadhead, pays $1,000.
- Trip miles: 390
- Trip cost: 390 × $1.91 = $744.90
- Profit: $1,000 − $744.90 = $255.10
Load A pays more in total, but Load B makes almost $113 more, and it finishes sooner, leaving time for another load.
Set a floor rate before you negotiate
Work out your minimum before you pick up the phone:
Minimum rate = (deadhead + loaded miles) × CPM + target profit
If you want at least $250 on Load A, the floor is $1,107.80 + $250 = $1,357.80, so you counter around $1,375 and walk away below about $1,358. The broker side of this conversation, including how brokers build their own numbers, is in how to calculate freight rate per mile.
Look at where the load leaves you
A load that ends in a weak freight market can force a long deadhead or a cheap reload. Before accepting, ask what the outbound options look like from the delivery city. A slightly lower rate into a strong market often beats a higher rate into a dead one once you count the next leg.
Watch the things that don’t show up in miles
Detention, lumper fees, layovers and multi-stop delays burn hours, and hours are money even when the odometer isn’t moving. If a shipper routinely holds trucks, price it in or make sure detention is billed. See detention and accessorial billing that actually gets paid.
Common cost-per-mile mistakes
- Dividing by loaded miles only for everything. Use total miles for CPM, then loaded miles for the break-even rate. Mixing them up double-counts or hides deadhead.
- Leaving out the owner’s pay. If you drive, pay yourself a per-mile wage in the calculation.
- Using a fuel price from three months ago. Fuel is usually your largest variable cost. Update it when prices move.
- Ignoring irregular costs. A $3,500 tire bill or a $9,000 repair belongs in CPM, spread across the year’s miles.
- Calculating once and never again. Insurance renewals, a new truck payment or a drop in miles all change the number.
Keeping CPM current without a spreadsheet
The math is easy. The hard part is keeping the inputs current: actual miles per truck, deadhead per load, driver pay, and revenue per load. When those live in different spreadsheets, CPM gets calculated once at tax time and ignored the rest of the year.
A TMS that records every load, its stops and its settlement gives you the raw data without re-keying it. Techvia TMS for trucking companies tracks loads, trucks, drivers and pay structures (company drivers, lease and owner-operators) in one place, drafts the customer invoice when a load delivers, and runs driver settlements. Its AI Dispatcher ranks available drivers for a load on deadhead miles and margin learned from your past loads, which puts the same trade-off from the Load A vs Load B example in front of the dispatcher at booking time.
Frequently asked questions
What is a good cost per mile for a trucking company?
There’s no single good number, because CPM depends on equipment, insurance, fuel prices, driver pay and how many miles the truck runs. What matters is that your average revenue per loaded mile comfortably clears your break-even per loaded mile after deadhead. Track your own CPM every month and watch the trend.
Should cost per mile include driver pay?
Yes. Driver pay is one of the largest costs of moving a truck. If you’re an owner-operator, include a per-mile wage for yourself. Otherwise your CPM will show a profit on loads that really only pay for the equipment.
Do I use loaded miles or total miles to calculate cost per mile?
Use total miles (loaded plus empty) for cost per mile. Then divide total cost by loaded miles to get your break-even rate per loaded mile. The second number is the one to compare against rate offers.
How often should I recalculate cost per mile?
At least monthly, and whenever a big input changes: fuel price swings, an insurance renewal, a new truck or trailer payment, or a noticeable change in miles run. Driver settlement data is a good place to start; see driver settlement calculation explained.
Put your numbers to work
Run your own figures through the cost per mile calculator, then put that number next to every load you book. Techvia TMS keeps loads, miles, invoices and settlements in one system. The launch price is $49/month (regular price $199/month) with unlimited users. Start the 30-day free trial, no credit card required.