Understanding your auto lease payment is crucial before visiting the dealership. Unlike a traditional car loan, where you pay for the entire value of the vehicle plus interest, a lease payment is primarily based on the vehicle's depreciation during the time you drive it.
The Three Core Components of a Lease
Depreciation Fee: This is the value the car loses over the lease term. It is calculated by taking the "Net Capitalized Cost" (the price you negotiated minus your down payment) and subtracting the "Residual Value" (the predicted value of the car at the end of the lease), then dividing by the number of months.
Rent Charge: This is the equivalent of interest. It is calculated using a "Money Factor." To see the equivalent APR interest rate, multiply the Money Factor by 2,400.
Taxes: Most states charge sales tax on the monthly payment amount rather than the full price of the vehicle.
Real-World Example
If you lease a car with an MSRP of $35,000 but negotiate the price down to $32,000, and put $3,000 down, your Net Capitalized Cost is $29,000. If the bank sets a 60% residual value for a 36-month lease, the car will be worth $21,000 (60% of MSRP) at the end. Your depreciation fee would be ($29,000 – $21,000) / 36 = $222.22 per month.
To reduce your monthly payment, focus on negotiating a lower sales price and look for vehicles with high residual values, as they depreciate less over time.
function calculateLease() {
var msrp = parseFloat(document.getElementById('msrp').value) || 0;
var negotiatedPrice = parseFloat(document.getElementById('negotiatedPrice').value) || 0;
var downPayment = parseFloat(document.getElementById('downPayment').value) || 0;
var tradeIn = parseFloat(document.getElementById('tradeIn').value) || 0;
var leaseTerm = parseFloat(document.getElementById('leaseTerm').value) || 1;
var residualPercent = parseFloat(document.getElementById('residualPercent').value) || 0;
var moneyFactor = parseFloat(document.getElementById('moneyFactor').value) || 0;
var salesTax = parseFloat(document.getElementById('salesTax').value) || 0;
// 1. Calculate Residual Value
var residualAmount = msrp * (residualPercent / 100);
// 2. Calculate Net Capitalized Cost
var netCapCost = negotiatedPrice – downPayment – tradeIn;
if (netCapCost < residualAmount) {
alert("The negotiated price minus down payment cannot be less than the residual value.");
return;
}
// 3. Monthly Depreciation Fee
var depreciationFee = (netCapCost – residualAmount) / leaseTerm;
// 4. Monthly Rent Charge
var rentCharge = (netCapCost + residualAmount) * moneyFactor;
// 5. Pre-tax Monthly Payment
var basePayment = depreciationFee + rentCharge;
// 6. Tax
var monthlyTaxAmount = basePayment * (salesTax / 100);
// 7. Total Payment
var totalMonthlyPayment = basePayment + monthlyTaxAmount;
// Display Results
document.getElementById('monthlyPayment').innerText = '$' + totalMonthlyPayment.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('depreciationFee').innerText = '$' + depreciationFee.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('rentCharge').innerText = '$' + rentCharge.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('monthlyTax').innerText = '$' + monthlyTaxAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('residualAmount').innerText = '$' + residualAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('leaseResult').style.display = 'block';
}