Get the weekly newsletter that makes you better at Google Sheets, Productivity, and Finance.
Manulife just tore up its own forecast. For months their call was that the Bank of Canada would sit on hold through 2027, and now their strategist expects hikes at the next two meetings. Core inflation has printed near 3% annualized two months in a row, a Bloomberg survey of economists now sees CPI averaging 3% over the next six months and not getting back to 2% until the third quarter of 2027, and the 2-year Canada yield jumped to 3.426%, its highest since July of last year. The Bank held at 2.25% on September 2nd, the next decision is October 28th with a fresh Monetary Policy Report, and the September CPI print lands October 19th. If you have a mortgage renewing in the next year, this is the part where the abstract inflation debate turns into a concrete number on your bank statement, because CMHC says recently renewed mortgages are absorbing about $375 more per month on average.
TL;DR: treat your household debt the way a treasury team treats the company's debt book. Map every balance to its next repricing date, model your renewal at 50 and 100 basis points higher in Sheets, and decide now whether you prepay, extend amortization, or just eat the higher payment, instead of finding out at the bank.
I spend my days thinking about repricing risk for a living, and the household version is the same machinery with smaller numbers. A corporate treasurer asks three questions about the debt book, and you can ask the same three about your house. First, what is repricing and when, which is the maturity wall. Second, how much does each 25 basis points cost me, which is the rate sensitivity. Third, how many months of the shocked payment can I cover from cash, which is the liquidity buffer. None of this requires new math, it just requires writing it down in one place instead of carrying it around in your head.
Today we will build exactly that in Google Sheets, and by the end you will have your renewal number at plus 50 and plus 100 basis points, the lump sum that would hold your payment flat, and the after-tax answer to prepay versus invest.
Setting up your maturity wall
Start a sheet with one row per debt: mortgage, HELOC, car loan, student loan, whatever you carry. The columns are balance, current rate, rate type (fixed or floating), next repricing date, and months until repricing, which is just =DATEDIF(TODAY(), repricing_date, "M"). A HELOC reprices immediately because it floats, so its months-to-repricing is zero, and that is the row most people forget. Sort by months until repricing and you are looking at your household maturity wall. If your mortgage renews in eight months, then eight months from now 100% of that balance reprices, and that single row is doing most of the work in everything below.
Modeling the shock
Below the wall, set up an inputs block: balance at renewal, months remaining in amortization, current payment. Then three scenario columns: current rate, plus 50 bps, plus 100 bps. One Canadian-specific detail before the formulas: our mortgage rates compound semi-annually, not monthly, so rate/12 slightly overstates the payment. The exact equivalent monthly rate is =(1+rate/2)^(1/6)-1, and if you want to be precise, point your formulas at that cell instead of rate/12. For the payment at each scenario rate with amortization held constant, the formula is =PMT(monthly_rate, months_remaining, -balance), and the negative sign on the balance just keeps the answer positive.
Take a concrete example so the shape of it is clear. Say you renew with $450,000 owing and 25 years left, moving from 4.79% to 5.79%, which is the plus-100 scenario. The payment goes from roughly $2,563 to roughly $2,823, about $260 more per month, or a little over $3,100 a year, and that is before property tax or anything else moves. The plus-50 column gives you the middle case. Now add the alternative most banks will offer, which is holding the payment flat and letting the amortization stretch: =NPER(monthly_rate, -current_payment, balance)/12 gives you the new amortization in years, and you will see immediately how many extra years of interest that kindness costs, because total interest remaining is just =payment*months_remaining - balance, and you can compare that number across the scenarios.
The lump sum that holds your payment flat
This is the number nobody volunteers at the branch. If you want the higher rate but the same payment, the question is how much principal you would have to kill at renewal to make the math work, and Sheets answers it with =-PV(new_monthly_rate, months_remaining, current_payment), which is the balance your current payment can support at the new rate. Subtract that from your actual balance and the difference is the lump sum. Run it at plus 50 and plus 100 and you now have two concrete savings targets with a deadline attached, which is a much better savings goal than a round number you picked because it sounded nice.
Prepay versus invest, the after-tax version
Here is where the Canadian tax treatment actually simplifies things. Mortgage interest on your principal residence is not deductible, so there is no gross-up to do: prepaying a 5.79% mortgage is a guaranteed 5.79% after-tax return, which you compare directly against the after-tax expected return of whatever you would invest in instead. If your alternative is a non-registered account earning 7% before tax and your marginal rate is 40%, that is 4.2% after tax, and the prepay wins on a risk-adjusted basis without it being close. Inside an RRSP the comparison is pre-tax to pre-tax, so be consistent about which side of the tax line each number lives on, and write that assumption in the sheet next to the answer, because six months from now you will not remember which one you used.
TL;DR
The hiking cycle coming back is a forecast, but your renewal date is a fact. Build the wall, run the two scenarios, know the lump sum that holds your payment flat, and make the prepay decision with after-tax numbers. Then when October 28th comes and goes, you are reading the announcement with your number already in hand instead of doing the math in a panic at the bank.
- Francois
Get the weekly newsletter that makes you better at Google Sheets, Productivity, and Finance.