Why matching is hard
Companies don’t always describe themselves the same way twice. A single business might appear as “Acme Ltd”, “Acme Limited”, or “Acme (UK)” across different sources, with different addresses, or under a trading name rather than its registered name. Some sources don’t include a company number at all. So instead of a simple lookup, we compare each incoming record against Companies House using several pieces of evidence together, things like company name, website domain, registered address, and social media handles, and work out the most likely match.How we do it
We use a well-established statistical matching technique (built on an open-source tool called Splink) to compare records at scale. In short:- Narrow the field. For each incoming record, we first shortlist a small set of plausible Companies House candidates, rather than comparing it against all 5+ million companies.
- Score the evidence. We compare each candidate against the incoming record across multiple signals (name, website, address, and so on) and combine them into an overall confidence score.
- Pick the best match. If a candidate’s score clears our accuracy threshold, we accept it as a match. If nothing scores highly enough, the record is left unmatched rather than guessed at.
- Resolve corporate groups. Many companies belong to a wider corporate group. Where that matters, for example deciding which entity an investment round or acquisition should be attributed to, we apply additional rules to roll matches up (or keep them distinct) in a way that reflects how the business actually operates, rather than just its group structure on paper.