Estimate your monthly lease payment based on MSRP, money factor, and residual value.
Estimated Monthly Payment
$0.00
Depreciation:
Rent Charge:
Tax:
How to Calculate a Car Lease
Understanding how a car lease payment is calculated can save you thousands of dollars at the dealership. Unlike a traditional auto loan, where you pay for the entire value of the car, a lease only charges you for the portion of the vehicle's value that you "use up" over the term.
Key Terms Explained
Gross Capitalized Cost: The agreed-upon value of the vehicle plus any additional fees.
Residual Value: The estimated value of the car at the end of the lease. A higher residual value usually results in a lower monthly payment.
Money Factor: This is the interest rate on a lease. To convert it to a standard APR, multiply the money factor by 2400.
Depreciation Fee: The (Cap Cost – Residual Value) divided by the number of months in the lease.
Example Calculation
If you lease a car for $30,000 with a 60% residual value over 36 months:
The residual value is $18,000 ($30,000 * 0.60).
The total depreciation is $12,000 ($30,000 – $18,000).
The base depreciation payment is $333.33 per month ($12,000 / 36).
Add the money factor (interest) and sales tax to get your final monthly total.
Tips for Getting a Better Lease Deal
Always negotiate the "Capitalized Cost" (the price of the car) just as you would if you were buying it. Dealers often focus on the monthly payment to hide a higher sales price. Additionally, try to avoid high down payments on leases; if the car is totaled shortly after leaving the lot, you may not get that down payment back from the insurance company.
function calculateLease() {
var msrp = parseFloat(document.getElementById("msrp").value);
var downPayment = parseFloat(document.getElementById("downPayment").value) || 0;
var tradeValue = parseFloat(document.getElementById("tradeValue").value) || 0;
var term = parseFloat(document.getElementById("leaseTerm").value);
var residualRate = parseFloat(document.getElementById("residualRate").value);
var apr = parseFloat(document.getElementById("apr").value);
var salesTax = parseFloat(document.getElementById("salesTax").value) || 0;
if (isNaN(msrp) || isNaN(term) || isNaN(residualRate) || isNaN(apr) || term <= 0) {
alert("Please enter valid numbers in all required fields.");
return;
}
// 1. Calculate Capitalized Cost
var adjCapCost = msrp – downPayment – tradeValue;
// 2. Calculate Residual Value
var residualValue = msrp * (residualRate / 100);
// 3. Calculate Depreciation Fee
var monthlyDepreciation = (adjCapCost – residualValue) / term;
if (monthlyDepreciation < 0) monthlyDepreciation = 0;
// 4. Calculate Rent Charge (Interest)
// Money Factor = APR / 2400
var moneyFactor = apr / 2400;
var monthlyRentCharge = (adjCapCost + residualValue) * moneyFactor;
// 5. Base Monthly Payment
var basePayment = monthlyDepreciation + monthlyRentCharge;
// 6. Monthly Tax
var monthlyTax = basePayment * (salesTax / 100);
// 7. Total Monthly Payment
var totalMonthlyPayment = basePayment + monthlyTax;
// Display Results
document.getElementById("monthlyPaymentDisplay").innerText = "$" + totalMonthlyPayment.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("deprecDisplay").innerText = "$" + monthlyDepreciation.toFixed(2);
document.getElementById("rentDisplay").innerText = "$" + monthlyRentCharge.toFixed(2);
document.getElementById("taxDisplay").innerText = "$" + monthlyTax.toFixed(2);
document.getElementById("resultBox").style.display = "block";
document.getElementById("resultBox").scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}