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
- Both scenarios start with the same available financial resources.
- Upfront capital required to buy but not required to rent remains available to the renter.
- Closing costs consume buyer capital.
- Each month, whichever strategy has lower total cash requirements may invest the difference when that option is enabled.
- Mortgage principal increases homeowner equity.
- The entire mortgage payment is used for cash-flow comparison, but principal is not treated as consumed economic cost.
- Mortgage payments stop when the loan is repaid.
- After mortgage payoff, lower homeowner cash requirements can result in homeowner investment contributions.
- Homeowner realizable equity deducts mortgage debt and estimated selling costs.
- Repairs, maintenance and property upkeep are entered as a dollar amount.
- The optional 1%-of-starting-home-value maintenance helper only determines the starting dollar amount.
- Maintenance thereafter grows with general inflation, not home appreciation.
- Rent growth is independently specified.
- Home appreciation may be independently nominal or linked to inflation using a real-appreciation assumption.
- Investment returns are assumed constant for modelling purposes.
- Home appreciation is assumed constant for modelling purposes.
- Recurring expenses generally escalate according to the assumptions specified, using equivalent monthly growth from annual rates (not discrete once-a-year jumps).
- Real-dollar results are nominal results discounted by general inflation.
- The 60-year calculation is a mathematical projection, not a prediction.
- Lifestyle, flexibility, personal preferences, housing stability, geographic risk and other nonfinancial factors are outside the calculator.
Shared engines
- MortgageEngine — Canadian mortgage payment and monthly rate:
i = (1 + r/2)1/6 − 1 for monthly periods.
- InvestmentGrowthEngine — monthly geometric return
μ = (1 + R)1/12 − 1, end-of-month grow-then-contribute, and nominal→real conversion.
- CanadaMortgageLoanInsurance — CMHC-style homeowner premium schedule, purchase-price / down-payment / amortization eligibility, and provincial premium tax (cash only) for automatic Canadian mode.
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.
- Loan-to-value at or below 80%: insurance not required; premium $0.
- Purchase price / lending value must be below $1,500,000 for high-ratio insurance. At or above $1.5M with less than 20% down, the calculator flags the scenario rather than inventing an insured premium.
- Minimum down payment (1–2 unit homeowner): 5% of the first $500,000 and 10% of the portion above $500,000 while price is below $1.5M.
- Standard maximum insured amortization is 25 years. A 30-year insured amortization (CMHC Home Start) requires first-time homebuyer or newly built home eligibility; the 0.20 percentage-point surcharge applies only in that eligible case.
- Premium may be financed into the mortgage; provincial sales tax on the premium (Ontario, Quebec, Saskatchewan as currently listed by CMHC) is paid in cash and is never financed.
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
- General inflation by default: maintenance, home insurance, tenant insurance, condo fees, custom other costs.
- Independent: rent growth; home appreciation.
- Inflation-linked by default with override: property tax; owner utilities; renter utilities.
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
- Moving frequency / moving costs / repeated sales and purchases
- Mortgage renewal rate schedules
- Investment MER, fees, and taxation; TFSA/RRSP/FHSA modelling
- Mortgage-interest tax deductions
- Automatic U.S. PMI/FHA/USDA
- Automated Canadian land-transfer-tax or first-time buyer rebates
- Stochastic returns / Monte Carlo / historical market simulations
- Renovations undertaken primarily to increase home value
Rent-growth guidance sources
These sources help users choose a rent-growth assumption. They are not forecasts embedded as defaults.
Related tools