Mortgage Calculator – FAQ

General questions

What does this app calculate?

The goal is to show the total cost of a mortgage so you can compare it against others.

If we already have the APR, why do we need another number to compare mortgages?

The APR has some limitations:

  1. For a mortgage with bank-linked products (home/life insurance with the bank), the APR assumes you will keep these services with the bank for the entire life of the mortgage, when in reality you will stop using them the moment they stop being worthwhile — i.e. when their overcharge becomes higher than the interest savings.
  2. The APR assumes that insurance costs are constant when, in reality, they tend to grow over time.
  3. The APR is used to discount future payments to their present value. In practice, the present value of future money depends on each individual.
OK, but what does it actually compute?

Month by month, over the entire life of the mortgage, the calculator does the following:

  1. Decides which services (insurance, etc.) are worth linking with the bank and for how many years.
  2. Computes the cost of those services.
  3. Computes the monthly mortgage payment taking into account the interest rate, the chosen discounts and the amortization method (French method by default).
  4. Optionally, adjusts the total cost of the mortgage to the present, applying the money growth rate (by default, inflation), since money paid today is not worth the same as money paid in 10, 20 or 30 years.

The result is the total accumulated cost, the breakdown by category, the first month's payment, and the bank-linked products that were taken.

Interest rate (nominal)

Which interest rate should I enter? The original or the discounted one?

The original, without applying any discount. The calculator already takes care of subtracting them.

How do I represent a mixed-rate mortgage?

A mixed-rate mortgage has a fixed rate during the first years and a variable (or another fixed) rate afterwards. To represent it, add several "interest periods":

  1. For the first period, enter the fixed rate and the year it ends (e.g. 5 years).
  2. Press "add period" and enter the rate for the next tranche. If it's the last one, you don't need to specify the end year: it extends until the end of the mortgage.

You can add as many periods as you want (mixed with 2 tranches, 3 tranches, etc.).

Present value of money

Why are €100 today not worth the same as €100 in 10 years?

For two main reasons:

  1. Inflation: prices rise over time, so €100 in 10 years will buy less than today.
  2. Opportunity cost: if we had those €100 today, we could invest them (stocks, deposits, etc.) and in 10 years we would have more than €100.

That's why simply summing all future installments to compare mortgages is not fair: a payment 25 years from now "hurts less" than the same payment tomorrow.

How does this calculator bring future mortgage payments to the present?

Each payment in month m is divided by (1 + r)^m, where r is the monthly money growth rate. By default, r equals the monthly inflation rate you entered, but you can change it in the advanced options through the "money growth rate" field.

If you uncheck the "show adjusted costs" checkbox, the calculator uses r = 0% and you'll see nominal costs (i.e. the euros you will literally pay each month, without adjusting).

Why does it use inflation as the default value for the money growth rate?

For most people, the money to pay the mortgage comes from their salary, which grows at a rate similar to inflation. Additionally, the yield on bank deposits tends to be similar to the inflation rate.

In my case, my income comes from investments that yield 5%, above inflation. How do I reflect the opportunity cost of money in my case?

Open "advanced options" in the form and set 5% in the "money growth rate" field. The calculator will then bring each future payment to the present using your personal 5% rate instead of inflation, which better reflects your real opportunity cost.

Make sure the "show adjusted costs" checkbox is enabled; otherwise this value is ignored.

Bank-linked products / Discounts

Why does it ask for two costs, the bank cost and the competitive cost?
  1. The competitive cost is the market price of the service (e.g. home insurance at €100/year from an external company).
  2. The bank cost is the price the bank charges for the same service (e.g. €300/year).

The bank price is usually quite a bit higher. The difference (€200/year in this example) is the overcharge you pay in exchange for the interest discount. The program computes month by month whether it's worth it for you and, if the overcharge exceeds the savings, it stops linking the service with the bank and swaps it for the competitive cost (market price).

How do I include the cost of a home insurance if I don't need to link it with the bank?

You can add it as a linked product with a 0% discount and only fill in the competitive cost (you can leave the bank cost blank). It will be counted month by month (adjusted for inflation) without affecting the interest rate.

How is the cost of a service (home insurance) calculated over the years?

It starts from the monthly cost you entered and applies compound inflation:

cost_month_m = initial_cost * (1 + monthly_inflation)^m

That is, an insurance that costs €200/year today will cost more in 10 years because prices rise with inflation.

How is life insurance cost calculated over the years?

Life insurance has three factors that modify its cost month by month:

  1. Outstanding principal: in general, life insurance is updated annually taking into account the outstanding debt. The cost is scaled by outstanding_principal / initial_principal.
  2. Age: the premium grows exponentially with age, multiplied by exp(age * age_factor) (default factor: 0.05).
  3. Inflation: like every other service, prices rise over time.

The final formula is approximately:

cost_month_m = base * (outstanding_principal / initial_principal) * exp((age + years_elapsed) * age_factor) * (1 + monthly_inflation)^m

How does the calculator choose which services are best to link with the bank when the total discount can exceed the maximum?

Each month, the calculator tries every possible combination of services to link and picks the one that maximizes the net savings:

net_savings = interest_savings - service_overcharge

Additionally, the decision is made month by month: a service can be linked during the first years (when the outstanding principal is high and the savings make up for it) and stop being linked later on (when the service cost grows with inflation/age and is no longer worth it).

Understanding the results

Total cost

It's the sum of all payments over the entire life of the mortgage: principal repaid, interest, and the cost of every service (linked or not). If you have the "show adjusted costs" option enabled, this figure reflects the present value of all those payments; otherwise, it's the nominal sum of euros paid.

It's the key figure to compare mortgages: the lower it is, the better the offer.

First monthly payment

It's what you'll pay the first month: the amortization installment (principal + first-month interest with the discounts applied) + the cost of the services you have to pay (insurances).

Chart

It's a stacked-bar chart, one bar per month of the mortgage. Each bar shows the cost breakdown for that month by category: principal repaid, interest, and the cost of each service. It lets you visualize how costs evolve: for example, with French amortization the interest is high at the start and decreases, while the principal repaid grows; services adjusted for inflation rise over time.

If you have the "show adjusted costs" option enabled, you'll see that the value of the mortgage payment (interest plus principal only) decreases over time, even when using the French amortization method. This is because future costs are adjusted to their present value (€1,000 paid in 10 years is worth less than €1,000 paid today).

You can download the data in CSV format with the button below the chart if you want to do more detailed analyses.