{
  "slug": "owner-operator-cost-per-mile",
  "title": "Owner-Operator Cost Per Mile Calculator",
  "heading": "Owner-Operator Cost Per Mile Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/owner-operator-cost-per-mile",
  "summary": "Fixed plus variable costs split across your monthly miles.",
  "description": "Owner-operators lose money not because rates are bad but because they never separate fixed cost from variable cost. This tool takes your monthly fixed expenses — truck payment, insurance, permits, ELD, phone — and your per-mile variable costs — fuel, maintenance, tires — then divides fixed cost by your actual monthly miles to get a true all-in cost per mile. Run 8,000 miles a month instead of 10,000 and your fixed cost per mile jumps noticeably even though nothing else changed. This is the number you compare against any load board rate before you accept a load, and it's the number most new owner-operators never calculate until they're already underwater.",
  "formula": "Fixed CPM = monthly fixed ÷ monthly miles; Total CPM = Fixed CPM + variable CPM.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=owner-operator-cost-per-mile",
  "inputs": [
    {
      "id": "truckPayment",
      "label": "Truck/trailer payment",
      "kind": "number",
      "hint": null,
      "default": 2200,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "insurance",
      "label": "Insurance",
      "kind": "number",
      "hint": null,
      "default": 900,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "otherFixed",
      "label": "Permits, ELD, phone, misc fixed",
      "kind": "number",
      "hint": null,
      "default": 400,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "miles",
      "label": "Miles driven",
      "kind": "number",
      "hint": null,
      "default": 9000,
      "unit": "mi/mo",
      "min": 500,
      "max": null
    },
    {
      "id": "fuelCpm",
      "label": "Fuel cost per mile",
      "kind": "number",
      "hint": null,
      "default": 0.55,
      "unit": "$/mi",
      "min": 0,
      "max": null
    },
    {
      "id": "maintCpm",
      "label": "Maintenance + tires per mile",
      "kind": "number",
      "hint": null,
      "default": 0.18,
      "unit": "$/mi",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "totalCpm",
      "label": "Total cost per mile",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "fixedCpm",
      "label": "Fixed cost per mile",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "varCpm",
      "label": "Variable cost per mile",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "totalMonthlyCost",
      "label": "Total monthly cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "breakEvenRate",
      "label": "Minimum rate to break even",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Truck/trailer payment: 2200 $/mo",
      "Insurance: 900 $/mo",
      "Permits, ELD, phone, misc fixed: 400 $/mo",
      "Miles driven: 9000 mi/mo",
      "Fuel cost per mile: 0.55 $/mi",
      "Maintenance + tires per mile: 0.18 $/mi"
    ],
    "outputs": [
      "Total cost per mile: $1.119",
      "Fixed cost per mile: $0.389",
      "Variable cost per mile: $0.73",
      "Total monthly cost: $10,070",
      "Minimum rate to break even: $1.119"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter truck/trailer payment ($/mo).",
      "Enter insurance ($/mo).",
      "Enter permits, eld, phone, misc fixed ($/mo).",
      "Enter miles driven (mi/mo).",
      "Enter fuel cost per mile ($/mi).",
      "Enter maintenance + tires per mile ($/mi).",
      "Read your total cost per mile on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "truckPayment": 1300,
        "insurance": 550,
        "otherFixed": 250,
        "miles": 5400,
        "fuelCpm": 0.33,
        "maintCpm": 0.108
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "truckPayment": 2200,
        "insurance": 900,
        "otherFixed": 400,
        "miles": 9000,
        "fuelCpm": 0.55,
        "maintCpm": 0.18
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "truckPayment": 3500,
        "insurance": 1450,
        "otherFixed": 650,
        "miles": 14400,
        "fuelCpm": 0.8800000000000001,
        "maintCpm": 0.288
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What counts as fixed vs variable?",
      "a": "Fixed costs happen whether you drive one mile or 15,000 — truck payment, insurance, permits, ELD subscription. Variable costs scale with miles — fuel, tires, oil changes, brake wear. Keeping them separate is the whole point, since fixed cost per mile falls as you drive more."
    },
    {
      "q": "Should I include my own pay?",
      "a": "Not in cost per mile — that's your margin. Compute total CPM first, then whatever a load pays above that number is available for driver pay and profit. Many operators mistakenly bury their target paycheck inside cost per mile and end up chasing loads that don't actually cover it."
    },
    {
      "q": "Why does my CPM change month to month?",
      "a": "Fixed costs stay flat but miles vary, so fixed CPM swings. A slow month at 6,000 miles instead of 10,000 can add 10-15 cents per mile to your fixed cost alone, which is why seasonal freight slumps hurt owner-operators disproportionately."
    },
    {
      "q": "What's a realistic total CPM range?",
      "a": "Most owner-operators run $1.40-$1.80 all-in depending on truck payment and fuel prices. Under $1.30 usually means an older paid-off truck; over $2.00 often signals a new truck note eating too much of the budget relative to miles run."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/deadhead-percentage-impact",
    "https://www.revenuelab.fyi/toolbox/load-board-rate-vs-breakeven",
    "https://www.revenuelab.fyi/toolbox/maintenance-cost-per-mile-age"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Owner-Operator Cost Per Mile Calculator (https://www.revenuelab.fyi/toolbox/owner-operator-cost-per-mile)"
}