{
  "slug": "maintenance-cost-per-mile-age",
  "title": "Maintenance Cost Per Mile by Truck Age Calculator",
  "heading": "Truck Maintenance Cost by Age Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/maintenance-cost-per-mile-age",
  "summary": "Project rising maintenance cost per mile as a truck ages.",
  "description": "Maintenance cost per mile is not flat over a truck's life — it starts low under warranty, climbs steadily as components wear, and can spike hard past 500,000-600,000 miles as major systems (engine, transmission, aftertreatment) start failing together. This calculator applies an age-based escalation curve to a base maintenance CPM you set for a new truck, projecting cost per mile at your current odometer reading. It's a planning tool for deciding when a truck has crossed from 'routine maintenance' territory into 'trade it before the big bills hit' territory — the point where projected CPM exceeds what a newer truck payment would cost you instead.",
  "formula": "Projected CPM = base CPM × (1 + escalation rate)^(miles ÷ 100,000).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=maintenance-cost-per-mile-age",
  "inputs": [
    {
      "id": "baseCpm",
      "label": "Base maintenance CPM (new truck)",
      "kind": "number",
      "hint": null,
      "default": 0.08,
      "unit": "$/mi",
      "min": 0,
      "max": null
    },
    {
      "id": "currentMiles",
      "label": "Current odometer",
      "kind": "number",
      "hint": null,
      "default": 450000,
      "unit": "mi",
      "min": 0,
      "max": null
    },
    {
      "id": "escalationPer100k",
      "label": "Cost escalation per 100k miles",
      "kind": "number",
      "hint": null,
      "default": 18,
      "unit": "%",
      "min": 0,
      "max": null
    },
    {
      "id": "annualMiles",
      "label": "Annual miles driven",
      "kind": "number",
      "hint": null,
      "default": 110000,
      "unit": "mi/yr",
      "min": 1,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "projectedCpm",
      "label": "Current projected maintenance CPM",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "projectedAnnualCost",
      "label": "Projected annual maintenance cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "nextYearCpm",
      "label": "Projected CPM one year from now",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "cpmIncrease",
      "label": "Year-over-year CPM increase",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Base maintenance CPM (new truck): 0.08 $/mi",
      "Current odometer: 450000 mi",
      "Cost escalation per 100k miles: 18 %",
      "Annual miles driven: 110000 mi/yr"
    ],
    "outputs": [
      "Current projected maintenance CPM: $0.168",
      "Projected annual maintenance cost: $18,533",
      "Projected CPM one year from now: $0.202",
      "Year-over-year CPM increase: $0.034"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter base maintenance cpm (new truck) ($/mi).",
      "Enter current odometer (mi).",
      "Enter cost escalation per 100k miles (%).",
      "Enter annual miles driven (mi/yr).",
      "Read your current projected maintenance cpm 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": {
        "baseCpm": 0.048,
        "currentMiles": 270000,
        "escalationPer100k": 11,
        "annualMiles": 66000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "baseCpm": 0.08,
        "currentMiles": 450000,
        "escalationPer100k": 18,
        "annualMiles": 110000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "baseCpm": 0.128,
        "currentMiles": 720000,
        "escalationPer100k": 29,
        "annualMiles": 176000
      }
    }
  ],
  "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": "Where does the escalation rate number come from?",
      "a": "It varies by spec and duty cycle, but fleet maintenance data commonly shows maintenance cost roughly doubling to tripling between 100,000 miles and 500,000-600,000 miles on a Class 8 truck, which corresponds to roughly 15-25% escalation per 100k miles depending on how well it's been maintained."
    },
    {
      "q": "At what CPM should I consider trading the truck?",
      "a": "There's no universal number, but many fleets use the rule that once projected maintenance CPM approaches or exceeds the CPM-equivalent of a new truck payment (often $0.35-0.45/mi on a typical note), it's time to seriously evaluate trading rather than absorbing the next major repair."
    },
    {
      "q": "Does this account for a specific upcoming repair?",
      "a": "No, this is a smoothed trend estimate. If you know a $15,000 transmission rebuild is coming in the next 20,000 miles, add that as a one-time cost on top of this trend rather than expecting the curve to capture it precisely."
    },
    {
      "q": "Does preventive maintenance change this curve?",
      "a": "Yes, significantly. Trucks on strict PM schedules (oil, filters, brake, and cooling system service on time) tend to sit toward the lower end of the escalation range; deferred maintenance accelerates the curve and often causes compounding failures."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/owner-operator-cost-per-mile",
    "https://www.revenuelab.fyi/toolbox/van-fleet-replacement-cycle",
    "https://www.revenuelab.fyi/toolbox/truck-lease-vs-buy"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Maintenance Cost Per Mile by Truck Age Calculator (https://www.revenuelab.fyi/toolbox/maintenance-cost-per-mile-age)"
}