Estimate your monthly auto lease payments based on MSRP, money factor, and residual value.
Estimated Monthly Payment:
How to Calculate Your Car Lease Payment
Lease payments are not determined the same way as standard car loans. Instead of paying off the entire value of the car, you are essentially paying for the depreciation of the vehicle over the time you drive it, plus interest and taxes.
The Three Key Components of a Lease
Depreciation Fee: This is the value the car loses during your lease term. It is calculated as (Adjusted Capitalized Cost – Residual Value) ÷ Lease Term.
Finance Fee (Rent Charge): This is the interest you pay to the leasing company. It is calculated using a "Money Factor." The formula is (Adjusted Capitalized Cost + Residual Value) × Money Factor.
Sales Tax: Most states apply sales tax to the monthly payment rather than the total price of the vehicle.
What is the Money Factor?
The money factor is the lease's interest rate expressed in a different format. To find the equivalent APR (Annual Percentage Rate), multiply the money factor by 2400. For example, a money factor of 0.00125 is equal to a 3% APR (0.00125 x 2400 = 3).
Practical Example
Suppose you lease a car with an MSRP of $35,000, but you negotiate the price down to $32,000. You put $2,000 down. Your "Adjusted Cap Cost" is $30,000. If the residual value is 60% after 36 months ($21,000), you are paying for $9,000 of depreciation over 3 years ($250/month). Add in the rent charge based on the money factor and local taxes to arrive at your final monthly total.
function calculateLeasePayment() {
var msrp = parseFloat(document.getElementById("msrp").value);
var salePrice = parseFloat(document.getElementById("salePrice").value);
var downPayment = parseFloat(document.getElementById("downPayment").value) || 0;
var tradeIn = parseFloat(document.getElementById("tradeIn").value) || 0;
var term = parseInt(document.getElementById("leaseTerm").value);
var residualPercent = parseFloat(document.getElementById("residualPercent").value);
var moneyFactor = parseFloat(document.getElementById("moneyFactor").value);
var taxRate = parseFloat(document.getElementById("taxRate").value) || 0;
if (isNaN(msrp) || isNaN(salePrice) || isNaN(term) || isNaN(residualPercent) || isNaN(moneyFactor)) {
alert("Please enter valid numeric values for all required fields.");
return;
}
// 1. Adjusted Capitalized Cost
var adjustedCapCost = salePrice – downPayment – tradeIn;
// 2. Residual Value
var residualValue = msrp * (residualPercent / 100);
// 3. Depreciation Fee
var depreciationFee = (adjustedCapCost – residualValue) / term;
if (depreciationFee < 0) depreciationFee = 0;
// 4. Finance Fee (Rent Charge)
var financeFee = (adjustedCapCost + residualValue) * moneyFactor;
// 5. Base Monthly Payment
var basePayment = depreciationFee + financeFee;
// 6. Tax
var taxAmount = basePayment * (taxRate / 100);
// 7. Total Payment
var totalMonthly = basePayment + taxAmount;
// Display Results
var resultDiv = document.getElementById("leaseResult");
var monthlyTotalDiv = document.getElementById("monthlyTotal");
var breakdownDiv = document.getElementById("leaseBreakdown");
resultDiv.style.display = "block";
monthlyTotalDiv.innerHTML = "$" + totalMonthly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
breakdownDiv.innerHTML = "Breakdown:" +
"• Adjusted Cap Cost: $" + adjustedCapCost.toLocaleString() + "" +
"• Residual Value: $" + residualValue.toLocaleString() + "" +
"• Monthly Depreciation: $" + depreciationFee.toFixed(2) + "" +
"• Monthly Rent Charge: $" + financeFee.toFixed(2) + "" +
"• Monthly Sales Tax: $" + taxAmount.toFixed(2) + "" +
"• Equivalent APR: " + (moneyFactor * 2400).toFixed(2) + "%";
resultDiv.scrollIntoView({ behavior: 'smooth' });
}