Home Loan Pay off Calculator

Cost Per Mile (CPM) Calculator

Calculate your vehicle or fleet operating costs with precision.

Insurance, permits, loan payments
Fuel, maintenance, repairs, tires
Miles traveled during the period
Your Cost Per Mile
$0.00
Fixed/Mile
$0.00
Variable/Mile
$0.00

What is Cost Per Mile (CPM)?

In the trucking and logistics industry, Cost Per Mile (CPM) is the fundamental metric used to determine how much it costs to operate a vehicle for every mile it travels. Whether you are an owner-operator or managing a large fleet, knowing your CPM is vital for setting profitable freight rates and identifying areas where you can reduce expenses.

Understanding Fixed vs. Variable Costs

  • Fixed Costs: These are expenses you pay regardless of whether the truck is moving. Examples include insurance premiums, license/permit fees, equipment loan payments, and administrative salaries.
  • Variable Costs: These expenses fluctuate based on the mileage. The most common variable costs are diesel fuel, engine oil, tire wear, routine maintenance, and repairs.

The Importance of CPM Calculation

Knowing your exact cost per mile allows you to calculate your break-even point. If your CPM is $1.85 and you accept a load paying $1.70 per mile, you are losing $0.15 for every mile driven. High-performing carriers track their CPM monthly to adjust for seasonal changes in fuel prices and maintenance needs.

Realistic Example

Imagine an owner-operator with the following monthly stats:

  • Fixed Costs: $2,000 (Insurance + Truck Payment)
  • Variable Costs: $4,500 (Fuel + Maintenance)
  • Total Miles: 8,000 miles
  • Calculation: ($2,000 + $4,500) / 8,000 = $0.81 per mile
function calculateCPM() { var fixed = parseFloat(document.getElementById("fixedCosts").value); var variable = parseFloat(document.getElementById("variableCosts").value); var miles = parseFloat(document.getElementById("totalMiles").value); var resultDiv = document.getElementById("cpmResult"); var finalCpmText = document.getElementById("finalCpm"); var fixedPerMileText = document.getElementById("fixedPerMile"); var variablePerMileText = document.getElementById("variablePerMile"); if (isNaN(fixed) || isNaN(variable) || isNaN(miles) || miles <= 0) { alert("Please enter valid numbers and a mileage greater than zero."); return; } var totalCost = fixed + variable; var totalCpm = totalCost / miles; var fPerMile = fixed / miles; var vPerMile = variable / miles; finalCpmText.innerHTML = "$" + totalCpm.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); fixedPerMileText.innerHTML = "$" + fPerMile.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); variablePerMileText.innerHTML = "$" + vPerMile.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); resultDiv.style.display = "block"; resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment