🚗 Keep your car or buy a new one? 🚙

How it works

This tool compares the cost of buying a new car versus keeping your current car. We calculate the total cost of ownership over a set number of years, considering factors such as:

  • Fuel efficiency
  • Maintenance costs
  • Insurance premiums
  • Depreciation
  • Road tax
  • Finance costs (if applicable)

By inputting details about your current car and the potential new car, you'll get a comprehensive breakdown of costs to help you make an informed decision.

{{ currentCar.name }}

£{{ formatNumber(currentCarTotal) }}

Best Option

{{ currentCarTotal < newCarTotal ? 'Keep current' : 'Buy new' }}

£{{ formatNumber(Math.abs(currentCarTotal - newCarTotal)) }} cheaper

{{ newCar.name }}

£{{ formatNumber(newCarTotal) }}

Key figures

miles
years
{{ currentCarTotal < newCarTotal ? 'Best Option' : 'Worst Option' }} Add data to get results
£

Enter the estimated amount you could sell your current car for. This will be used to calculate depreciation and will be automatically added to the cash payment for the new car.

years
miles

Fuel Information

{{ currentCar.fuelType === 'electric' ? 'miles/kWh' : 'MPG' }}
£ {{ currentCar.fuelType === 'electric' ? 'per kWh' : 'per litre' }}

Annual Maintenance Costs

£ per year
£ per year
£ per year
£ per year

Total Annual Maintenance Cost: £{{ formatNumber(parseFloatOrZero(currentCar.tyreCost) + parseFloatOrZero(currentCar.motCost) + parseFloatOrZero(currentCar.servicingCost) + parseFloatOrZero(currentCar.repairsCost)) }}


£ per year
£ per year

Projected vehicle details after {{ yearsOfOwnership }} years:
Value: £{{ formatNumber(currentCarFinalValue) }}
Age: {{ parseFloatOrZero(currentCar.age) + parseFloatOrZero(yearsOfOwnership) }} years
Mileage: {{ formatNumber(parseFloatOrZero(currentCar.initialMileage) + (parseFloatOrZero(milesPerYear) * parseFloatOrZero(yearsOfOwnership))) }} miles

{{ currentCarTotal > newCarTotal ? 'Best Option' : 'Worst Option' }} Add data to get results

Purchase Information

£
£

This is automatically calculated from your current car's estimated selling price.

£
£

This is automatically calculated as (Cash Payment from Current Car Sale + Additional Cash Contribution).

£

This is automatically calculated as (Purchase Price - Total Cash Payment).

%
years
£{{ formatNumber(calculateMonthlyPayment()) }} per month (for {{ newCar.loanTerm * 12 }} months)

Fuel Information

{{ newCar.fuelType === 'electric' ? 'miles/kWh' : 'MPG' }}
£ {{ newCar.fuelType === 'electric' ? 'per kWh' : 'per litre' }}

Annual Maintenance Costs

£ per year
£ per year
£ per year
£ per year

Total Annual Maintenance Cost: £{{ formatNumber(parseFloatOrZero(newCar.tyreCost) + parseFloatOrZero(newCar.motCost) + parseFloatOrZero(newCar.servicingCost) + parseFloatOrZero(newCar.repairsCost)) }}


£
£
years
miles

Projected vehicle details after {{ yearsOfOwnership }} years:
Value: £{{ formatNumber(newCarFinalValue) }} (depreciated {{ (newCarDepreciation / newCar.purchasePrice * 100).toFixed(2) }}%)
Age: {{ parseFloatOrZero(newCar.age) + parseFloatOrZero(yearsOfOwnership) }} years
Mileage: {{ formatNumber(parseFloatOrZero(newCar.initialMileage) + (parseFloatOrZero(milesPerYear) * parseFloatOrZero(yearsOfOwnership))) }} miles

Cost Comparison Over {{ yearsOfOwnership }} Years

Cheaper

{{ currentCar.name }}

£{{ formatNumber(currentCarTotal) }}

Current Value

  • 📊 Current Value: £{{ formatNumber(currentCar.sellingPrice) }}
  • 📉 Final Value: £{{ formatNumber(currentCarFinalValue) }}
  • 💸 Depreciation: £{{ formatNumber(currentCarDepreciation) }} (over {{ yearsOfOwnership }} years)

Running Costs

  • ⛽ Fuel Cost: £{{ formatNumber(currentCarFuelCost) }}
  • 🔧 Maintenance: £{{ formatNumber(currentCarTotalMaintenance) }}
  • 🛡️ Insurance: £{{ formatNumber(currentCar.insuranceCost * yearsOfOwnership) }}
  • 🛣️ Road Tax: £{{ formatNumber(currentCar.roadTax * yearsOfOwnership) }}

Total Running Costs: £{{ formatNumber(currentCarFuelCost + currentCarTotalMaintenance + currentCar.insuranceCost * yearsOfOwnership + currentCar.roadTax * yearsOfOwnership) }}

Total Cost: £{{ formatNumber(currentCarTotal) }}

Projected after {{ yearsOfOwnership }} years: Value: £{{ formatNumber(currentCarFinalValue) }} | Age: {{ parseFloatOrZero(currentCar.age) + parseFloatOrZero(yearsOfOwnership) }} years | Mileage: {{ formatNumber(parseFloatOrZero(currentCar.initialMileage) + (parseFloatOrZero(milesPerYear) * parseFloatOrZero(yearsOfOwnership))) }} miles

Cheaper

{{ newCar.name }}

£{{ formatNumber(newCarTotal) }}

Purchase Costs

  • 💰 Purchase Price: £{{ formatNumber(newCar.purchasePrice) }}
  • 💳 Loan Interest: £{{ formatNumber(newCarInterest) }} ({{ newCar.loanInterestRate }}% interest rate)
  • 📉 Depreciation: £{{ formatNumber(newCarDepreciation) }}

Running Costs

  • ⛽ Fuel Cost: £{{ formatNumber(newCarFuelCost) }}
  • 🔧 Maintenance: £{{ formatNumber(newCarTotalMaintenance) }}
  • 🛡️ Insurance: £{{ formatNumber(newCar.insuranceCost * yearsOfOwnership) }}
  • 🛣️ Road Tax: £{{ formatNumber(newCar.roadTax * yearsOfOwnership) }}

Total Running Costs: £{{ formatNumber(newCarFuelCost + newCarTotalMaintenance + newCar.insuranceCost * yearsOfOwnership + newCar.roadTax * yearsOfOwnership) }}

Projected after {{ yearsOfOwnership }} years: Value: £{{ formatNumber(newCarFinalValue) }} | Age: {{ parseFloatOrZero(newCar.age) + parseFloatOrZero(yearsOfOwnership) }} years | Mileage: {{ formatNumber(parseFloatOrZero(newCar.initialMileage) + (parseFloatOrZero(milesPerYear) * parseFloatOrZero(yearsOfOwnership))) }} miles

Detailed Analysis

{{ currentCarTotal < newCarTotal ? `Keeping your ${currentCar.name} is ${Math.abs(currentCarTotal - newCarTotal) < 1000 ? 'marginally' : Math.abs(currentCarTotal - newCarTotal) < 3000 ? 'moderately' : Math.abs(currentCarTotal - newCarTotal) < 7000 ? 'significantly' : Math.abs(currentCarTotal - newCarTotal) < 12000 ? 'substantially' : Math.abs(currentCarTotal - newCarTotal) < 20000 ? 'overwhelmingly' : 'exceptionally'} more cost-effective.` : `Buying the ${newCar.name} is ${Math.abs(currentCarTotal - newCarTotal) < 1000 ? 'marginally' : Math.abs(currentCarTotal - newCarTotal) < 3000 ? 'moderately' : Math.abs(currentCarTotal - newCarTotal) < 7000 ? 'significantly' : Math.abs(currentCarTotal - newCarTotal) < 12000 ? 'substantially' : Math.abs(currentCarTotal - newCarTotal) < 20000 ? 'overwhelmingly' : 'exceptionally'} more cost-effective.` }} The difference in total cost over {{ yearsOfOwnership }} years is £{{ formatNumber(Math.abs(currentCarTotal - newCarTotal)) }}, or £{{ formatNumber(Math.abs(currentCarTotal - newCarTotal) / yearsOfOwnership) }} per year.

Consider factors beyond cost, such as reliability, comfort, safety features, and personal preferences when making your final decision.

Assumptions
  • You'll drive about {{ formatNumber(milesPerYear) }} miles per year and keep the car for {{ yearsOfOwnership }} years.
  • Fuel, maintenance, insurance, and road tax won't change over time (in reality they will probably increase each year).
  • Depreciation is based on UK figures, taking into account the age of the car and its mileage.

Monthly Cost Breakdown

Cost Item
  • Fuel
  • 🔧Maintenance
  • 🛡️Insurance
  • 🛣️Road Tax
  • 💳Finance Payment
  • 💰Total Monthly Cost
{{ currentCar.name }}
  • £{{ formatNumber(currentCarFuelCost / (yearsOfOwnership * 12)) }} /month
  • £{{ formatNumber(currentCarTotalMaintenance / (yearsOfOwnership * 12)) }} /month
  • £{{ formatNumber(currentCar.insuranceCost / 12) }} /month
  • £{{ formatNumber(currentCar.roadTax / 12) }} /month
  • N/A
  • £{{ formatNumber((currentCarFuelCost + currentCarTotalMaintenance + currentCar.insuranceCost * yearsOfOwnership + currentCar.roadTax * yearsOfOwnership) / (yearsOfOwnership * 12)) }} /month
{{ newCar.name }}
  • £{{ formatNumber(newCarFuelCost / (yearsOfOwnership * 12)) }} /month
  • £{{ formatNumber(newCarTotalMaintenance / (yearsOfOwnership * 12)) }} /month
  • £{{ formatNumber(newCar.insuranceCost / 12) }} /month
  • £{{ formatNumber(newCar.roadTax / 12) }} /month
  • £{{ formatNumber(calculateMonthlyPayment()) }} /month (for {{ newCar.loanTerm * 12 }} months)
  • £{{ formatNumber((calculateMonthlyPayment() * 12 * yearsOfOwnership + newCarFuelCost + newCarTotalMaintenance + newCar.insuranceCost * yearsOfOwnership + newCar.roadTax * yearsOfOwnership) / (yearsOfOwnership * 12)) }} /month

Note: These monthly figures do not include depreciation, which is accounted for in the total cost over {{ yearsOfOwnership }} years.

{{ item.title }}

{{ currentCar.name }}:

£{{ formatNumber(item.current) }}

{{ newCar.name }}:

£{{ formatNumber(item.new) }}

Difference: £{{ formatNumber(Math.abs(item.difference)) }} {{ item.difference < 0 ? 'favouring ' + currentCar.name : 'favouring ' + newCar.name }}

Suggestions to Make Buying a New Car More Cost-Effective

  • 💰 Lower the purchase price: If you can negotiate the new car's price down to £{{ formatNumber(suggestedPurchasePrice) }}, it would break even with keeping your current car.
  • Look for better fuel efficiency: A new car with a fuel efficiency of {{ formatNumber(suggestedFuelEfficiency) }} {{ newCar.fuelType !== 'electric' ? 'MPG' : 'miles/kWh' }} would break even with your current car.
  • 🔧 Reduce maintenance costs: If you can find a new car with annual maintenance costs of £{{ formatNumber(suggestedMaintenanceCost) }}, it would break even with your current car.
  • Find cheaper insurance: If you can get insurance for the new car at £{{ formatNumber(suggestedInsuranceCost) }} per year, it would break even with your current car.
  • 💳 Increase your cash contribution: If you can increase your total cash payment to £{{ formatNumber(suggestedCashContribution) }}, it would break even with keeping your current car. This would reduce your loan amount and save on interest.
  • 🏦 Shop for better finance rates: Your current loan interest rate is {{ newCar.loanInterestRate }}%. If you can find a lower interest rate, it could significantly reduce your total cost of ownership for the new car.
  • 💼 Consider a combination: Adjusting multiple factors slightly can also make the new car more cost-effective. For example, negotiating a lower price, finding a more fuel-efficient model, and reducing insurance costs.