A shiny app to compare mortgage costs

When I moved house a couple of years ago I was frustrated that mortgage comparisons used monthly repayments and total cost of the mortgage to see which were better. This was frustrating because while monthly repayments tell you whether a mortgage is affordable, they don’t tell you how much the price is and total cost over the whole mortgage is useless.

To expand on why whole cost comparisons are useless: if you take out a 25 year mortgage, only the first few (e.g. 2) years are in a contract with a penalty for early termination. Often these first years are offered at a fixed interest rate, after which the mortgage reverts to the Bank of England interest rate, plus a profit margin for the bank. Country interest rates vary with time, so any estimate now is unlikely to be valid in 2 years time let alone 24 years! To compound this, the majority of the time period the estimate is based on is pure speculation.

To pay dues, ‘compare the market’ do compare total spent during the fixed period, although this is also tied up with loan repayment (not strictly speaking a cost, unless you’re offsetting against lost savings interest).

So, I put together a simple shiny app which compares the cost of different mortgages over a given period. One nice bonus is, you can compare the same mortgage and see how much you save by over paying each month and reducing the capital and hence interest.

Try the app here: https://mikerspencer.shinyapps.io/mortgage_calc/.

Inspect the code here: https://github.com/mikerspencer/mortgage_calc

Note: this app is not a replacement for professional financial advice!

1 Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s