How PlainMortgage builds every mortgage figure

Last updated:

PlainMortgage is a UK mortgage-data desk, not a broker. Every rate, price, and repayment on the site starts from a published Bank of England or HM Land Registry release; we then apply named formulas (amortisation, LTV deposit, stress +1pp) so a buyer can see what a typical deal costs in a named city. If a number appears here, this page names the series, the geography it covers, and the transformation that produced it.

Official releases we ingest

  • Bank of England base rate - published by the Bank's Monetary Policy Committee. Source: Bank of England Bank Rate. Refresh: within hours of every MPC announcement.
  • HM Land Registry House Price Index - the official monthly index of UK residential transaction prices, derived from all registered transactions in England, Scotland, Wales, and Northern Ireland. Source: UK House Price Index. Refresh: monthly, with a roughly two-month reporting lag.
  • Bank of England quoted household interest rates - the average advertised mortgage rate across UK lenders for each fix period and LTV band (2- and 5-year fixes at 75%, 90%, and 95% LTV, plus the standard variable rate), published monthly. Source: Bank of England Interactive Database (series IUMBV34, IUMBV37, IUMB482, IUMBV42, IUMBV45, IUMTLMV). Refresh: monthly.

All three datasets are published under the Open Government Licence v3.0. We do not use any private best-buy aggregator, lender feed, or scraped comparison table, every rate shown is the Bank of England's own published market average, not a "best-buy" headline.

How we compute a monthly repayment

The monthly repayment for a repayment mortgage is computed using the standard amortisation formula:

M = P · (r · (1 + r)n) / ((1 + r)n − 1)

where P is the principal (loan amount), r is the monthly interest rate (annual rate ÷ 12), and n is the term in months (typically 25 × 12 = 300 or 30 × 12 = 360). For interest-only mortgages, M = P · r.

Lender stress test we apply

The affordability engine applies the conventional UK lender stress test:

  • Maximum borrowing is capped at 4.5× gross household income as a working ceiling, adjusted downward for monthly debt obligations.
  • The stress-test rate is set to the contract/quoted rate + 1 percentage point at the time of the offer, the mainstream lender approach since the FCA withdrew its specific stress-rate requirement (formerly MCOB 11.6.18R) in 2022.
  • Monthly affordability is computed as repayment at the stress-test rate ≤ 35% of net household income after tax and existing debt.

The result is a realistic ceiling, not a guarantee. Real offers vary by lender appetite, credit profile, employment status, and property type. We err conservatively.

How LTV band comparisons are joined

For fix-length comparisons we compute the monthly payment and total interest paid over the chosen horizon for each product, using the Bank of England's latest quoted average rate for the relevant fix period and LTV band held constant for the fix term. The comparison shows which option costs less over the period at today's published rates; it does not forecast future rate moves, and a real decision should weigh the certainty of a longer fix against the flexibility of a shorter one.

Editorial Pipeline

PlainMortgage operates a continuous editorial pipeline. Raw data is loaded into our SQLite database via our ETL (Extract, Transform, Load) framework, then editorial pages and calculator narratives are drafted and reviewed by our editorial process. Numbers are never altered between source and display, only the surrounding explanation passes through editorial review.

What this desk does not claim

  • Average headline rates are indicators, not personal quotes. A binding rate requires a Decision in Principle from a lender or broker.
  • Affordability projections are formulaic. Real lender assessments use richer credit and income data than this site receives.
  • House Price Index figures lag transactions by roughly two months.
  • This site is not a regulated source of financial advice. See our about page for the full disclosure.

Versioning

The database is versioned via the ETL framework. Each release is tagged with a vintage date, and the source URL plus refresh date is stamped onto every page. Material methodological changes are noted in a changelog at the bottom of this page in future releases.

Data Refresh Cadence

Different data sources update on different cadences. The Bank of England base rate is ingested into our database within hours of every Monetary Policy Committee announcement - eight scheduled meetings per year, plus any emergency announcements. The HM Land Registry House Price Index is published monthly with a roughly two-month reporting lag, and we refresh on the morning after each release. The Bank of England's quoted household mortgage rates are published monthly, and we refresh the rate tables on each release.

Quality Controls

Every data load runs through three layers of validation before publication. First, a schema check ensures the columns match the expected types and that no required field is null. Second, a range check flags any value outside historically-plausible bounds, for example, a base rate above 20% or a regional average house price below £80,000 is held for manual review. Third, a continuity check compares each release against the prior three releases and flags moves outside the typical period-on-period range. When a load triggers an exception, the database is held at the prior release and the editorial process reviews the source before merging. We err strongly on the side of publishing nothing rather than publishing an unverified value, the credibility of the site depends on every figure being defensible against the upstream agency’s publication.

Currency, Units, and Date Format

All money figures are in pounds sterling (GBP). All rates are annualised and shown to two decimal places. The standard date format on every page is DD Month YYYY (UK convention), with the equivalent ISO-8601 string in the underlying HTML timestamp for machine readability. Time zone for all dataset metadata is UTC; for events such as MPC decision dates, the date is given in the prevailing UK time zone (GMT or BST) as published by the Bank of England.

Open Source and Reproducibility

The PlainMortgage codebase, ETL stages, and data-loader scripts are version-controlled in a private repository. Each release is tagged with a Git SHA and a vintage stamp, allowing full reproducibility of any historical snapshot. Researchers and journalists may request a specific historical snapshot by emailing the editorial process with the date in question.

Data licensing readiness (non-AdSense)

Every Bank of England and HM Land Registry series on this site is already published under Open Government Licence v3.0. Readers may reuse the official upstream tables with attribution to the Crown source. PlainMortgage does not yet ship a first-party downloadable CSV or embeddable widget of its derived repayment and affordability maths; CiteThis blocks on data pages invite attributed reuse of those derived views under CC BY 4.0. A downloadable derived dataset remains a future readiness item, not a live product surface.

Browse and Navigation

The data on PlainMortgage is structured around four primary surfaces: research pages, calculator, comparison tables, and editorial guides. The research pages draw directly from the current dataset, and every number on a research page is auditable to the exact source record. The calculator runs entirely in the browser using the documented formulae; nothing is sent to a server. The comparison and ranking tables paginate at fifty rows per page with explicit sort allowlists. Browse paths are documented at the browse index and the XML sitemap exposes every URL to crawlers.

Download the UK metro price-to-income snapshot cited on this page: uk-metro-price-to-income.csv (CC BY 4.0 for this derived file; Bank of England and HM Land Registry source tables remain OGL).