Parent and subsidiary matching when one exhibitor books under four legal names
Parent and subsidiary matching resolves each contracting entity on its own, then records the group relationship as a separate typed edge between entities. Four subsidiaries taking 54, 36, 18 and 72 square metres roll up to 180 for the group, without merging four contracts, four billing addresses and four renewal dates into one.
The renewal list is sorted by space taken, and the account sitting at number 41 has 72 square metres. Nobody on the commercial team treats it as a strategic account, because at 72 square metres it is not one.
Three rows further down, at number 58, is a firm with 54 square metres. At number 96 there is one with 36, and at number 140 there is one with 18. All four report into the same group, pay from two of the same bank accounts, and are represented at the show by people whose email addresses share a domain.
Parent and subsidiary matching is the work that makes that visible without destroying the four contracts underneath it. The group is a 180 square metre relationship spread across four legal entities, and both facts have to survive in your data at once.
Two operations that keep getting confused
Resolving an entity and inferring a relationship are separate jobs with separate outputs, and treating them as one produces the two failure modes you see in the field.
Entity resolution asks whether two records describe the same legal entity. Verdant Films Ltd, VERDANT FILMS LIMITED and Verdant Films Ltd. with a trailing full stop are three spellings of one company, and the output of resolving them is one entity with three source rows behind it. That is the pairwise scoring problem described in cross event attendee matching, applied to companies rather than people.
Relationship inference asks whether two distinct entities belong to the same group. Verdant Films Ltd and Verdant Coatings GmbH are different companies, incorporated in different countries, signing different contracts, and the output of relating them is an edge between two entities that both stay in the file.
Getoor and Machanavajjhala set out the field in their tutorial at the VLDB conference in 2012, published in the Proceedings of the VLDB Endowment, which draws together the database, machine learning, natural language processing and information retrieval treatments of entity resolution and lists the open problems. The relational branch of that work runs the other way too: Bhattacharya and Getoor showed in ACM Transactions on Knowledge Discovery from Data in 2007 that resolving co-occurring references jointly, using the relationships between them, beats resolving each reference independently. Relationships help you resolve entities, and resolved entities let you record relationships, and the two stay distinct in the data model.
What does the roll-up actually look like?
Take the four rows and work it.
Verdant Films BV in the Netherlands has 54 square metres. Verdant Films Ltd in the United Kingdom has 36. Verdant Coatings GmbH in Germany has 18. Sudbury Laminates Ltd, acquired by the group in 2024 and sharing no part of its name, has 72.
The group total is 54 plus 36 plus 18 plus 72, which is 180 square metres. At a notional rate of 600 per square metre, the four contracts are worth 32,400, 21,600, 10,800 and 43,200, and the group is worth 108,000.
That single number changes three decisions. It moves the relationship into whatever tier your rate card reserves for the largest accounts. It changes who owns the conversation, because a 108,000 group relationship is not managed by four salespeople who have never spoken to each other. And it changes the risk calculation, because losing the group is a different event from losing its smallest entity, and until the edges exist your churn reporting cannot tell those apart.
The fourth entity is the one that makes the case. Sudbury Laminates shares no tokens with the other three, so no amount of name comparison will ever connect it. It is connected by an ownership fact that lives outside your data entirely, and the only way it enters your system is because somebody recorded it.
How production systems model this
The clearest published model is the one GLEIF operates for legal entity identifiers, and it is worth copying because it has already survived the arguments.
Each entity keeps its own identifier. The group structure is published as separate relationship records answering who owns whom, and each record names a child entity, a parent entity, and a relationship type, such as the entity being directly consolidated by its parent. Two levels are recorded: the direct accounting consolidating parent and the ultimate accounting consolidating parent, so both the immediate owner and the top of the tree are addressable.
The part most in-house models skip is the third state. Where a child has no parent, or where the parent exists but has no identifier, GLEIF publishes an explicit reporting exception rather than leaving the field empty. Silence and absence are different facts, and a system that cannot distinguish them will treat every unmapped subsidiary as a standalone firm.
Copy all three properties. Entities stay separate and keep their own identifiers. Relationships are their own rows with a type on them. Unknown is a recorded value rather than a null.
The shape costs almost nothing to build. One table with a child identifier, a parent identifier, a relationship type and a start date carries the whole hierarchy for a portfolio, and it can be populated by hand for your top fifty accounts in a morning.
Why does merging the entities break renewal reporting?
Because everything your commercial and finance teams work from is keyed on the contracting entity.
A merged account has one renewal date, and the four entities have four. It has one billing address, and the four have four, in four tax jurisdictions with four sets of invoicing rules. It has one credit position, and the German entity being 90 days late tells you nothing about the British one.
Churn attribution breaks in a way that is worse for being subtle. If Verdant Coatings drops its 18 square metres and the other three renew, a merged account shows a group that reduced its footprint by 10 per cent, which reads as a soft renewal. The unmerged version shows one entity churning completely and three renewing at full size, which is a different conversation and points at a different cause. Rolling up is reversible. Merging is not.
Keep the entity as the unit that contracts, and let every roll-up be a query that traverses edges. Group revenue becomes the sum over children, group retention becomes a calculation you define explicitly, and any of them can be recomputed when the ownership changes.
Building the edges without a data vendor
Four sources, in order of how much they cost you.
The email domain does most of the work. Subsidiaries of one group frequently share a domain, or use a parent domain for finance and a local one for operations, so grouping your exhibitor contacts by domain and looking at which distinct company names appear under each is a query you can run today. It generates false edges too, because agencies and shared service providers appear under a client's domain, which is the case handled in the contacts-to-companies work.
The billing address is next. A group finance function pays from one place, so identical billing addresses across differently named entities is strong evidence of a shared parent even when the trading names have nothing in common. This is the signal that finds Sudbury Laminates.
The registration or VAT identifier is stronger where you hold it, because it is an external key that resolves the entity without any string comparison at all. Most organisers hold it for some exhibitors and not others, which is a good argument for collecting it at contract stage.
Asking is the cheapest and the most accurate. Add one question to the rebooking form: which other entities in your group exhibit with us. A sales director gets a better answer from thirty phone calls than from any inference over names, and the answers are durable, because the exhibitor knows about the acquisition before you do.
Where this stops
The ownership hierarchy changes and your edges do not know when.
Sudbury Laminates was independent until 2024. Rolling its 2023 spend into the group either restates history as though the acquisition had already happened, which is what a corporate development team wants, or leaves it outside the group, which is what a like-for-like renewal comparison needs. Both are defensible and they give different numbers, so give the edge a start date, decide which convention your reports use, and write it down where the finance lead can see it.
The second limit is that the buying group and the ownership group are not always the same set. A franchise network buys collectively and is owned separately. A purchasing consortium negotiates one rate for firms with no common shareholder. A distributor books the stand and the manufacturer pays for it. Ownership edges will not capture any of these, and forcing them into an ownership model produces a hierarchy that is wrong in a way nobody can audit. Give the relationship a type and allow more than one type.
The third is that this all rests on the entities underneath being resolved properly in the first place. If Verdant Films Ltd is still sitting in your system as three unmerged rows because the legal form suffix in J18 was never stripped, or because company name normalisation in J17 never ran, then your group roll-up is summing over a set of duplicates and the total is wrong in the direction that flatters you.
Start by grouping your exhibitor contacts by email domain and listing every domain with more than one distinct company name behind it. Ten minutes of reading that list will tell you how many groups your portfolio is currently reporting as unrelated accounts, and the largest of them is worth a phone call before the next unified data sprint starts.
Questions people ask about parent and subsidiary matching
- Should you merge subsidiary records into the parent company record?
- No. Each contracting entity signs its own contract, carries its own billing address and renews on its own date, so merging destroys the records your finance team reconciles against. Resolve each entity separately, then attach a relationship edge pointing at the group, and roll up spend by traversing edges instead of by collapsing rows.
- How do you find the group behind several exhibitor accounts?
- Start with the email domain, since subsidiaries of one group often share one. Then compare billing addresses, since a group finance function frequently pays from one address. Then use the company registration or VAT identifier where you hold it. Then ask the exhibitor directly at rebooking, which is faster and more accurate than any of the above.
- What does GLEIF Level 2 data model?
- GLEIF publishes relationship records answering who owns whom, recording a child entity's direct accounting consolidating parent and its ultimate accounting consolidating parent as typed relationships between separate identifiers. Where no parent exists or the parent has no identifier, that is published as an explicit reporting exception rather than left blank.
Related reading
- Legal entity suffixes and the exhibitor records they split in two
- Company name normalisation before you compare a single exhibitor record
- Cross event attendee matching, and why one buyer becomes four records