Lease payments are composed of three primary parts: depreciation, rent charge (interest), and taxes. Unlike a standard car loan where you pay for the entire vehicle, a lease only charges you for the value the car loses while you drive it.
The Lease Formula Components
Gross Capitalized Cost: The total price of the vehicle including taxes and fees.
Residual Value: The estimated value of the car at the end of the lease. This is set by the bank.
Money Factor: This is the interest rate. If you have an APR, divide it by 2400 to get the Money Factor (e.g., 3% APR / 2400 = 0.00125).
Step-by-Step Example
If you lease a car worth $35,000 with a 58% residual value over 36 months:
Depreciation: Calculate the difference between the price and residual value ($14,700) and divide by the term (36). Result: $408.33.
Rent Charge: Add the adjusted price and residual value together, then multiply by the Money Factor. Result: (~$85.00).
Tax: Apply your local sales tax to the sum of depreciation and rent.
Using this calculator helps you verify the numbers presented by the dealership and ensures you are getting a fair deal on your next vehicle lease.
function calculateLeasePayment() {
var carPrice = parseFloat(document.getElementById("carPrice").value);
var downPayment = parseFloat(document.getElementById("downPayment").value) || 0;
var tradeIn = parseFloat(document.getElementById("tradeIn").value) || 0;
var leaseTerm = parseFloat(document.getElementById("leaseTerm").value);
var residualPercent = parseFloat(document.getElementById("residualValue").value);
var mfInput = parseFloat(document.getElementById("moneyFactor").value);
var salesTax = parseFloat(document.getElementById("salesTax").value) || 0;
if (isNaN(carPrice) || isNaN(residualPercent) || isNaN(mfInput)) {
alert("Please fill in all required fields with valid numbers.");
return;
}
// Convert APR to Money Factor if the user entered it as a percentage (e.g., 3.0 instead of 0.00125)
var moneyFactor = mfInput;
if (mfInput > 0.5) {
moneyFactor = mfInput / 2400;
}
// 1. Adjusted Capitalized Cost
var adjCapCost = carPrice – downPayment – tradeIn;
// 2. Residual Value
var residualValueAmount = carPrice * (residualPercent / 100);
// 3. Monthly Depreciation
var monthlyDepreciation = (adjCapCost – residualValueAmount) / leaseTerm;
// 4. Monthly Rent Charge
var monthlyRentCharge = (adjCapCost + residualValueAmount) * moneyFactor;
// 5. Pre-tax Payment
var preTaxPayment = monthlyDepreciation + monthlyRentCharge;
// 6. Total Payment with Tax
var totalMonthlyPayment = preTaxPayment * (1 + (salesTax / 100));
// Update Display
document.getElementById("resGrossCap").innerText = "$" + adjCapCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resResidual").innerText = "$" + residualValueAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resDepreciation").innerText = "$" + monthlyDepreciation.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resRent").innerText = "$" + monthlyRentCharge.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resTotal").innerText = "$" + totalMonthlyPayment.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("lease-result").style.display = "block";
}