Frugal Calculators

Methodology

What the model actually computes, in the order it computes it. This is the full description of the mechanism — enough to reimplement it, disagree with it, or find a mistake in it.

The one rule

A dollar you do not hand to a dealer stays invested. So a dollar paid in month t does not cost you a dollar; it costs you the dollar and the growth it never earned between then and the end of the horizon.

cost of a dollar paid at month t = 1 × (1 + r)N − t r = monthly market return N = horizon in months

Everything follows from this. It is why paying cash is penalised, why a low-rate loan is rewarded for leaving your capital invested, and why the timing of a payment matters as much as its size. Maintenance, insurance, registration and fees are outflows too, so they lose their market growth on exactly the same footing as the payment itself.

Income is identical under every option, so it cancels and is never modelled.

What is scored

net cost = Σt outflowt × (1 + r)N − t − what the car is worth at the horizon + anything still owed at the horizon

Lower wins. The three terms are the whole comparison: what you paid and when, what you have left, and what you are still on the hook for. An option that ends with no car is not being punished for that — it simply has nothing to subtract.

On the shipped scenario, over 8 years: cash comes to $101,727 and the loan to $101,913. A $186 gap on a six-figure decision is a tie, and the page says so rather than declaring a winner.

Three different rate conventions

The model carries three rates and they do not mean the same thing. Confusing them is the most common way a car comparison goes wrong.

  • The market return is geometric. 7% a year means 7% a year after compounding, so the monthly rate is the twelfth root, not a twelfth: r = (1 + 0.07)1/12 − 1 = 0.565%. Dividing by twelve would quietly pay you 7.23%.
  • The loan APR is nominal. US auto loans quote a nominal annual rate compounded monthly, so the monthly rate really is APR / 12. 6.9% becomes 0.575% a month, and the effective annual rate is a little over 7.1%.
  • The lease uses a money factor. Not a rate at all — a multiplier applied to a sum, described below. Multiply it by 2400 for a comparable APR: the shipped 0.00225 is about 5.4%.

Using one convention for all three is worth hundreds of dollars in a close comparison, which is the only kind worth running.

The depreciation curve

Depreciation is the largest number in car ownership, and it is a curve, not a line. The model uses a steep first year and a gentler decline after:

factor(age) = (1 − d₁)min(age, 1) × (1 − d₂)max(age − 1, 0) d₁ = first-year drop (20% shipped) d₂ = annual drop after (13% shipped)

Two adjustments sit on top. Miles above the baseline reduce the value by a fixed amount per mile. And the result is floored at a share of the new price — 8% shipped — because a running car is never worth nothing, and an unfloored exponential would eventually say it was.

Where you get on this curve is the single largest lever in the model. It is larger than the APR and larger than the lease rate, which is why buying used changes the answer more than shopping for finance does.

The default curve is illustrative — replace it

That same fact is the biggest caveat on this page. A 20%/13% curve is a reasonable average across the market and a poor description of almost any particular car. A Tacoma, a Porsche, a Model 3 and a 7-Series have wildly different residual curves, and the spread between them is wider than every other input in this model put together. Running the generic curve tells you how an average car behaves, which is rarely the question you are asking.

So for a real decision, do not tune the two percentages — price the actual car. Look up what your exact model, year and mileage is worth at three, five and eight years in any pricing guide, and enter those figures as resale anchors. Any one of them is enough; all three is better.

between anchors: value(age) = vᵢ × (vᵢ₊₁ / vᵢ)^((age − aᵢ) / (aᵢ₊₁ − aᵢ)) past the last anchor: continue at d₂

The interpolation is geometric, not linear, which matters more than it sounds. Depreciation compounds, so a car worth $31,000 at three years and $25,000 at five is worth √(31,000 × 25,000) = $27,839 at four — not the $28,000 a straight line would give. Linear interpolation overstates the car in the middle of every span, and the error grows with the width of the span.

Two consequences worth knowing. Anchors pin the curve: the shipped percentages are then used only past your last anchor. And the mileage penalty is switched off while anchors are in use, because a resale figure you looked up already reflects the mileage you expect — charging it again would count the same miles twice. The calculator says which mode it is in with every result.

What the car is worth to you

Two subtleties, both deliberate.

The curve runs from the car's age, not from your purchase date. Buy a three-year-old car and year four of depreciation is what you get, not year one. That is the entire financial case for buying used: somebody else has already paid the steep part.

What you paid does not enter the resale value. The car is worth what a car of that age is worth. Negotiate well and the bargain stays a bargain rather than being depreciated away; overpay and the model does not politely forget.

What you can actually realise is net of the cost of selling:

asset at horizon = value(age) × (1 − selling cost)

On the shipped scenario the car is worth $12,978 at the 8-year horizon, and $12,588 after the 3% cost of selling it.

The five options

  • Cash. Price, tax and fees, all at delivery.
  • Loan. Down payment at delivery, then a level payment for the term. Tax and fees are either financed or paid at signing, your choice.
  • Lease, return, re-lease. A new contract every term for the whole horizon, with the replacement car's price growing at inflation.
  • Lease, then buy out for cash.
  • Lease, then finance the buyout.

Cash and loan are the same code path. Set the down payment to the full price and the loan collapses to the cash purchase exactly — not approximately — because the financed amount becomes zero and the whole sum lands in month 0.

Note that a 0% loan is not the cash case: it is strictly better, because the money stays invested while you pay it off. The engine's own tests assert both of these.

The two buyout options need a full lease term to exist. On a horizon shorter than one term the model returns three options rather than inventing a buyout that could not happen.

Lease arithmetic

A lease is rent for the depreciation, plus interest on the money the bank has tied up:

residual = MSRP × residual% adjusted cap = negotiated price + acquisition fee − cash down depreciation fee = (adjusted cap − residual) / term rent charge = (adjusted cap + residual) × money factor payment = depreciation fee + rent charge (+ tax)

The residual is a percentage of MSRP, not of what you negotiated. This is the detail that makes leases behave differently from purchases: a discount off sticker lowers the cap cost but leaves the residual untouched, so every dollar you negotiate comes straight off the depreciation you are renting. A discount helps a lease more than it helps a purchase.

The rent charge is levied on the cap cost plus the residual, not on the balance outstanding — the bank owns the whole car throughout, not just the part you are using.

Due at signing is the cash down, the first month's payment, the acquisition fee if it is not capitalised, and the usual paperwork. On the shipped scenario that is $4,511 against a $611 monthly payment.

Why a lease is carried as a liability

A lease cannot be cancelled. Signing one commits you to every payment in the term on day one. So at any month in between, the model carries the rest of the contract as a debt you already owe, at present value:

liability(m) = Σk > m payment / (1 + r)k − m + (disposition fee + mileage bill) / (1 + r)end − m

This is why the lease lines on the chart start high and step up again at each new signing, and it is the honest way to compare a commitment against a purchase you could unwind tomorrow.

It also means the months in between are not fair comparison points. The dots on the chart mark the end of a lease term — the only moments where you could stop with nothing further owed. Compare at the dots, or use a horizon that is a whole number of terms. The model says so in its warnings when your horizon is not.

Running costs

Maintenance compounds on the car's age, not the calendar. Re-leasing keeps resetting the car to nearly new, which is where a lease earns back part of its cost, and it is what an old car gives up:

annual = year-1 cost × (1 + growth)max(age − 1, 0)

Under factory warranty the figure is scaled down rather than zeroed, because a warranty covers failures, not tyres and servicing. The curve is also capped at a fraction of what the car is currently worth: left alone an exponential eventually spends five figures a year maintaining a four-figure asset, which is a state no owner would stay in. The cap binds only well past the ages the growth rate is calibrated for, so it changes nothing in ordinary horizons and keeps the far end finite instead of absurd.

Insurance is charged at the leased rate while leased and the owned rate while owned — leases mandate full coverage and low deductibles, so the two genuinely differ. Registration is flat. All three grow with inflation.

Reading the chart

The line is not cumulative spending. At every month it shows what the option has cost you so far, on the same basis as the final answer:

cost to date(m) = future value of everything paid up to m − what the car is worth at m + what you are still committed to at m

The value at the final month is exactly the net cost in the table above it, so the chart and the verdict are the same number — one measured continuously, one at the end.

Equivalent monthly

Net cost is a future value, which is hard to feel. The equivalent monthly figure is the level payment that would accumulate to the same future value over the same horizon:

equivalent monthly = net cost ÷ [ ((1 + r)N − 1) / r ]

It is a way to read the answer, not a bill anybody sends you. On the shipped scenario the winning option is $801 a month equivalent — well above its $779 loan payment, because the loan payment is not the cost of the car.

The break-even return

The market return is the assumption the whole comparison turns on, and nobody knows it. So rather than asking you to trust one number, the model solves for the one that would change your mind: the return at which the top two options swap places, found by bisection between −2% and 30%.

On the shipped scenario that is 7.1% — against a 6.9% loan APR. That closeness is the intuition check: borrowing at 6.9% to stay invested is worth it precisely when you beat roughly 6.9% in the market. If the break-even sits far from your honest expectation, the answer is robust. If it sits on top of it, the honest answer is that it is too close to call.

0% financing is not free money

The opportunity-cost arithmetic says a 0% loan beats paying cash, and that is correct: every dollar you have not handed over stays invested. On the shipped numbers it is worth about eleven thousand dollars.

It is also the most common way to be wrong about a car deal, because manufacturers offer subsidised financing instead of a rebate, not alongside one. “0% APR or $4,000 cash back” is the usual shape. Comparing a 0% loan against a cash purchase at the same price therefore compares a deal you can have against one you cannot, and financing wins by construction.

So whenever the APR is at or near zero, the calculator says what the financing is worth and names the rebate at which the two are a wash: take less than that and the loan wins, take more and cash does. If the dealer is offering both, compare against the rebate rather than against the cash row.

Effective annual investment tax drag

Money not spent on a car is assumed to be invested, and in a taxable account some of that return goes to tax. The tax-drag input is a simplified way to approximate that, and the name is deliberately awkward because the simplification matters.

after-tax return = annual_return × (1 − tax_drag)

It is not a model of capital-gains or dividend taxation. It has no notion of when a gain is realised, what the cost basis is, or which rate applies. A real taxable account defers tax on unrealised gains for the whole holding period and settles once at sale, which is cheaper than surrendering a share of the return every year — so this overstates the cost of tax on a buy-and-hold position and is about right for dividend and distribution drag, which really is annual.

Use 0 for a 401(k) or IRA. Roughly 5–15% is reasonable for a broad index fund held in a taxable account. All three calculators on this site use the same input with the same arithmetic, so they do not disagree about what a dollar of investment return is worth.

Switching the tax model on replaces this entirely. tax_drag is then ignored — the two are alternative answers to the same question, and charging both would tax the portfolio twice. What runs instead is a real model: tax on dividends as they are paid, split between the qualified and ordinary rates; tax on the gains the fund realises through its own turnover; and then a single settlement on the deferred gain when the portfolio is sold, measured against a basis tracked as contributions. If you say the money is never withdrawn, that last charge never lands.

Income tax on the car itself

Sales tax has always been modelled here, and it is the tax that actually decides this comparison: a purchase is taxed on the whole price at delivery, a lease on each monthly payment in most states. Nothing below changes that.

The income-tax model is off by default. Switched on it adds three things.

Personal property tax

Roughly a third of states charge an annual ad valorem tax on a vehicle’s current value — Virginia, Missouri, Connecticut, Rhode Island, South Carolina and others, commonly 1–4%. Because it is charged on value, it falls as the car depreciates, which means it costs most on whichever option is holding the newest metal. Over a long horizon that is the lease chain, which never lets a car get cheap. That is a real cost difference between leasing and owning, and it is invisible in any comparison of monthly payments.

Business use

An owned car and a leased one are deducted by different methods, and that is the law rather than a modelling choice. An owned car uses the standard mileage rate, which pays per business mile whatever the car cost. A leased one deducts the business share of the actual lease payments, which pays more on an expensive car and nothing extra on a cheap one you drive hard. So the same business-use percentage is worth different amounts on the two sides.

Unlike the mortgage interest deduction on the rent-vs-buy page, this is a business expense rather than an itemised one, so there is no standard deduction to clear first and it is worth its full marginal rate.

Enter the share of miles driven for business excluding your commute. Driving to your regular workplace is not business use however far it is, and it is the most common way this deduction gets claimed wrongly. The model cannot check it.

The sales tax election

You may deduct state sales tax instead of state income tax — one or the other, never both — and a car is the one purchase large enough to make the choice worth checking. Three things have to line up: the sales tax has to beat the income tax it displaces, you have to itemise at all, and the SALT cap must not already be full. The usual answer is zero, and in a state with no income tax it is not.

Every rule and figure this model uses

Published rather than summarised. A reviewer went through this methodology and listed ten federal rules they could not confirm were implemented; nine were, one was not and has since been added. The only honest answer to that is to show the parameters instead of asserting they are right, so here they are — read from the same table the calculation uses, so what is printed here cannot drift from what was charged. Check them against the revenue procedure yourself.

Every figure in the 2026 table

SingleMarried filing jointlyMarried filing separatelyHead of household
Standard deduction$16,100$32,200$16,100$24,150
Additional, per age/blindness box

Section 63(f), per qualifying condition and per spouse.

$2,050$1,650$1,650$2,050
Top of the 0% capital-gains band$49,450$98,900$49,450$66,200
Top of the 15% capital-gains band$545,500$613,700$306,850$579,600
Net investment income tax threshold

3.8% on the lesser of net investment income and MAGI above this. Not indexed.

$200,000$250,000$125,000$200,000
SALT cap

Phased down at 30% of MAGI above the threshold below, never past the floor.

$40,400$40,400$20,200$40,400
SALT phase-down begins$505,000$505,000$252,500$505,000
SALT floor$10,000$10,000$5,000$10,000
Mortgage acquisition-debt cap

Interest above this is prorated by the share of the debt under the cap, not disallowed.

$750,000$750,000$375,000$750,000
Mortgage insurance premiums, phase-out start

Deductible again from 2026. Lost in 10% steps per $1,000 of AGI over this, gone $10,000 later.

$100,000$100,000$50,000$100,000
Principal-residence exclusion (section 121)

Owned and lived in for two of the last five years. Not indexed since 1997.

$250,000$500,000$250,000$250,000

Ordinary income rate bands

Single10% to $12,400, 12% to $50,400, 22% to $105,700, 24% to $201,775, 32% to $256,225, 35% to $640,600, 37% above
Married filing jointly10% to $24,800, 12% to $100,800, 22% to $211,400, 24% to $403,550, 32% to $512,450, 35% to $768,700, 37% above
Married filing separately10% to $12,400, 12% to $50,400, 22% to $105,700, 24% to $201,775, 32% to $256,225, 35% to $384,350, 37% above
Head of household10% to $17,700, 12% to $67,450, 22% to $105,700, 24% to $201,750, 32% to $256,200, 35% to $640,600, 37% above

Not filing-status dependent

Residential recovery period27.5 years, straight line, building only
Depreciation recapture ceiling25% on unrecaptured section 1250 gain
Passive loss allowance$25,000, phasing out between $100,000 and $150,000 of MAGI at 50% per dollar
Section 199A deduction20% of qualifying rental income, when the rental is a trade or business

Not modelled: section 179 and bonus depreciation with their luxury-auto caps, the lease inclusion amount that claws back part of the deduction on an expensive leased car, recapture on a business vehicle sold above its depreciated basis, and EV credits, which change often enough that a hardcoded figure would be wrong within a year.

What would have to be true?

The calculator answers “given these assumptions, what happens?”. The solver answers the question underneath it: how wrong would you have to be before this flips? A verdict of a few hundred thousand dollars tells you nothing about whether it survives a three-point miss on one input. A threshold does.

Each row takes one input, holds every other one exactly as you entered it, and finds the value where the verdict changes. Rows are sorted closest-first, so the top one is the assumption your answer is least safe from.

It is deliberately one input at a time. Several small misses together can flip an answer that no single one of them would, and nothing here accounts for that — there is no two-input version on this page.

Where an input has no threshold, that is reported too, and it is often the more useful result: it means that input cannot change your mind across its whole plausible range, so it is not worth arguing about.

The search is a bisection rather than anything cleverer, because the objective is not smooth — value-linked costs have kinks, loans pay off, PMI switches off — and bisection needs only a sign change, which is exactly what is being looked for. Inputs that live on a grid are snapped to it at every step: a holding period exists only on whole months, so the answer is the first month you could actually enter where the verdict really is different.

What actually determines the answer

The tipping points say how far you are from the boundary. A separate question is which inputs carry the most weight at all — the one you should go and research before deciding.

These are not the same, and they genuinely disagree. An input can move the answer by six figures and still never flip it, because your estimate is nowhere near the boundary. Another can be nearly decisive despite a modest effect, because the answer is balanced on it.

Ranking raw sensitivity would be meaningless: one unit of a mortgage rate is a hundred percentage points and one unit of a price is a dollar. So each input is nudged by a plausible amount of error instead — a percentage point on a rate, 5% on a price, a year on a horizon — and the question becomes: if each of these were off by about as much as you could reasonably be off, which moves the answer most?

The nudge sizes are a judgement, they are printed with the result, and changing them can change the order. The measurement is a centred difference, taken in both directions and halved, so a kink in the model — a loan paying off, PMI switching off — is not mistaken for sensitivity.

What to research first

The impact ranking says which input carries the most weight; the tipping points say where each one flips. Read separately they are two tables. Joined, they are an instruction:

Your decision is most sensitive to rent growth. If it turns out to be above 3.98%, the answer changes — 0.98 percentage points away. Go and find that number before you decide anything else.

That is a more useful thing for a calculator to produce than an answer, because it names the uncertainty you actually need to resolve rather than papering over it with a figure to two decimal places.

Distances for rates are quoted in percentage points, not as a relative share. A return moving from 8.5% to 6.5% is "23% lower", which is true and unusable: nobody holds a view about their return being 23% lower. They hold one about two points. Money and time keep the relative figure, where it reads naturally.

Sharing a scenario, and whose assumptions it is

Everything you change is carried in the page’s address, so a result can be bookmarked or sent to somebody and it will open exactly as you left it. Only inputs that differ from the shipped defaults are encoded, which keeps the link short and means the parts you never touched continue to track the model rather than being frozen at whatever the defaults were the day you sent it.

Each calculator here asks for far more inputs than anybody changes, so every result also says how many are still ours. A verdict computed from three edited fields and twenty-seven of our defaults is a statement about our assumptions wearing your name, and the page says so rather than letting the number imply otherwise.

What the model checks

Rather than quietly producing a number for a scenario that does not make sense, the model reports the conditions that would mislead you:

  • A horizon that is not a whole number of lease terms, so the comparison lands mid-contract.
  • A negotiated price above MSRP, which inverts the lease arithmetic.
  • A residual far from the car's projected market value on the same day — the thing that decides whether a buyout is a bargain or a mistake.
  • A down payment exceeding the price, collapsing the loan to a cash purchase.
  • Buying used, which makes the comparison lease-new-against-buy-used rather than like-for-like.
  • A maintenance ceiling that is actually binding within your horizon.

What is not modelled

Fuel and tyres. These are left out because the model assumes one car driven the same distance under every option, and on that assumption they are identical and cancel. That assumption is the weakest where it matters most. Set the purchase age above zero and you are comparing a new lease against an older car, which may well differ in economy, drivetrain or powertrain — and tyres stop cancelling entirely, because a lease handed back every three years can go its whole life on one set while a car owned for nine years will not. Neither is a rounding error. If you are comparing new against used, price fuel and tyres separately and add the difference to the result yourself; this model will not do it for you.

Also not modelled: mid-lease exits and lease transfers. Gap insurance premiums. EV and clean-vehicle credits. Section 179, bonus depreciation and the lease inclusion amount — see the tax sections above for what is modelled and what it leaves out. Wear-and-tear charges at lease return, which are a negotiation rather than an arithmetic.

And the things that carry no dollar figure at all: whether you want a new car every three years, whether you will keep this one for fifteen, and what your money is actually for. Those decide more of this than the APR does.