Mortgage

Calculation Methodology

How the Mortgage Repayment Calculator works — formulas, assumptions, and data sources used to produce every result.

Last reviewed:April 2026
Engine version:Estimate mode v1
Financial year:2025-26

Estimate vs Precision Modes

The calculator operates in estimate mode, which uses a simplified monthly-period model to produce fast, accurate approximations. All calculations assume equal-length monthly periods (1/12 of a year) and apply the standard annuity formula.

A future precision mode (V1.5) will introduce daily interest accrual using the ACT/365 day-count convention, real calendar dates, stub period handling, and business day adjustments. The estimate-mode engine is architecturally designed to be swapped for the precision engine without UI changes.

What estimate mode excludes

  • Real calendar dates and month-length variation
  • Daily interest accrual (ACT/365)
  • Public holidays and business day adjustments
  • Rate changes mid-term
  • Split loans (fixed + variable portions)
  • Stub periods (partial first period)

Repayment Formula

Monthly principal and interest (P&I) repayments are calculated using the standard annuity formula, which produces equal periodic payments that fully amortise the loan over the term.

P = L × [r(1 + r)n] / [(1 + r)n − 1]

Where:

  • P = periodic payment amount
  • L = loan principal (in cents)
  • r = periodic interest rate = annualRate / periodsPerYear
  • n = total number of periods = termMonths × (periodsPerYear / 12)

In estimate mode, periodsPerYear is fixed at 12 (monthly). For zero-interest loans, simple linear division is used: payment = principal / n.

Frequency Conversion

When users select fortnightly or weekly repayments, the calculator supports two conversion methods:

Method A: Divide Monthly (Bank Standard)

This is the default, matching how most Australian lenders handle non-monthly repayments.

Fortnightly = ceil(monthly / 2) → 26 payments/year
Weekly = ceil(monthly / 4) → 52 payments/year

This method creates one extra monthly equivalent per year (26 fortnights = 13 months, 52 weeks = 13 months), which accelerates principal repayment and reduces total interest over the life of the loan.

Method B: True Period (Academic)

Recalculates the annuity formula using the actual periods per year (26 for fortnightly, 52 for weekly). The annual total is exactly equivalent to 12 monthly payments — no acceleration effect.

The savings breakdown explicitly shows the interest and time saved from the divide-monthly method compared to true-period, so users can see the benefit of more frequent payments.

Amortisation Schedule

The schedule is generated month by month from period 1 to the loan term. Each period follows this processing order:

  1. 1Lump sums applied at start of period (reduces principal before interest)
  2. 2Offset balance resolved from step-function schedule
  3. 3Interest calculated on (balance − offset) × periodic rate
  4. 4Regular payment applied (IO or P&I depending on period)
  5. 5Recurring extra repayments applied (principal only)
  6. 6Fees charged (upfront, ongoing monthly, or annual)

The schedule terminates early if the balance reaches zero (e.g., due to extra repayments). The final payment is automatically adjusted to clear the exact residual balance, avoiding overpayment.

Rounding & Precision

All monetary values are stored internally as integer cents to avoid floating-point precision issues common in financial calculations. For example, $1,234.56 is stored as 123456 cents.

roundCents(value) = Math.round(value)

Rounding is applied at each calculation step:

  • Each period's interest charge is rounded to the nearest cent
  • Frequency conversion results are rounded (ceil for divide-monthly)
  • Offset balance conversions and all arithmetic operations
  • Dollar-to-cents conversion on user input

Display formatting uses Intl.NumberFormat("en-AU") with AUD currency formatting, showing or hiding cents as appropriate for the context.

Offset Account Modelling

An offset account reduces the loan balance used for interest calculation. The effective interest is charged only on the net balance:

Interest = rate × max(balance − offset, 0) / periodsPerYear

Key behaviours:

  • The offset balance is floored at zero (cannot produce negative interest)
  • Multiple offset accounts are supported — effective offset is the sum of all account balances
  • Offset accounts support step-function scheduling for modelling changing balances over time
  • A percentage parameter (0–100%) allows modelling partial-offset products

During interest-only periods, the offset reduces the IO payment amount rather than the principal balance (since no principal is being repaid).

Savings from offset are calculated by comparing a full schedule run with offset enabled against one without — showing both interest saved and months saved.

Extra Repayments

Two types of additional payments are supported:

Lump Sum Payments

  • Applied at the start of the period (before interest is calculated)
  • Directly reduce the principal, lowering interest for that period onwards
  • Multiple lump sums can be scheduled for specific months
  • Capped at the remaining balance to prevent overpayment

Recurring Extra Payments

  • Applied after the regular scheduled payment each period
  • Reduce principal only — do not substitute for the regular payment
  • Non-monthly frequencies are annualised then divided by 12 for the monthly schedule (e.g., fortnightly: amount × 26 / 12)
  • Can be restricted to a date range (start and end dates)
  • Capped at the remaining balance

Interest-Only Modelling

During an interest-only (IO) period, the borrower pays only the interest charge each month with no principal reduction:

IO payment = principal × annualRate / periodsPerYear

When the IO period ends, the payment is recast on the remaining balance and remaining term:

New P&I payment = annuity(balance, rate, totalTerm − ioPeriod)

This typically results in payment shock — the new P&I payment is significantly higher than the IO payment because the same principal must be repaid over a shorter remaining term. The calculator displays this difference prominently.

  • IO period is specified as a number of years (max 5 for owner-occupiers, 10 for investors)
  • Principal balance remains unchanged throughout the IO period
  • Extra repayments during IO still reduce the principal

LMI Estimation

Lenders Mortgage Insurance (LMI) is estimated when the Loan-to-Value Ratio (LVR) exceeds 80%:

LVR (%) = (loanAmount / propertyValue) × 100

LMI premiums are estimated using a rate table based on industry data (Helia / Genworth equivalent), organised by LVR tier and loan amount band:

LVR TierLoan BandsRate Applied To
80–85%$300K, $500K, $600K, $750K, $1M+Loan amount
85–90%$300K, $500K, $600K, $750K, $1M+Loan amount
90–95%+$300K, $500K, $600K, $750K, $1M+Loan amount

Additional adjustments:

  • Investor loading: 15% surcharge applied for investment properties
  • State stamp duty on LMI: Varies by state (e.g., VIC 10%, SA 11%, ACT 6%, NSW 0%)
  • Capitalisation: LMI premium + stamp duty is added to the loan principal by default, increasing total repayments
Effective loan = original loan + LMI premium + LMI stamp duty

Comparison Rate Methodology

Comparison rates are calculated per the National Consumer Credit Protection Act 2009 (NCCP), Schedule 6. The comparison rate provides a single percentage figure that represents the true cost of a loan including fees.

Standardised basis (locked)

  • Loan amount: $150,000
  • Term: 25 years (300 months)
  • Frequency: Monthly P&I repayments

The calculation uses a Newton-Raphson IRR solver to find the annual rate that satisfies:

NPV = netAdvance − Σ(cashflowt / (1 + r)t) = 0

Where:

  • netAdvance = loan amount minus upfront fees
  • cashflow includes: base payment, monthly fees, annual fees, and discharge fee at maturity
  • r = monthly rate solved via Newton-Raphson (up to 1,000 iterations, tolerance 1e-10)

If the loan has a fixed-rate period with a revert rate, the cashflows reflect the payment change at the revert point, with the new payment recalculated on the remaining balance.

Stress Test Approach

Rate stress testing shows the impact of potential rate rises on repayments. The calculator models five standard increments applied from period 1:

Increments: +0.25%, +0.50%, +1.00%, +2.00%, +3.00%

For each scenario:

  • New rate = current rate + increment
  • New payment recalculated using the standard annuity formula
  • Monthly increase = new payment − current payment
  • Annual extra cost = monthly increase × 12

The +3.00% scenario aligns with APRA's prudential serviceability buffer, which lenders are required to apply when assessing borrower capacity. This is shown alongside the stress test results for context.

Refinance Break-Even Analysis

The refinance calculator compares the cost of staying with the current loan against switching to a new loan at a different rate.

Monthly saving = current payment − new payment
Break-even months = ceil(switching costs / monthly saving)

Switching costs include discharge fees, application fees, legal fees, and any other costs associated with refinancing. If monthly savings are zero or negative, the break-even period is infinite (refinancing does not save money).

Lifetime savings compare total repayments over the remaining term for both scenarios, accounting for potential term extension in the new loan. This is not a simple scaling of monthly savings by term length.

Locked Assumptions

The following assumptions are documented and locked in the estimate-mode engine. They cannot be changed by the user and are applied consistently across all calculations:

AssumptionValue
Period lengthMonthly (1/12 annual rate)
Interest roundingNearest cent each period
Frequency conversion defaultDivide-monthly (bank standard)
Offset reducesBalance before interest calculation
Extra paymentsReduce principal only (after scheduled payment)
Lump sumsApplied start of period (before interest)
IO→P&I transitionRecast on remaining balance and term
Final paymentAdjusted to clear exact residual
Stress testRate increase applied from period 1
LMICapitalised into loan principal
LMI investor loading15% surcharge
APRA serviceability buffer3.00% (300 bps)
First payment timing1 period after loan start
Comparison rate basis$150,000 over 25 years

Sources & References

The calculator uses data and methodologies from the following authoritative sources:

Assumptions last updated: April 2026