Somewhere right now, two sensible people are arguing about what to do with a spare £200 a month. One says overpay the mortgage — be free of it years early. The other says invest it — markets beat mortgage rates. Both are right about their own numbers and vague about the other’s, which is why the argument never ends.

Excel ends it — not with a universal answer (there isn’t one), but with your numbers side by side, compounding honestly, on one chart. Two columns, one insight about risk, and the argument becomes a decision.

The standing disclaimer, meant sincerely: this is a model for understanding the trade-off, not financial advice. Big-money moves deserve a professional who can see your whole picture.

The insight that frames everything

An overpayment doesn’t just shrink the balance — it earns a return. Every pound overpaid stops accruing interest at your mortgage rate, forever. Overpaying at 4.5% is a guaranteed, tax-free 4.5% return. No market wobble, no fund fees, no tax wrapper needed.

Investing the same pound in a stocks & shares ISA has a higher expected return — the long-run real-world planning number for a global tracker is perhaps 5–7% before inflation — but it arrives with volatility: some five-year stretches are wonderful, some are negative. So the real question is never “which number is bigger?” It’s “how much expected return would I trade for certainty?” — a question about your sleep as much as your spreadsheet. The model can’t answer that part, but it can show you precisely what’s being traded.

The model: two futures, one row per month

Inputs, named: balance, rate_m (mortgage rate ÷ 12), payment, extra (the disputed £200), invest_r (expected return ÷ 12). Then a table, one row per month, two parallel worlds:

World A — overpay. The balance shrinks fast:

=B2 * (1 + rate_m) - payment - extra

World B — invest. The mortgage runs as scheduled, and the extra compounds in its own column, exactly like the ISA tracker:

=D2 * (1 + invest_r) + extra

Copy down 300 rows. World A’s finish line is the month its balance hits zero (=MATCH(TRUE, B2:B302<=0, 0) finds it). The honest comparison: at that same month, World B holds a mortgage balance and an investment pot — its net position is pot minus balance. If the pot exceeds what’s left owing, investing won on the numbers; the gap is the price certainty would have cost you. Then keep reading down to see how World B’s pot grows once World A is merely mortgage-free and starting to invest from zero.

mortgage balance, overpaying → zero at year 19 invested pot, compounding the gap = what certainty cost years →
Grey falls to freedom; green compounds past it. The dashed gap is the expected price of sleeping soundly — now visible, and yours to judge.

Making it honest

The naive version flatters investing; these four adjustments keep it truthful. Test invest_r at 2%, 5% and 8% — the guaranteed side never changes, the invested side swings wildly; that swing is the risk, on one screen. Check your overpayment terms — most UK fixes allow 10% of the balance per year penalty-free, but early repayment charges can vaporise years of advantage; one clause outweighs the whole model. Respect the tax wrappers — inside an ISA or pension, returns are tax-free (a pension adds relief on the way in, at the price of access); outside them, taxable, and the comparison tilts toward the mortgage. And neither option starts until the runway is funded and any expensive debt is gone — a 22% credit card makes this whole argument academic.

There’s also a boring, powerful middle path the binary hides: do both. Split the £200, or overpay to the comfort threshold (“owing less than X”) and invest the rest. The model prices any split — add a split cell and let the two worlds share the money.

What the spreadsheet can’t weigh

Run the numbers, then admit what they leave out. Being mortgage- free changes behaviour — people report taking better risks, worse jobs they love, earlier retirements (the countdown with a smaller monthly_need). Meanwhile flexibility has real option value: an ISA can become a roof repair; a bricked-in overpayment cannot, at least not cheaply. Neither of these fits in a cell, and both are allowed to win.

The spreadsheet’s job was never to make the choice. It was to replace two people arguing with two columns compounding — so that when you do choose certainty, or growth, or half of each, you know exactly what it cost. That’s the only version of this argument worth having.