{
  "slug": "delivery-route-cost",
  "title": "Delivery Route Cost Calculator",
  "heading": "Delivery Route Cost Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/delivery-route-cost",
  "summary": "Cost per stop and per route for a local delivery fleet.",
  "description": "Local delivery economics hinge on stops per hour. Add driver wages with burden, fuel, vehicle depreciation, and insurance, then divide by the stops the route actually completes.",
  "formula": "Route cost = (hours × loaded wage) + (miles × vehicle cost/mi); per stop = route cost ÷ stops.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=delivery-route-cost",
  "inputs": [
    {
      "id": "stops",
      "label": "Stops per route",
      "kind": "number",
      "hint": null,
      "default": 85,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "hours",
      "label": "Route hours",
      "kind": "number",
      "hint": null,
      "default": 9,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "miles",
      "label": "Route miles",
      "kind": "number",
      "hint": null,
      "default": 110,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "wage",
      "label": "Driver hourly wage",
      "kind": "number",
      "hint": null,
      "default": 24,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "burden",
      "label": "Payroll burden",
      "kind": "number",
      "hint": null,
      "default": 26,
      "unit": "%",
      "min": 0,
      "max": 60
    },
    {
      "id": "fuelPrice",
      "label": "Fuel price",
      "kind": "number",
      "hint": null,
      "default": 3.6,
      "unit": "$/gal",
      "min": 0,
      "max": null
    },
    {
      "id": "mpg",
      "label": "Van fuel economy",
      "kind": "number",
      "hint": null,
      "default": 14,
      "unit": "mpg",
      "min": 1,
      "max": null
    },
    {
      "id": "vehicleFixed",
      "label": "Vehicle lease + insurance per day",
      "kind": "number",
      "hint": null,
      "default": 62,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "maintPerMile",
      "label": "Maintenance per mile",
      "kind": "number",
      "hint": null,
      "default": 0.14,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "revenuePerStop",
      "label": "Revenue per stop",
      "kind": "number",
      "hint": null,
      "default": 6.5,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "perStop",
      "label": "Cost per stop",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "total",
      "label": "Total route cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "profit",
      "label": "Route profit",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "labor",
      "label": "Labor cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "stopsPerHour",
      "label": "Stops per hour",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Stops per route: 85",
      "Route hours: 9",
      "Route miles: 110",
      "Driver hourly wage: 24 $",
      "Payroll burden: 26 %",
      "Fuel price: 3.6 $/gal",
      "Van fuel economy: 14 mpg",
      "Vehicle lease + insurance per day: 62 $",
      "Maintenance per mile: 0.14 $",
      "Revenue per stop: 6.5 $"
    ],
    "outputs": [
      "Cost per stop: $4.45",
      "Total route cost: $377.85",
      "Route profit: $174.65",
      "Labor cost: $272.16",
      "Stops per hour: 9.4"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter stops per route.",
      "Enter route hours.",
      "Enter route miles.",
      "Enter driver hourly wage ($).",
      "Enter payroll burden (%).",
      "Enter fuel price ($/gal).",
      "Enter van fuel economy (mpg).",
      "Enter vehicle lease + insurance per day ($).",
      "Enter maintenance per mile ($).",
      "Enter revenue per stop ($).",
      "Read your cost per stop 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": {
        "stops": 51,
        "hours": 5.3999999999999995,
        "miles": 65,
        "wage": 14,
        "burden": 16,
        "fuelPrice": 2.16,
        "mpg": 8.4,
        "vehicleFixed": 37,
        "maintPerMile": 0.084,
        "revenuePerStop": 3.9
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "stops": 85,
        "hours": 9,
        "miles": 110,
        "wage": 24,
        "burden": 26,
        "fuelPrice": 3.6,
        "mpg": 14,
        "vehicleFixed": 62,
        "maintPerMile": 0.14,
        "revenuePerStop": 6.5
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "stops": 136,
        "hours": 14.4,
        "miles": 175,
        "wage": 38,
        "burden": 42,
        "fuelPrice": 5.760000000000001,
        "mpg": 22.400000000000002,
        "vehicleFixed": 99,
        "maintPerMile": 0.22400000000000003,
        "revenuePerStop": 10.4
      }
    }
  ],
  "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 is a good stops-per-hour number?",
      "a": "Dense residential parcel routes commonly run 10 to 18 stops per hour. Rural or appointment-based routes fall to 3 to 6, which changes cost per stop dramatically."
    },
    {
      "q": "Should failed deliveries count as stops?",
      "a": "For cost, yes — they consume the same drive and dwell time. For revenue, usually no, which is why redelivery rates quietly destroy route margin."
    }
  ],
  "related": [],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Delivery Route Cost Calculator (https://www.revenuelab.fyi/toolbox/delivery-route-cost)"
}