Learn
Trackers
Sign in
← Learn

10 min read · Updated May 2026 · Models guide

How the Home Model works

Every input, every formula, and every number on the chart.

Introduction

The Home Model answers one question: when can you afford to buy?

It pulls together three things people usually track separately. Your savings trajectory, your debt paydown timeline, and the equity in your current home. Output is a date plus a chart that shows how the math got there.

The model doesn't take a position on whether you should buy. It just runs the numbers.

The inputs

Four sections, in the order they show up in the tool.

Right now

Three fields about your savings today.

  • Current savings balance. What you've got set aside for a down payment right now. Starting point of the simulation.
  • Monthly savings contribution. What you're putting away each month while you're still paying down debt. This is the rate before any debt cash flow gets freed up.
  • Annual return on savings. The rate your savings earn just sitting there (HYSA, brokerage, whatever). The model converts it to a monthly rate and compounds it every step.

Debt paydown

Two fields. The bridge from where you are now to debt-free.

  • Months until debt-free. How many months from today until all your current debt is paid off. Pull this from the Debt Paydown model or just estimate.
  • Monthly cash flow unlocked. The total monthly payment that frees up when those debts clear. After the debt-free month, your savings contribution bumps up to this amount.

The model does not simulate the debt paydown itself. It treats the debt period as a fixed runway with a fixed contribution, then steps the contribution up once that runway ends.

Your current home

Three fields plus a calculated readout.

  • Estimated sale price. What you'd realistically sell for today.
  • Remaining mortgage balance. Principal still owed.
  • Selling costs. Agent fees plus closing costs as a percentage of sale price. Default is 6%, which is typical for full-service agent commissions. This is a percentage of sale price, not equity, because that's how agent commissions and most title fees actually scale.

The model figures out net equity from these three. Equity doesn't earn returns inside the simulation. It's treated as a single cash event at closing, applied once you hit the goal.

Target home

Four fields plus a calculated readout.

  • Target home price. Sticker price of the home you'd buy at today's market.
  • Down payment. The percentage you're putting down (20% by default).
  • Closing costs. Buyer's closing costs as a percentage of purchase price (2% default). Usually includes loan origination fees, title insurance, escrow, recording fees, and prepaid taxes/insurance held at closing.
  • Annual home price appreciation. Expected yearly growth of home prices. Used only to project a moving goal post. Set it to 0 and the appreciation line disappears from the chart.

The math: savings growth

The simulation walks forward one month at a time. Each step, the balance compounds and a contribution gets added.

Monthly rate is annual return divided by 12.

monthlyRate = annualReturn / 12

While you're still paying off debt, for every month m where m ≤ debtFreeMonth:

balance = balance × (1 + monthlyRate) + currentMonthlySavings

Once you cross the debt-free month, every month m where m > debtFreeMonth:

balance = balance × (1 + monthlyRate) + monthlyContributionAfterDebt

That's it. Two phases, same formula, different contribution amount. The phase change at debtFreeMonth is the kink you see in the savings curve. The slope gets steeper because monthly cash flow jumps from currentMonthlySavings to monthlyContributionAfterDebt.

Simulation runs until the balance crosses the savings threshold or until 600 months go by (50 years), whichever comes first.

The math: home equity

Net equity from selling your current home.

netEquity = max(0, currentHomeValue − remainingMortgage − currentHomeValue × sellingCostPercent)

Three things happen in there.

  1. Subtract what you still owe on the mortgage from what you'd sell for.
  2. Subtract agent fees and closing costs as a percentage of the sale price (not the equity).
  3. Floor at zero, because negative equity isn't useful capital. If you owe more than you'd net, your contribution at closing is just zero.

Selling costs scale with sale price because that's how agent commissions and most transactional fees actually work. A 6% commission on a $500,000 sale is $30,000 no matter how much mortgage is left.

The math: down payment goal

Total cash you need at the closing table for the new home.

totalCashNeeded = targetHomePrice × downPaymentPercent + targetHomePrice × closingCostPercent

Down payment plus buyer's closing costs. Closing costs here means buyer-side fees only. Loan origination, title insurance, escrow, recording, and prepaid stuff like the first year of homeowner's insurance and a few months of property tax held in escrow. Doesn't include moving costs or post-purchase reserves. Those are separate.

The savings threshold

The model assumes equity from your current home shows up as a single cash event at closing. So your savings only need to cover the gap between total cash needed and net equity.

savingsThreshold = max(0, totalCashNeeded − netEquity)

The simulation watches the savings balance, not balance + equity. The goal hits on the first month where:

balance ≥ savingsThreshold

That's why the chart shows two teal lines. One for cash savings (the line the simulation actually checks) and one for savings + equity (what you'd actually have at closing). The dot lands where the savings line crosses the threshold.

The chart: what every line means

Chart plots months on the x-axis (years labeled Yr 1, Yr 2, etc.) and dollars on the y-axis. Each line is a different number from the simulation.

Savings (solid teal)

balance. Your cash savings balance, month by month. This is the line the goal condition checks against. Strict result of the compounding formula above, with the kink at the debt-free month where monthly contribution steps up.

Savings + equity (dashed teal)

withEquity = balance + netEquity. Same savings line, shifted up by your fixed home equity. Equity is treated as a constant add at every month, not something that grows, because the model treats the home sale as a single event, not a compounding investment.

This line shows your total capital position if you sold the current home today. The savings line is the strict simulation. This line is the realistic picture at closing.

Goal today (horizontal reference)

A horizontal dashed line at totalCashNeeded. The cash required to buy the target home at today's price. Where the savings + equity line crosses this is when you'd be able to close at today's prices.

Appreciated goal (dashed orange)

The moving target. Plots the cash required if home prices keep rising.

appreciatedGoal(m) = targetHomePrice × (1 + monthlyAppreciation)^m × (downPaymentPercent + closingCostPercent)

monthlyAppreciation = annualAppreciation / 12. This line slopes up because the down payment and closing costs are both percentages of price. As the home appreciates, your required cash grows with it.

The orange dot marks the first month your savings + equity catches up to the appreciated goal. If the dot is way to the right of the savings goal dot, appreciation is moving the target faster than you're moving toward it. If the dot is missing, the model couldn't find a crossing within its window.

Debt-free vertical marker

A vertical dashed line at debtFreeMonth, labeled "Debt-free". This is the month your monthly contribution steps up from currentMonthlySavings to monthlyContributionAfterDebt. You'll see the savings curve change slope right here.

The goal dot (teal)

A solid teal dot on the savings + equity line at the buy month. Its y-coordinate is totalSavedAtGoal + netEquity. Your savings at the goal month plus equity. Read horizontally back to the y-axis for total capital at closing. Read vertically down to the x-axis for when.

The stat cards

Below the buy date, the model shows seven stat cards. Each one comes straight from the simulation result.

Total saved at goal

totalSavedAtGoal. The savings balance on the month the goal condition first hits. This is what your accounts hold at closing, before the equity transfer.

Equity from home sale

equityContribution. Same as netEquity from the equity formula above. Doesn't change over time in the model.

Interest earned on savings

phase1Months = min(debtFreeMonth, goalMonth)
phase2Months = max(0, goalMonth − debtFreeMonth)
totalCashContributions = currentMonthlySavings × phase1Months + monthlyContributionAfterDebt × phase2Months
interestEarnedAtGoal = totalSavedAtGoal − currentSavingsBalance − totalCashContributions

The portion of totalSavedAtGoal that came from compound growth, not contributions. Set the annual return to zero and this card reads $0. Every dollar you have is a dollar you put in.

Extra per month to buy 1 year sooner

How much more you'd need to contribute in the post-debt phase to pull the buy date in by 12 months. The model finds this iteratively.

  1. Set targetMonth = goalMonth − 12.
  2. Binary search the post-debt monthly contribution over the range [0, 1,000,000].
  3. For each candidate contribution, run the simulation with a hard stop at targetMonth and check if the balance reaches savingsThreshold by then.
  4. Repeat for 60 iterations to converge on the minimum contribution that lets the goal hit at targetMonth.

The card shows the difference: solverResult − monthlyContributionAfterDebt, floored at zero.

If the goal is already at or before the debt-free month, the card is empty. There's no post-debt window to accelerate.

Home price at buy date

appreciatedHomePrice = targetHomePrice × (1 + monthlyAppreciation)^goalMonth

What the target home is projected to cost on the month you'd buy, given the appreciation rate.

Revised cash needed

appreciatedCashNeeded = appreciatedHomePrice × (downPaymentPercent + closingCostPercent)

Total cash required at closing if home prices follow the appreciation rate. Compare this to totalCashNeeded (the today price) to see how much further the target moved.

Extra needed vs today's price

appreciationGap = max(0, appreciatedCashNeeded − totalCashNeeded)

Dollar gap between the today goal and the appreciated goal at your buy month. The additional capital you'd need if the appreciation assumption holds. If the gap is zero, your trajectory effectively covers the appreciation, and the card label changes to "Your trajectory covers appreciation."

These three appreciation cards only show up when annualAppreciationPct > 0.

What the model doesn't account for

  • Sequence-of-returns risk on savings. The annual return is a deterministic rate compounded monthly. Real returns are volatile. A 4.5% average can mean −15% one year and +25% the next. The model gives you the smooth-line answer.
  • Sequence-of-returns risk on home prices. Appreciation is also a smooth deterministic rate. Housing markets can fall, plateau, or spike well above the long-run average for years.
  • Tax implications. Capital gains exclusions on a primary residence sale, mortgage interest deduction, property tax deduction, and state-level taxes are all outside the model.
  • Mortgage qualification. The model says nothing about whether you'd actually qualify for a mortgage on the target home. That depends on debt-to-income ratios, credit, and lender-specific underwriting that aren't part of the math here.
  • Inflation. All dollar figures are nominal, not adjusted for inflation. Wages, contribution amounts, and the today goal don't rise with CPI in the simulation. Home appreciation is the only growth term.
  • Interest on the existing mortgage during the simulation. Remaining mortgage balance is a fixed number until you sell. It doesn't pay down month-by-month inside the model.
  • Reserves and moving costs. totalCashNeeded is closing-table cash. Moving expenses, post-purchase reserves, and any cosmetic work on the new home are separate.