
The formula — cost per mile, done right
The full CPM formula with every fixed and variable line, the two mistakes that make new carriers underprice by $0.30/mi, and a worked example on a real 26' box truck.
The formula
Cost per mile (CPM) = Total monthly costs ÷ Total revenue miles
That's it. Everything else in this course either lowers the top of the fraction or raises the bottom.
The mistake most new carriers make
They calculate CPM using total miles (including deadhead) instead of revenue miles. That understates their true breakeven by 15–25%.
Rule: only count REVENUE miles (loaded miles) in the denominator.
Deadhead is a cost of doing business, not a revenue-generating activity. If you drove 4,000 total miles and 3,200 were loaded, use 3,200.
The complete cost stack
Fixed costs (same whether you roll or park):
- Truck payment (loan or lease)
- Commercial auto insurance
- Cargo insurance
- General liability
- Physical damage insurance
- Base plate / IRP registration (monthly amortized)
- LLC state fees (monthly amortized)
- ELD subscription
- Load board subscriptions (DAT, Truckstop)
- Accounting software (QuickBooks)
- Phone data plan (business portion)
- Accountant retainer
Variable costs (per mile driven):
- Fuel (biggest single item)
- Maintenance reserve ($0.10–$0.18/mi)
- Tire reserve ($0.03/mi)
- IFTA reserve (~$0.03/mi)
- DEF fluid ($0.008/mi)
- Tolls (varies wildly by lane)
- Scale fees (occasional)
Per-load costs (amortized across weekly miles):
- Lumper fees (some shippers)
- Broker factoring fee (2–3% of gross)
- Comdata / fuel card fee (usually free if factoring)
Worked example — 2019 Isuzu FTR, my actual month
Assumptions:
- Financed at 12% / 60mo / $52k, 20% down. Payment: $925/mo.
- Insurance total: $985/mo
- Fuel: 8.5 mpg, $3.85/gal average
- 4,000 revenue miles for the month
- 450 deadhead miles (11% deadhead — decent)
Fixed costs (per month):
| Item | $/mo |
|---|---|
| Truck payment | $925 |
| Auto liability | $625 |
| Cargo + GL | $135 |
| Physical damage | $180 |
| Non-trucking | $45 |
| IRP + registration | $95 |
| DAT One Pro | $195 |
| Motive ELD | $25 |
| QuickBooks | $30 |
| Accountant | $150 |
| Phone (business portion) | $60 |
| Total fixed | $2,465 |
Variable costs (per revenue mile):
| Item | $/mi |
|---|---|
| Fuel ($3.85 ÷ 8.5 mpg) | $0.453 |
| Fuel for deadhead (450mi @ 8.5mpg × $3.85, spread over 4,000 rev-mi) | $0.051 |
| Maintenance reserve | $0.12 |
| Tire reserve | $0.03 |
| IFTA reserve | $0.03 |
| DEF | $0.008 |
| Tolls (avg) | $0.04 |
| Total variable per revenue mile | $0.732 |
Total cost per revenue mile:
$2,465 fixed ÷ 4,000 rev-mi = $0.616/mi fixed Plus $0.732 variable = $1.348/mi total
Plus factoring (2.5% of gross revenue, spread across revenue miles):
- Gross revenue this month: $8,000 (i.e., $2.00/mi avg)
- Factoring fee: 2.5% × $8,000 = $200 ÷ 4,000 mi = $0.05/mi
True CPM = $1.40/mi.
That's the breakeven. Every mile below $1.40 loses money. Every mile above $1.40 is profit contribution.
The two mistakes that add $0.30/mi
Mistake 1: Forgetting deadhead fuel. New carriers calculate fuel only for revenue miles. But you burned fuel on the 450 deadhead miles too — and someone has to pay for that. Spread it across revenue miles.
Mistake 2: Not reserving maintenance until you need it. $0.12/mi for maintenance sounds like a lot. It's not. On a 250k-mi used truck you're looking at:
- Brakes: $600 every 40k mi = $0.015/mi
- Tires: 6× $500 every 90k mi = $0.033/mi
- Oil changes: $250 every 15k mi = $0.017/mi
- Alternator, starter, water pump, radiator, injectors: budget $3,000 over 100k mi = $0.03/mi
- Major (transmission, DPF, aftertreatment): budget $8,000 over 200k mi = $0.04/mi
- Total: $0.135/mi. Round to $0.14.
If you don't reserve this, you'll blow a $2k repair in month 4 and be unable to make truck payment.
The rate quote formula
Given your CPM, the minimum acceptable rate on any load is:
Minimum rate = (CPM × Total miles) + Desired profit
Example:
- CPM = $1.40
- Broker offers you a 500-mile load with 100 miles of deadhead to pickup
- Total miles = 600
- Cost = $1.40 × 600 = $840
- Desired profit = $200 (call it $0.33/mi profit)
- Minimum acceptable rate: $1,040 all-in.
If broker won't hit $1,040, you're breaking even or losing money. Walk.
The "great load" rule
Loads that pay 30%+ above your CPM are the ones you want. On a $1.40 CPM:
- Below $1.40/rev-mi: you're losing money. Never take.
- $1.40–$1.80/rev-mi: you're breakeven-ish. Take only to fill a gap or reposition.
- $1.80–$2.20/rev-mi: normal profit range. Aim for this on most loads.
- $2.20–$3.00/rev-mi: great load. Prioritize these.
- Over $3.00/rev-mi: hot spot lane or specialty freight. Ask what's the catch (usually a weird stop, tight timing, or specialty commodity).
Rule: every week, aim for at least 60% of your miles at $2.00+ RPM. Under 40% = something is wrong (bad market, bad negotiation, or wrong lanes).
The dispatch decision — automated
Once you know your CPM, every load decision takes 20 seconds:
- 1What's the total mileage (deadhead + loaded)?
- 2What's the rate?
- 3Divide rate by total mileage. Is it > CPM × 1.35?
- 4If yes, book. If no, counter or walk.
Stop deliberating loads for 10 minutes each. Do the math. Move.
Where to change your CPM
If your CPM is $1.60 and market rates are $2.00, you have very thin margin. Ways to lower CPM:
- 1Refinance the truck at year 2 (rates drop, business credit built).
- 2Increase revenue miles — reduce deadhead, run more days per month.
- 3Drop unused subscriptions (Truckstop if DAT is enough; RTS if not factoring).
- 4Buy fuel cheaper — fuel card at Pilot, Love's, or TA can save $0.15–$0.30/gal vs. retail.
- 5Improve MPG — governor at 65 mph vs 72 mph = 1.5–2 mpg improvement.
- 6Renegotiate insurance at renewal with clean loss history.
Action items
- Complete the full CPM calculation using YOUR numbers in the Tools calculator
- Write your CPM on a Post-It on your dashboard
- Recalculate CPM monthly for the first 6 months, quarterly after
- Set your load-board minimum rate filter to CPM × 1.35
Next: Deadhead and lane analysis — the tactics that reduce your CPM without any subscription changes.