Four preparation steps before any analysis: de-duplicate on title number, separate freehold from leasehold, fix your counting unit (titles or addresses), and treat blanks as unknown, not zero. Skip these and every figure downstream is wrong in a way that looks plausible.
Getting a complete export first
An audit is only as good as its inputs, and the input problem is usually entity coverage rather than data quality.
- Export per entity, not per name. Run each group company's registration number and export each result. A broad name search is convenient but conflates entities and misses those named differently.
- Include former names. Titles registered under an old name keep that name.
- Check both CCOD and OCOD. Overseas holding vehicles are common in larger portfolios.
- Watch for truncation. Result sets are capped per search, so a very large portfolio may not come back in one query. Segment by entity or region, combine the exports, and note in your working papers that the extract was segmented.
That last point matters more than it sounds. A truncated export presented as complete is the kind of error that only surfaces when someone else finds the missing asset.
The four preparation steps
1. De-duplicate on title number
Title number is the stable unique key. Not address — addresses repeat across titles, and one title can cover several addresses, so de-duplicating on address will simultaneously merge distinct titles and split single ones.
Expect the row count to drop. Jointly held titles appear once per matched proprietor, and overlapping searches return the same title repeatedly. Both are legitimate; both inflate a raw count.
2. Separate the tenure layers
Freehold and leasehold titles over the same building are different interests. Analysed together they inflate the portfolio by counting the same physical asset at several levels. Split them:
- Freehold rows approximate the ownership layer.
- Leasehold rows are occupational or intermediate interests — and can be substantial investments in their own right, so do not discard them.
3. Fix the counting unit
Titles are not properties, and the mismatch runs both ways: a title flagged with the multiple-address indicator can cover forty units, while one building can carry thirty titles. So decide whether you are reporting titles or addresses, and say which. "112 properties" is indefensible when it is 112 addresses across 47 titles, or 47 titles covering 112 addresses — those are different sentences.
4. Treat blanks as unknown
Blank price paid means "not recorded", never "no consideration". Blank postcode means the title has no postal delivery point — normal for land parcels — not a data error. Averaging over blanks, or coercing them to zero, produces figures that are simply wrong. Field semantics are in how to read CCOD correctly.
Next step
Export and audit
Search each entity, export the matched titles as CSV or JSON, and run the portfolio analysis.
Six analyses the data supports well
1. Scale and geographic concentration
Titles by district, county and region. A portfolio concentrated in one local authority carries different planning, market and political risk from one spread across twenty. This is usually the most immediately useful output.
2. Tenure mix
The freehold-to-leasehold ratio speaks directly to risk. A largely leasehold portfolio implies rent obligations, expiry exposure and alienation restrictions that a freehold portfolio does not — though the data will not tell you the terms, only that they exist.
3. Acquisition chronology
Sort by date proprietor added. Steady accumulation looks different from bursts, and bursts usually correspond to a financing event, a corporate transaction or a fund deployment. Remember it is a registration date, lagging completion.
4. Entity attribution
Which company holds which titles. This is what a share sale would actually transfer, and it tells you whether the structure is SPV-per-asset or a single operating company holding its estate. Preserve this column through de-duplication.
5. Overlap and adjacency
Comparing two companies' holdings for shared sites, adjacent parcels, or joint proprietorship. Relevant to joint ventures, competitor analysis and site assembly.
6. Owner-type mix
Proprietorship category across the portfolio — companies, local authorities, housing associations. Useful for confirming the entities are what you expected, and a quick check that a name match has not pulled in an unrelated public body.
What the audit cannot conclude
| Not available | Where it comes from instead |
|---|---|
| Portfolio value | Valuation. Price paid is sparse, historic and sometimes nominal |
| Charges and gearing | Official copies of the register; Companies House charges register |
| Lease terms, rents, expiries | The leases themselves |
| Site areas | Title plans; no acreage in the dataset |
| Beneficial ownership | Not disclosed. PSC register, or Register of Overseas Entities for overseas proprietors |
| Assets sold by share transfer | Invisible — the registered proprietor does not change |
| Unregistered land | Not in any dataset |
Handling the CSV without breaking it
- Format registration numbers as text before opening. A spreadsheet strips leading zeros from
00123456and every subsequent lookup silently fails. If the export will be joined to Companies House data, use JSON instead. - Do not sort a single column. Sorting one column in isolation decouples it from its row. Sort the whole range.
- Keep the original export untouched and work on a copy, so you can always reproduce your figures from source.
- Record the dataset publication month in the file. A re-run after the next monthly refresh will legitimately give different numbers, and you will want to know which snapshot a figure came from.
Read next
Frequently asked questions
How do I audit a company's property portfolio?
Export the matched titles for every group entity, de-duplicate on title number, separate freehold from leasehold, fix your counting unit, then analyse scale, geographic concentration, tenure mix, acquisition chronology and entity attribution. Escalate to official copies of the register for the titles that carry weight.
Why does my export have more rows than the company has properties?
Three reasons. A title can record up to four proprietors, so jointly held titles appear once per matched owner. Running several searches — number, then name variants, then group entities — legitimately returns the same title more than once. And a building can carry both a freehold and multiple leasehold titles. De-duplicate on title number and separate tenure layers.
Should I open the CSV in a spreadsheet?
You can, but format the company registration number column as text first. A spreadsheet will otherwise interpret 00123456 as a number and strip the leading zeros, silently breaking every subsequent match against Companies House. This is the single most common data-handling error in this work.