Source-linked AI summary
Corporate-Family Resolution Is Not a String-Matching Problem: A Public Benchmark Stratified by Name Visibility
Harshit Gupta
TL;DR
Corporate-family resolution concerns records for different entities whose ownership evidence may not appear in their names, a distinction that aggregate entity-matching evaluation can miss. CORPFAM stratifies a public benchmark by name visibility and evaluates matching and blocking; 93.2% of invisible links never enter the candidate set. The benchmark’s scope is US federal contracting in FY2025, with child-to-ultimate-parent links rather than intermediate holding chains.
Problem
Corporate-family links connect records for different legal entities, and ownership evidence may be recorded in neither record, so a single aggregate entity-matching score can obscure differences in name visibility.
Source: §1 · pp. 1–2Method
The paper builds CORPFAM from supplier-reported ultimate-parent registry data and evaluates pairs stratified by name visibility, using family-level splits and role-matched negatives.
Source: §1 · p. 2, §3.5 · p. 6Results
93.2% of invisible links never enter the candidate set, while the union of blocking schemes recovers 6.8%.
Source: §1 · p. 2, §9 · p. 16Takeaways & Limitations
Candidate generation, rather than ranking, is the intervention point for reaching invisible links that never become candidates.
Source: §9 · p. 16The benchmark covers families visible in US federal contracting in FY2025, evaluates one-hop child-to-ultimate-parent links, and corroborates against SEC Exhibit 21 only for SEC registrants.
Source: §10 · p. 17
Abstract
from arXiv · showhide
Deciding whether two supplier records belong to the same corporate family is a prerequisite for spend consolidation, credit exposure aggregation and sanctions screening. It is usually treated as entity matching, but the tasks differ: a family link connects records that are deliberately different entities, and the evidence often appears in neither record. We introduce CorpFam, a public benchmark of 54,864 candidate pairs over 10,307 corporate families, derived from 6,638,350 US federal award records in which every supplier self-reports its ultimate parent to a government registry. Pairs are stratified by name visibility: whether the names are identical after normalisation, share a distinctive token, or share none. Because strata have positive rates from 10.2% to 97.3%, we report per-stratum recall, base-rate invariant, rather than F1, which is not. The strongest of 5 matchers recovers 100.0% of identical pairs and 4.2% of invisible ones; no method exceeds 4.7% on the latter. The failure begins before matching. Blocking decides which pairs a matcher sees, and we evaluate 7 schemes spanning phonetic keys, attribute keys that ignore the name, and semantic nearest neighbours. None reaches three percent on invisible pairs, and their union recovers 6.8%. 93.2% of these links never enter the candidate set, so no matching-stage improvement can reach them. The links are real: against SEC Exhibit 21 subsidiary schedules, which share no provenance with procurement registration, 64.2% of invisible links are corroborated, against 0.16% under permuted parents and 0.41% against the same parent's wrong exhibit: two unrelated nulls agreeing to within 0.25 points. Corporate-family resolution is a retrieval problem misfiled as a matching problem; the intervention point is candidate generation, not ranking. The benchmark, adjudication log, and code reproducing every number are released.
1 Introduction
Corporate-family resolution links legally distinct supplier records whose ownership evidence may appear in neither record, so aggregate entity-matching scores can obscure the task’s hard cases. CORPFAM stratifies pairs by name visibility and finds that most invisible links are missed before matching, despite independent corroboration of many such links.
1 Introduction
- Corporate-family resolution links separate legal entities under common ownership, with evidence that may appear in neither record’s name.For example, ownership may be recorded in a corporate filing rather than in either supplier string.Source: §1 · p. 2
- CORPFAM provides 54,864 candidate pairs over 10,307 families, using supplier-reported registry ground truth and stratifying pairs by name visibility.The benchmark is built from 6,638,350 federal award records.Source: §1 · p. 2
- 93.2% of invisible links never enter the candidate set; the union of blocking schemes recovers only 6.8%, leaving them beyond any matcher.No evaluated blocker reaches 3% recall on invisible pairs.Source: §1 · pp. 2–3
- The strongest matcher recovers 100.0% of identical pairs, 49.9% of visible pairs, and 4.2% of invisible pairs; no method exceeds 4.7% on invisible pairs.The 4.2% result has a 95% CI of [2.9, 6.1].Source: §1 · p. 2
- 64.2% of invisible links are corroborated against SEC Exhibit 21, versus 0.16% with permuted parents and 0.41% with the true parent’s wrong exhibit.The two null conditions agree within 0.25 points.Source: §1 · pp. 2–3
2 Related Work
Prior work studies entity matching, ownership structures, company graphs, and candidate generation, but these lines address different parts of corporate-family resolution. CORPFAM focuses on whether procurement registration records belong to one family when the relationship may not be recoverable from their names.
2 Related Work
- Entity-resolution benchmarks established matching tasks and advanced neural methods, while critiques address easy negatives and skewed positive-class ratios; CORPFAM instead foregrounds heterogeneous positives with different name visibility (Papadakis et al., 2021; Barlaug and Gulla, 2021; Mudgal et al., 2018; Li et al., 2020; Peeters et al., 2025; Papadakis et al., 2023; Neuhof et al., 2024; Li et al., 2022).MaDI-Bench systematises corner-case and blocking difficulty, but its hard positives are synthesised surface variants, unlike CORPFAM’s naturally occurring links certified by an external legal filing (Steiner et al., 2026).Source: §2 · p. 3
- CompanyKG predicts relationships over company entities that are already resolved, whereas CORPFAM studies linkage among procurement registration records (Cao et al., 2023).The linkage problem CORPFAM targets is assumed away before CompanyKG’s task begins.Source: §2 · p. 3
- Blocking research evaluates candidate generation with measures such as pair completeness and reduction ratio; stratifying by difficulty exposes blind spots that aggregate pair completeness hides.Source: §2 · p. 3
- Company-name matching work largely recognises the same company under spelling variation, while corporate-family resolution asks whether different entities share an owner.Ownership-network and hierarchy studies build or analyse structures, but the paper states that, to its knowledge, they do not release a public reproducible benchmark stratified by record-level recoverability.Source: §2 · pp. 3–4
3 The CORPFAM Benchmark
CORPFAM builds family-link ground truth from supplier-reported federal registration data, then removes self-parent records and separates genuine links by name visibility. Its construction controls for base-rate and role shortcuts through recall-based evaluation, family-level splits, and role-matched negatives.
3.1 Source and ground truth
- Supplier registration records report the ultimate parent UEI and name; the parent field is self-reported during federal registration, making it ground truth independent of a matching system.The source is US federal contract award data.Source: §3.1 · p. 4
3.2 The self-parent trap
- 89,962 entities (86.3%) report themselves as their own parent, so removing self-parents leaves 14,288 genuine links for the benchmark.The per-entity API independently showed 82.8% self-parenting among 4,806 retrieved records, with 760 genuine parent–child links.Source: §3.2 · p. 4
3.3 Name visibility as the primary stratum
- Of 14,288 genuine links, 4,850 are name-identical; among the remaining 9,438 informative links, 38.3% share no distinctive token with the parent.The benchmark distinguishes identical, visible, and invisible name pairs; Table 1 describes their composition.Source: §3.3 · p. 5, Table 1 · p. 5
3.4 Why we report recall, not per-stratum F1
- Test-set positive rates range from 97.3% to 10.2% across strata, making per-stratum F1 base-rate sensitive; the benchmark therefore reports per-stratum recall.Hard-string negatives are necessarily visible while random negatives are usually invisible, further biasing per-stratum precision; global precision and average precision use a shared negative pool.Source: §3.4 · p. 5
3.5 Splits, negatives, and leakage
- Splits are assigned by connected components sharing a family, entity, or normalised name, and negatives pair a child with another family’s parent to match positive roles.Three negative grades are used: random, hard string, and same block; role matching removes the address-availability shortcut that produced an invisible-stratum F1 of 88 in an earlier build.Source: §3.5 · p. 6
4 Ground-Truth Quality
Ground-truth quality is examined through registry consistency, independent SEC corroboration, manual review of family artifacts, and the constraints on benchmark redistribution.
4.1 The registry disagrees with itself
- The two registry channels match exact parent UEIs in 64.9% of 248 shared cases, while conflicting parent histories and 46 cross-source disagreements constrain the labels.Across the API records, parent history can accumulate rather than replace earlier values; the study takes the most recent parent and does not arbitrate disagreement causes.Source: §4.1 · pp. 6–7
4 Ground-Truth Quality
- Registry agreement bounds internal consistency, not correctness, so the section tests invisible links against SEC filings with independent provenance.The registry-derived views share provenance and could inherit the same supplier misdeclaration; Exhibit 21 schedules do not share that procurement-registration provenance.Source: §4.2 · p. 7
4.2 Independent corroboration from SEC filings
- Two independent SEC nulls land 0.25 points apart while true-condition corroboration exceeds both by 64.1 points, supporting specificity to the right parent-document pairing.The controls change either the company or the document type; the wrong-exhibit condition corroborates 0.41% of invisible links.Source: §4.2 · pp. 7–8, Table 3 · p. 8
4.3 Adjudicating family artifacts by hand
- Hand review excluded 8 of 28 large families, but the unfiltered build's best invisible recall fell to 0.9% from 4.2%, so filtering did not create the difficulty.The published log includes retentions and rejections; the adjudication removed 458 links, with additional removals under sovereign catch-all entities.Source: §4.3 · p. 9
4.4 Provenance and redistribution
- The benchmark's possible redistribution exposure is bounded at 52.5% of positive pairs, and a conservative post-cutoff subset contains 6,522 positive pairs.The bound uses the earliest performance-period start among supporting awards; the definitive source field named in the terms is absent from award data.Source: §4.4 · p. 9
5 Blocking: The Failure Before Matching
Blocking controls which pairs reach a matcher, and the evaluated schemes leave most invisible links outside the candidate set even when name-independent and semantic keys are included.
5 Blocking: The Failure Before Matching
- Seven schemes are tested over 114,230 recipients; zero recall from token and first-token blocking on invisible pairs is definitional, not an empirical discovery.Those blockers use the same core() token function that defines the invisible stratum; the tested alternatives include q-grams, phonetics, ZIP/city-state attributes, and semantic neighbours.Source: §5 · p. 10
- The all-scheme union recovers 6.8% of invisible links, leaving 93.2% unproposed; semantic nearest neighbours are the strongest single scheme at 2.89%.Table 4 reports 76.2% pair completeness overall for the union; no informative individual scheme exceeds three percent on the invisible stratum.Source: §5 · pp. 10–11
5.1 What relaxing the key actually buys
- The all-scheme union proposes 8.5 times as many candidates as token blocking for 2.95 additional points on invisible-stratum recovery.The union proposes 13,074,120 pairs versus token blocking's 1,534,063; name-keyed schemes alone reach 3.82% on the invisible stratum.Source: §5.1 · p. 11
- ZIP and city–state attribute blocking is the only scheme whose invisible recall exceeds its overall recall, while MiniLM neighbours still recover only 2.89% of invisible links.Attribute keys ignore names, but their weak shared-ZIP signal makes them unusable alone; name-keyed schemes' invisible recall falls sharply relative to their averages.Source: §5.1 · p. 11
- Future retrieval methods must beat 6.8% invisible-stratum recall at a comparable 13,074,120-candidate budget; widening the set until reduction ratio collapses relocates the problem.The paper locates the intervention at candidate generation, using evidence retrieved from outside the records, such as ownership filings or a knowledge base built from them.Source: §5.1 · p. 11
6 Matching Baselines
Across name-visibility strata, matching recovers nearly all identical pairs but very few invisible ones; subsequent tests show that neither attributes nor broader candidate scoring closes the gap. The section also examines false positives, spend-weighted recall, and the limited availability of parent-side attributes.
6.1 Protocol
- The protocol compares four string-similarity methods and a MiniLM sentence-embedding baseline, with thresholds chosen on validation and applied unchanged to test.String methods include exact match, token Jaccard, a character sequence ratio, and character 3-gram TF–IDF.Source: §6.1 · pp. 11–12
6.2 The aggregate hides the failure
- 4.2% recall on invisible pairs, versus 100.0% on identical pairs; no method exceeds 4.7% on invisible pairs.TF–IDF char 3-gram reaches 76.8 F1 overall, but the aggregate conceals the stratum-level gap.Source: §6.2 · p. 12, Table 5 · p. 12
6.3 False positives concentrate where deployment lives
- Random negatives yield 0.0% false positives, compared with 3.2% for shared blocking keys and 4.6% for shared distinctive tokens.These harder negatives resemble the candidates a deployed pipeline encounters after blocking.Source: §6.3 · pp. 12–13, Table 6 · p. 13
6.4 Spend weighting
- For TF–IDF char 3-gram, spend-weighted recall is 60.1%, below its unweighted recall of 67.3%.The top 1% of links carry 77.4% of obligated value, so unweighted recall can obscure missed high-value links.Source: §6.4 · p. 13
6.5 Do attributes rescue the invisible stratum?
- No feature set separates from the majority-class floor on invisible pairs in the 822-pair subset with attributes on both sides.The attribute-only model scores 59.9 against a 59.4 floor; these differences are not a result, and the subset is restricted.Source: §6.5 · p. 13, Table 7 · p. 14
6.6 The parent is usually a legal abstraction
- Only 5.9% of benchmark parents ever appear as award recipients, leaving attributes on both sides for just 7.5% of test pairs.Many ultimate parents are holding entities without an operating footprint; address agreement among true pairs never exceeds 10.0%.Source: §6.6 · p. 14
- Attribute coverage should be measured on each side of a relation; the attributed-pair subset is not representative of the full task.It selects pairs whose parent happens to trade, making the parent less like a holding company.Source: §6.6 · p. 14
- In family-level clustering on test data with validation-chosen thresholds, removing token blocking raises pairwise F1 but lowers exact family recovery because extra candidates introduce false links that merge distinct families through transitivity.Source: Table 8 · p. 15
7 Family-Level Clustering
Family-level clustering evaluates the deliverable as a partition rather than as isolated record pairs. Pairwise F1 and exact family recovery do not move together, and the comparison is limited by the small test-family sample and overlapping confidence intervals.
7 Family-Level Clustering
- The evaluation scores connected components over 902 multi-child families using pairwise, B-cubed, and exact-recovery metrics under blocked and oracle candidate conditions.The test comparison covers 181 families; exact-recovery confidence intervals overlap, so neither condition dominates.Source: §7 · p. 15
- Removing blocking raises pairwise F1 from 32.2 to 39.4, but exact family recovery falls from 16.6% to 14.9%.The extra candidates introduce false links that transitive closure propagates into mergers of distinct families.Source: §7 · p. 15
- Pairwise F1 and exact partition recovery are not monotonically related, so optimizing pairwise quality can move the family-level deliverable backward.A pairwise false link can merge two families and corrupt both rollups.Source: §7 · p. 15
8 What Did Not Work
The tested remedies expose limits in the matcher, attribute features, negative sampling, artifact filtering, and candidate generation. Better pairwise scores do not necessarily improve family recovery.
What Did Not Work
- On invisible pairs, the sentence encoder reaches 9.0 F1 versus 8.0 for the best string method, while its overall 78.5 F1 exceeds 76.8.Its visible-stratum score is 64.3 versus 56.3, but both methods reach 98.7 on identical pairs; as a blocker, the encoder reaches 2.89%.Source: §8 · p. 15
- 29.0 F1 is the invisible-stratum majority-class floor, versus 9.0 for the best matcher and 0.0 for the worst.The authors therefore report recall, since no matcher beats the constant-classifier baseline on this stratum.Source: §8 · pp. 15–16
- On attributed pairs, feature sets score 59.5, 57.0, and 61.7 overall F1, but none beats the invisible-stratum 59.4 majority-class floor.Adding attributes to name features raises the overall figure without moving invisible-stratum performance.Source: §8 · p. 16
- Child–child negatives let a supervised model reach 88 F1 on invisible pairs by learning that parents lack addresses, not the family relation.The benchmark therefore matches the role structure of negatives to positives.Source: §8 · p. 16
- Name dissimilarity could not distinguish mislabelled families from real conglomerates, so hand adjudication of 28 families was the only defensible filter.The threshold that caught one suspect family also removed HEICO, TRANSDIGM, and BERKSHIRE HATHAWAY; the unfiltered build is released for auditability.Source: §8 · p. 16
- Scoring every within-split pair raises pairwise F1 from 32.2 to 39.4 but lowers exact family recovery from 16.6% to 14.9%.More candidates improved pairwise scores while worsening the resulting family partitions.Source: §8 · p. 16
9 Discussion
The invisible stratum calls for evidence beyond name similarity, reframing family resolution as retrieval and evidence aggregation. The discussion also argues for stratified evaluation and role-matched negatives.
Discussion
- Because the ownership fact may appear in an SEC filing rather than either name, invisible-pair resolution is framed as retrieval and evidence aggregation.The authors connect this framing to grounded factual verification and note that they did not test whether pretrained models already hold these facts.Source: §9 · p. 16
- Since 93.2% of invisible links never enter the candidate set, a blocker that retrieves ownership filings could raise the ceiling beyond string-based candidate generation.The passage identifies candidate generation, rather than ranking, as the intervention point.Source: §9 · p. 16
- Benchmarks should stratify along the surface-feature axis that makes easy cases easy, and relation benchmarks should match negative pairs to positive role structure.Otherwise, aggregate metrics can conceal near-zero performance on difficult positives or a model’s reliance on object type rather than the relation.Source: §9 · pp. 16–17
10 Limitations
The benchmark’s conclusions are bounded by its US federal contracting data, one-hop parent labels, and uneven validation coverage.
Limitations
- Ground truth covers families visible in US federal contracting in FY2025; multinational structures appear only through their US-registered entities.The data are from a single jurisdiction and fiscal year.Source: §10 · p. 17
- The recorded parent relation is one hop, so the evaluation covers child-to-ultimate-parent linkage, not intermediate holding chains.Source: §10 · p. 17
- Hand adjudication exhaustively covers large families but none of the small ones, and Exhibit 21 corroboration applies only to SEC registrants.Label noise is bounded but real; the multi-attribute baseline also uses a minority subset with attributes on both sides, and the baselines establish a floor rather than the state of the art.Source: §10 · p. 17
11 Conclusion
The conclusion is that aggregate entity-matching scores conceal the central difficulty of corporate-family resolution: most invisible links never reach a matcher. The authors argue that evaluation must report the name-visibility stratum.
Conclusion
- An overall F1 of 76.8 coexists with at most 9.0 on name-invisible pairs, while 93.2% of those links are lost before matching.The conclusion reports that SEC filings corroborate 64.2% of invisible links and that conventional attribute evidence mitigates, but does not resolve, the difficulty.Source: §11 · p. 17
- The paper concludes that aggregate metrics are misleading for this task and calls for reporting performance by name-visibility stratum.The conclusion notes that the commercially important pairs are those current pipelines cannot represent at all.Source: §11 · p. 17
- Corporate-family resolution is presented as a benchmark of self-reported registry data: 54,864 pairs across 10,307 families.Source: §11 · p. 17
Data and Code Availability
The benchmark, adjudicated exclusion list with per-family reasons, and code to rebuild the dataset and reproduce every number are released. The work uses public federal award data and SEC filings, with a seeded, deterministic build.
Data and Code Availability
- The benchmark, adjudicated exclusion list with per-family reasons, and all code required to rebuild the dataset and reproduce every number are released.The build is seeded (20260827) and deterministic.Source: Data and Code Availability · p. 17
- All source data comes from public United States federal award data and SEC EDGAR filings; no confidential or proprietary information was used.Source: Data and Code Availability · p. 17
- Every numeric claim is generated from a results file by make_tables.py and verified by check_manuscript.py, rather than transcribed by hand.Source: Data and Code Availability · p. 17