Estimate your monthly lease payments including depreciation and rent charges.
Gross Capitalized Cost:$0.00
Residual Value:$0.00
Monthly Depreciation:$0.00
Monthly Rent Charge:$0.00
Total Monthly Payment:$0.00
How Car Lease Payments are Calculated
Leasing a car is different from buying one. Instead of paying for the entire value of the vehicle, you are essentially paying for the depreciation of the car over the time you use it, plus a finance fee called the money factor.
Key Lease Terms Explained:
MSRP: The Manufacturer's Suggested Retail Price.
Negotiated Price (Capitalized Cost): The price you actually agreed to pay for the vehicle before taxes and fees.
Residual Value: The estimated value of the car at the end of the lease. This is set by the leasing company. A higher residual value usually means lower monthly payments.
Money Factor: The interest rate of the lease. To convert this to a standard APR, multiply the money factor by 2400. For example, a money factor of 0.00125 equals a 3% APR.
Down Payment (Cap Cost Reduction): Cash paid upfront to reduce the amount being financed.
Imagine a car with a negotiated price of $30,000, a residual value of $18,000 (60% of a $30,000 MSRP), a 36-month term, and a money factor of 0.0015.
Your monthly depreciation would be $333.33 ($12,000 / 36). Your rent charge would be $72.00 (($30k + $18k) * 0.0015). Without tax, your payment would be $405.33.
function calculateLease() {
var msrp = parseFloat(document.getElementById('msrp').value);
var negotiatedPrice = parseFloat(document.getElementById('negotiatedPrice').value);
var downPayment = parseFloat(document.getElementById('downPayment').value);
var tradeIn = parseFloat(document.getElementById('tradeIn').value);
var leaseTerm = parseFloat(document.getElementById('leaseTerm').value);
var residualPercent = parseFloat(document.getElementById('residualValue').value);
var moneyFactor = parseFloat(document.getElementById('moneyFactor').value);
var taxRate = parseFloat(document.getElementById('taxRate').value);
if (isNaN(msrp) || isNaN(negotiatedPrice) || isNaN(leaseTerm) || leaseTerm <= 0) {
alert("Please enter valid numbers for price and term.");
return;
}
// 1. Calculate Net Capitalized Cost
var capCost = negotiatedPrice – downPayment – tradeIn;
// 2. Calculate Residual Value in Dollars
var residualVal = msrp * (residualPercent / 100);
// 3. Calculate Monthly Depreciation
var monthlyDepreciation = (capCost – residualVal) / leaseTerm;
if (monthlyDepreciation < 0) monthlyDepreciation = 0;
// 4. Calculate Monthly Rent Charge
var monthlyRent = (capCost + residualVal) * moneyFactor;
// 5. Calculate Base Payment
var basePayment = monthlyDepreciation + monthlyRent;
// 6. Calculate Tax
var totalMonthly = basePayment * (1 + (taxRate / 100));
// Display Results
document.getElementById('resCapCost').innerText = "$" + capCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resResidualVal').innerText = "$" + residualVal.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resDepreciation').innerText = "$" + monthlyDepreciation.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resRentCharge').innerText = "$" + monthlyRent.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resTotalPayment').innerText = "$" + totalMonthly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('results').style.display = 'block';
}