Inspectable Arithmetic for the Rent vs. Buy Calculator

Version 1.0
Last verified: September 2026

Transparent arithmetic is the operating system of this calculator.

This document publishes the formulae, computational structure, and assumptions used on the calculator page.

No opinions. No hidden assumptions. Just arithmetic.

← Back to the Rent vs. Buy Calculator

Purpose

Compare renting versus buying a primary residence when both strategies begin with the same available starting financial resources and the same ongoing financial capacity, allocated differently. The model reports monthly cash requirements and projected net worth for up to 60 years, detects crossover points, and does not recommend renting or buying.

Core modelling principle

  1. Both scenarios start with the same available financial resources.
  2. Upfront capital required to buy but not required to rent remains available to the renter.
  3. Closing costs consume buyer capital.
  4. Each month, whichever strategy has lower total cash requirements may invest the difference when that option is enabled.
  5. Mortgage principal increases homeowner equity.
  6. The entire mortgage payment is used for cash-flow comparison, but principal is not treated as consumed economic cost.
  7. Mortgage payments stop when the loan is repaid.
  8. After mortgage payoff, lower homeowner cash requirements can result in homeowner investment contributions.
  9. Homeowner realizable equity deducts mortgage debt and estimated selling costs.
  10. Repairs, maintenance and property upkeep are entered as a dollar amount.
  11. The optional 1%-of-starting-home-value maintenance helper only determines the starting dollar amount.
  12. Maintenance thereafter grows with general inflation, not home appreciation.
  13. Rent growth is independently specified.
  14. Home appreciation may be independently nominal or linked to inflation using a real-appreciation assumption.
  15. Investment returns are assumed constant for modelling purposes.
  16. Home appreciation is assumed constant for modelling purposes.
  17. Recurring expenses generally escalate according to the assumptions specified, using equivalent monthly growth from annual rates (not discrete once-a-year jumps).
  18. Real-dollar results are nominal results discounted by general inflation.
  19. The 60-year calculation is a mathematical projection, not a prediction.
  20. Lifestyle, flexibility, personal preferences, housing stability, geographic risk and other nonfinancial factors are outside the calculator.

Shared engines

Assumed mortgage interest rate

V1 applies the user-entered assumed mortgage interest rate throughout the modelled mortgage period. Future mortgage renewal rates are not modelled separately. The calculator does not forecast term renewals or rate paths.

Starting capital

BuyerDeployed = DownPayment + ClosingCosts + UpfrontInsuranceCash
BuyerRemaining = StartingCapital − BuyerDeployed
RenterStart = StartingCapital − RenterUpfront (V1: RenterUpfront = 0)

Financed mortgage insurance is added to the mortgage principal and is not counted again as upfront cash. Provincial sales tax on Canadian premiums (where applicable) is cash-only and cannot be financed, per CMHC.

Mortgage

Monthly payment and amortization use the shared MortgageEngine (same Canadian semi-annual conversion as the Mortgage Calculator). Balance is advanced monthly; the final payment is truncated so the balance reaches exactly zero. After payoff, mortgage payment = 0 for all later months.

Canadian mortgage insurance (automatic mode)

Automatic Canadian mode applies current CMHC homeowner eligibility as well as the published premium schedule — it does not merely multiply LTV by a rate table.

Sources: CMHC premium information, CMHC Purchase, CMHC Home Start.

Quebec’s tax on insurance premiums is maintained as a dated schedule: 9% through premiums paid on or before 2026-12-31, and 9.975% for premiums paid after that date (Revenu Québec).

Custom mode allows upfront, financed, and recurring insurance amounts for non-Canadian structures (e.g. PMI). Automatic U.S. PMI/FHA/USDA logic is not included. Explicit None disables Canadian insurance entirely.

Monthly cash requirements

Owner cash in month m includes: mortgage payment (if any), property tax, repairs/maintenance/upkeep, home insurance, condo/HOA/strata, owner utilities, other ownership expenses, and any recurring custom mortgage insurance.

Renter cash includes: rent, tenant insurance, renter utilities, and other renter expenses.

Dm = OwnerCashm − RenterCashm

If investing cash-flow savings is on: when Dm > 0 the renter invests Dm; when Dm < 0 the buyer invests |Dm|.

Annual costs → monthly cash (long-run budget convention)

Annual inputs (property tax; repairs, maintenance & property upkeep; homeowner insurance; tenant insurance; annual custom expenses) are long-run budget assumptions. Each month uses one-twelfth of the escalated annual amount:

MonthlySlicem = Escalate(AnnualAmount, growth, m) / 12

The model does not dump an entire year’s maintenance or insurance into a single month. Escalation follows the equivalent monthly growth convention below — not a once-per-year step increase.

The optional “1% of starting home value” helper only sets the initial annual maintenance dollar amount. Thereafter maintenance grows with general inflation only and is not re-tied to future home market value.

Investment accounts

Each strategy has its own investment account. Timing is end-of-month: opening balance grows by μ, then that month’s contribution (if any) is added — matching InvestmentGrowthEngine end-of-period contribution timing.

Home value and equity

Hm = H0 · (1 + gmonth)m
GrossEquitym = Hm − MortgageBalancem
SellingCostsm = Hm · s% + sfixed
NetRealizableEquitym = Hm − MortgageBalancem − SellingCostsm

Primary net worth uses net realizable equity at every month, not only at year 60.

Home appreciation modes

Independent nominal: user enters annual nominal appreciation g.

Linked to inflation:

gnominal = (1 + π) · (1 + greal) − 1

Example: π = 2%, greal = 1% → gnominal = 3.02%, not 3.00%.

Net worth

BuyerNWm = NetRealizableEquitym + BuyerInvestmentsm
RenterNWm = RenterInvestmentsm
Diffm = BuyerNWm − RenterNWm

Real (today’s) dollars

Real(m) = Nominal(m) / (1 + π)m/12

The same factor is applied to both strategies at a given month, so converting both series to real dollars does not change crossover months.

Crossover detection

A crossover occurs when the sign of Diffm changes between consecutive months (near-zero treated as equality). Multiple crossovers are reported; the model does not force a single break-even.

Expense escalation

Annual growth → equivalent monthly growth

Annual growth assumptions (rent growth, general inflation on recurring expenses, property-tax growth, utility growth, and similar) are converted to an equivalent smooth monthly path for the monthly projection. The model does not wait exactly 12 months and then apply a discrete annual jump.

level(m) = startingLevel · (1 + annualGrowth)m/12

After 12 months, level(12) = startingLevel · (1 + annualGrowth), matching the stated annual rate. Between anniversary months the level moves continuously on that geometric path. For annual dollar costs, the escalated annual amount is then divided by 12 for each month’s cash slice.

Break-even solvers (V1)

At the user-selected comparison year, the calculator searches for rates where projected buyer and renter net worth are approximately equal (within $1).

Home appreciation uses bracketed bisection over −20% to +30% per year. Existing QA found buyer-minus-renter net worth monotonic in appreciation over the tested range.

Investment return is searched from −50% to +40% annual nominal. Buyer-minus-renter projected net worth can be non-monotonic in investment return (different contribution amounts and timing), so the calculator does not rely only on the endpoints. It scans the interval in 0.10 percentage-point steps for sign changes (and limited near-tangent candidates), then numerically refines each candidate with the full monthly simulation. Zero, one, or more break-even returns may exist inside the interval.

The break-even investment return is an assumed return at which the two strategies produce approximately equal projected net worth at the selected year. Which strategy benefits more from a higher return depends on how much money each strategy has invested and when those contributions occur.

Investment earnings

Investment earnings are the portion of the investment account not explained by starting invested capital or cash contributions. They may be positive or negative depending on the assumed investment return.

InvestmentEarnings = InvestmentAccount − StartingInvestedCapital − CumulativeCashContributions

Renter upfront costs

Optional one-time, non-refundable renter costs reduce the renter’s starting investable capital. Refundable deposits or prepaid rent that remains an asset should not be entered here.

RenterStartingInvestable = StartingCapital − RenterUpfrontCosts

Explicitly excluded from V1

Rent-growth guidance sources

These sources help users choose a rent-growth assumption. They are not forecasts embedded as defaults.

Related tools