Property · UK · UKCREMAP
UK commercial property landlords, ranked by distress
Every UK company holding ten or more registered property titles, scored on what the public record says about its condition — balance-sheet insolvency, current ratio, overdue filings and insolvency notices — with the portfolio and the reasons behind the score attached.
- One row per company holding ten or more registered property titles.
- 13,269
- Title registrations from January 2010; register and notice snapshots to August 2026.
- Quarterly
What this answers
Which companies own a meaningful amount of UK commercial property, and which of them are in trouble. Those are two different questions in the open record, held by publishers that share no key, and the work in this file is the join between them.
A broker asks the first question and wants a portfolio size. A special situations desk asks the second and wants a reason. A credit insurer wants both in one row, ranked, with the reasoning attached — which is what this is.
How the population is decided
The starting point is the record of corporate property proprietorship, filtered to registrations carrying a company number and bound to the resolved company spine. That produces 3,305,613 proprietorships, of which 2,833,305 — 85.7 per cent — bind to a company.
Holding one title is not a portfolio, so the threshold is ten. 25,902 organisations clear it. The file then narrows once more, to the 13,269 that reach the open population a licence may cover, and that second narrowing is the one worth understanding before you buy: it removes a little over half, and it removes them for a clearance reason rather than a data-quality one.
How the score is built
Four components, each scaled and weighted, each published as its own column beside the score:
- Balance-sheet insolvency — net assets below zero on the latest readable filed accounts.
- Current ratio — current assets against current liabilities, where both were filed.
- Filing conduct — days a required filing is overdue at the register snapshot, and how many are outstanding.
- Notice history — the count, recency and type of published insolvency notices matched to the company.
The distress_drivers column names every component that fired and the value
behind it, so a row can be defended in a meeting. distress_signals counts how
many of the four fired: a zero means nothing in the open record says this
landlord is in difficulty, and the row is in the file because of its portfolio,
not its condition.
What travels with it
Four files. The ranked answer, the full landlord entity record with 47 columns of register detail, the portfolio broken down by postcode area, and a crosswalk carrying every identifier we hold for each organisation so the file can be joined to whatever you already have. The complete column dictionary is below.
What it does not claim
Stated before the sample rather than after them. Everything below is a measured property of the file, not a legal hedge — if one of these is the reason the file will not work for you, that is worth knowing in the first five minutes rather than the fifth week.
- Half the ten-or-more-title market is outside this file, and the exclusion is structural. 25,902 organisations hold ten or more titles across the whole resolved spine; 13,269 of them reach the open, redistributable population that may be licensed. The other 12,633 do not.
- The distress score is a ranking within this edition, not a rating. It is not comparable across editions, and it is not a probability of failure. Every component that contributed is published alongside it so the ranking can be argued with rather than taken on trust.
- Insolvency notices carry no company number — the notice itself does not print one — so they are matched on normalised name. A flag on every row says whether that normalised name was unique on the register, and where it was not, the match is weaker than the rest of the row.
- The title projection is narrower than the source publishes. Price paid, tenure, proprietorship category and date added reach no readable table at any grain, so they are not in this file and cannot be added on request.
- A landlord that files nothing readable still scores, on its filing conduct and its notice history. Absence of financial evidence is not treated as absence of distress, and that is a deliberate choice you may disagree with.
Preview
Five rows from the 2026.08 edition, built against the production lake on 25 August 2026. Identifying columns — company number, registered name, the title numbers — are withheld from this preview and ship in the licensed file.
| rank | distress_score | distress_signals | title_count | largest_postcode_area | mortgages_outstanding | accounts_overdue_days | registered_office_region |
|---|---|---|---|---|---|---|---|
| 1 | 98.94 | 4 | 17 | GU | 5 | 424 | South East |
| 2 | 94.13 | 4 | 23 | GU | 2 | 693 | South East |
| 3 | 85.52 | 4 | 166 | E | 55 | 238 | Yorkshire and The Humber |
| 4 | 82.30 | 3 | 54 | LL | 1 | 2428 | North West |
| 5 | 82.12 | 3 | 24 | LL | 0 | 2428 | — |
The full sample pack carries every column, roughly a hundred rows per file, the methodology note and the licence. Ask for it against the ID.
Request the UKCREMAP sample pack →Column dictionary
Generated from the built release, not written by hand. A column that passes through unchanged inherits its definition from the publisher's own contract; a column we derive carries prose written against the query that produces it. Both directions reconcile — every column produced has a definition, and every definition names a column that is produced.
distressed_landlords
- org_id Our resolved organisation identifier. Stable across editions and the join key for every file in this pack.
- rank Position by distress_score within this edition. Ties broken by title_count then company_number so a rebuild is byte-identical. Not comparable across editions.
- distress_score 0-100. Weighted sum of the four components below, each scaled to 0-1. A landlord filing nothing we can read scores on its filing conduct and its insolvency notices alone, and 3,301 of the 13,269 are in that position — read has_financials before reading the score.
- distress_drivers Which components actually contributed, pipe-joined, each with the value behind it. The score's reasons, so it can be defended rather than quoted.
- distress_signals How many of the four components fired on this row. 0 means nothing in the open register or the insolvency feed says this landlord is in difficulty.
- meets_headline_screen True where the landlord carries a registered charge AND at least one of the four distress facts — balance-sheet insolvency, a current ratio below 1, overdue accounts, or a matched insolvency notice. 4,686 of 13,269. Deliberately a test on facts rather than on distress_signals, which counts only components whose scaled value is above zero and so drops a notice older than five years.
- company_number The UK company number. Eight characters, zero-padded, sometimes with a jurisdiction prefix (SC, NI, OC, SO). The strongest organisational identifier we hold.
- legal_name Registered name of the company at the time of the snapshot.
- company_status Register status, e.g. Active, Dissolved, Liquidation, In Administration.
- title_count Distinct title numbers held. Compare against the ten in the column above before assuming it is the whole portfolio.
- largest_postcode_area The postcode area holding most of this portfolio's titles.
- titles_in_largest_area Titles held in largest_postcode_area.
- mortgages_outstanding Number of outstanding mortgage charges. A secured-lending signal.
- has_outstanding_charge True where the register shows at least one outstanding charge. The existence of a charge only — no amount, no date, no chargeholder is published anywhere.
- charges_per_title mortgages_outstanding divided by title_count. A leverage proxy, and deliberately not a score component.
- balance_sheet_insolvent True where filed net assets are negative. An arithmetic test on filed accounts, never a determination by a court or an office holder.
- net_assets Net assets as filed, GBP.
- current_ratio current_assets divided by creditors_within_one_year, as computed on the resolved spine. Below 1 means the filed balance sheet cannot meet short-term liabilities from short-term assets.
- working_capital current_assets minus creditors_within_one_year, GBP.
- has_financials True where we hold a filed financial position. 9,968 of 13,269.
- financials_period_end Balance-sheet date of the latest filed accounts the score was computed from. A stale date is itself a signal and is published rather than hidden.
- accounts_overdue_days Days between accounts_next_due_date and register_as_of, where overdue.
- overdue_filings How many of the two statutory filings are past due at the register snapshot. 0, 1 or 2.
- gazette_notice_count Corporate insolvency notices matched to this landlord by normalised name. 0 means no notice matched, never that no notice exists.
- latest_gazette_notice_date published_at of the most recent matched notice.
- latest_gazette_notice_type notice_type of the most recent matched notice.
- gazette_name_is_unique False where the normalised name is shared with another company in the open spine, so the notice may belong to the other. 72 of 13,269.
- register_as_of The register snapshot this edition was cut from, derived from the register's own overdue flags rather than the clock.
- gazette_as_of The most recent notice date in the whole insolvency-notice feed, 2026-08-21, which is what notice recency is measured against.
- registered_office_region Statistical region of the registered office. Where the landlord is administered, not where the portfolio is.
- release_id The release this row was published in. Quote it in any support question and we can name the exact build it came from.
landlords
- org_id Our resolved organisation identifier. Stable across editions and the join key for every file in this pack.
- company_number The UK company number. Eight characters, zero-padded, sometimes with a jurisdiction prefix (SC, NI, OC, SO). The strongest organisational identifier we hold.
- legal_name Registered name of the company at the time of the snapshot.
- company_status Register status, e.g. Active, Dissolved, Liquidation, In Administration.
- is_active True where the register shows the company active. 13,101 of the 13,269 landlords are; 168 are not and are kept, because a dissolved landlord's titles are exactly what a broker is looking for.
- incorporation_date Date the company was incorporated.
- age_years Whole years from incorporation to the register snapshot.
- sic_code_1 Primary SIC 2007 code, extracted from the publisher's combined code-and-text field.
- sic_description_1 Primary SIC description.
- sic_section Single-letter SIC 2007 section derived from sic_code_1. 8,562 of 13,269 landlords are section L, real estate; 358 file no SIC code at all.
- size_band Our size banding — dormant, micro, small, medium, large — inferred from filed employees, turnover and balance-sheet totals, not declared by the company.
- title_count Distinct title numbers held. Compare against the ten in the column above before assuming it is the whole portfolio.
- proprietorship_rows Rows of property_title behind those titles. Exceeds titles where the landlord holds more than one proprietor position on the same title.
- postcodes_held Distinct property postcodes across the portfolio. A measure of how spread the holding is, not of how many buildings it is.
- titles_without_postcode Proprietorships in this landlord's portfolio that carry no postcode and are therefore in none of its rows here.
- postcode_areas_held Distinct postcode areas — the leading letters of the postcode, e.g. M for Manchester — across the portfolio.
- largest_postcode_area The postcode area holding most of this portfolio's titles.
- titles_in_largest_area Titles held in largest_postcode_area.
- portfolio_concentration titles_in_largest_area divided by the titles that carry a postcode. 1.0 is a portfolio in one postcode area; low values are a national holding.
- mortgages_outstanding Number of outstanding mortgage charges. A secured-lending signal.
- has_outstanding_charge True where the register shows at least one outstanding charge. The existence of a charge only — no amount, no date, no chargeholder is published anywhere.
- charges_per_title mortgages_outstanding divided by title_count. A leverage proxy, and deliberately not a score component.
- accounts_overdue True where the register shows the annual accounts past their due date. 398 of 13,269.
- accounts_overdue_days Days between accounts_next_due_date and register_as_of, where overdue.
- accounts_next_due_date Date the next set of accounts is due. Overdue filings are a risk signal.
- confirmation_overdue True where the confirmation statement is past its due date. 1,025 of 13,269.
- overdue_filings How many of the two statutory filings are past due at the register snapshot. 0, 1 or 2.
- register_as_of The register snapshot this edition was cut from, derived from the register's own overdue flags rather than the clock.
- financials_period_end Balance-sheet date of the latest filed accounts the score was computed from. A stale date is itself a signal and is published rather than hidden.
- net_assets Net assets as filed, GBP.
- current_assets Current assets as filed, GBP.
- creditors_within_one_year Creditors falling due within one year as filed, GBP.
- current_ratio current_assets divided by creditors_within_one_year, as computed on the resolved spine. Below 1 means the filed balance sheet cannot meet short-term liabilities from short-term assets.
- working_capital current_assets minus creditors_within_one_year, GBP.
- balance_sheet_insolvent True where filed net assets are negative. An arithmetic test on filed accounts, never a determination by a court or an office holder.
- average_employees Average employees during the latest filed period. Most property holding companies file none.
- has_financials True where we hold a filed financial position. 9,968 of 13,269.
- gazette_notice_count Corporate insolvency notices matched to this landlord by normalised name. 0 means no notice matched, never that no notice exists.
- latest_gazette_notice_date published_at of the most recent matched notice.
- latest_gazette_notice_type notice_type of the most recent matched notice.
- gazette_name_is_unique False where the normalised name is shared with another company in the open spine, so the notice may belong to the other. 72 of 13,269.
- registered_office_postcode Postcode of the registered office. The main join key into Location until a UPRN is resolved.
- registered_office_region Statistical region of the registered office. Where the landlord is administered, not where the portfolio is.
- registered_office_town Post town of the registered office, resolved from its postcode.
- grid_address_id Our resolved address identifier for the registered office. Two landlords sharing one are administered from the same place.
- companies_at_address How many companies are registered at this landlord's registered office, over the full UK register. A high count is a formation agent or a virtual office, not a finding.
- release_id The release this row was published in. Quote it in any support question and we can name the exact build it came from.
landlord_postcode_area
- org_id Our resolved organisation identifier. Stable across editions and the join key for every file in this pack.
- postcode_area The leading letters of the property's outward postcode code, e.g. M for Manchester. Derived from the postcode string; no lookup table is published upstream.
- titles Distinct registered title numbers this landlord holds in this postcode area.
- proprietorship_rows Rows of property_title behind those titles. Exceeds titles where the landlord holds more than one proprietor position on the same title.
- postcodes Distinct full postcodes held in this area.
- share_of_portfolio titles divided by the landlord's titles that carry a postcode at all. Sums to 1.0 across a landlord's rows, and deliberately does not use title_count as the denominator — the titles with no postcode are not in this file and would make every share look smaller than it is.
- area_rank 1 for the postcode area holding most of this landlord's titles, counting down. Ties broken alphabetically so a rebuild is identical.
- title_count Distinct title numbers held. Compare against the ten in the column above before assuming it is the whole portfolio.
- titles_without_postcode Proprietorships in this landlord's portfolio that carry no postcode and are therefore in none of its rows here.
- legal_name Registered name of the company at the time of the snapshot.
- release_id The release this row was published in. Quote it in any support question and we can name the exact build it came from.
crosswalk
- org_id Our resolved organisation identifier. Stable across editions and the join key for every file in this pack.
- company_number The UK company number. Eight characters, zero-padded, sometimes with a jurisdiction prefix (SC, NI, OC, SO). The strongest organisational identifier we hold.
- legal_name Registered name of the company at the time of the snapshot.
- name_normalised Upper-cased, non-alphanumerics replaced by spaces, runs of spaces collapsed. The exact expression 05_EVENTS/gazette_notices.csv matches on, so that join can be reproduced or challenged.
- companies_house_number UK company number as the resolved spine holds it, accepting both spellings of the scheme.
- other_company_numbers Any further UK company numbers the same resolved organisation carries, pipe-joined. Non-null only where entity resolution merged more than one registration.
- lei Legal Entity Identifier, where we hold one. Held for 1,120 of the 13,269 landlords.
- charity_number Charity register number, where the landlord is also a registered charity. Held for 322 of 13,269 — housing associations and almshouse trusts.
- identifier_count How many identifiers of any scheme we hold against this organisation. A one means the company number is the only way in.
- hm_land_registry_title_numbers Up to the first ten registered title numbers held, pipe-joined and ordered. The complete list is 05_EVENTS/titles.csv.
- title_count Distinct title numbers held. Compare against the ten in the column above before assuming it is the whole portfolio.
- largest_postcode_area The postcode area holding most of this portfolio's titles.
- registered_office_postcode Postcode of the registered office. The main join key into Location until a UPRN is resolved.
- grid_address_id Our resolved address identifier for the registered office. Two landlords sharing one are administered from the same place.
- registered_office_town Post town of the registered office, resolved from its postcode.
- registered_office_region Statistical region of the registered office. Where the landlord is administered, not where the portfolio is.
- country Country of the registered office, resolved through a postcode directory rather than from the register's own address line.
- release_id The release this row was published in. Quote it in any support question and we can name the exact build it came from.
Licence and delivery
- CSV · Parquet
- Presigned download of a single archive, with the release ID stamped into every row.
- None. The population is companies, and the build refuses any column an upstream contract declares as personal data.
- Every upstream source is open, permits redistribution and permits resale — which is why this file is in the catalogue at all. The clearance is checked column by column at build time, and a file that fails it is not cut.
- Named in the sample pack and in the delivered files, with the attribution each licence requires, rather than on this page. Which registers combine to make a product is the part of this work we do not publish.
Enquiries
Quote UKCREMAP at data@inference.institute. It is the same code the build and the release manifests use, so an enquiry carrying it lands against exactly this product.
Next step
Evaluate it before you commit to it.
The sample pack has the real schema and a watermarked extract, so the question of whether this file answers yours is settled with data rather than with a call.