Tony Wang9 min readWe Measured Ownership in 30 Industries. In Some, the Data Simply Can't See It.
Across 30 studies one method produced a 70x range in how visible ownership is. Six mechanisms decide whether you can see it at all.
Thirty studies into mapping who owns American business from listing data, the most useful finding is not about any one industry. It is that the same method, applied the same way, produces wildly different visibility depending on the industry — and that the differences are systematic and explainable.
The spectrum
| Category | Unique domains per 100 records | Largest single domain | Largest grouped owner |
|---|---|---|---|
| Dollar stores | 4.0 | 50.0% (Dollar General) | 50.0% — top three total 100% |
| Pawn shops | 59.0 | 20.0% (FirstCash) | 20.0% FirstCash / 18.0% EZPAWN |
| Urgent care | 63.5 | 6.0% (CareNow) | 18.0% private equity / 18.0% hospital systems |
| Physical therapy (therapist) | 80.5 | 4.5% (McFarland Clinic) | health systems lead |
| Eye care centers | 83.0 | 10.0% (MyEyeDr) | 10.0% (Goldman Sachs) |
| Physical therapy (clinic) | 83.0 | 4.0% (Select PT) | 6.0% (Select Medical, 8 brands) |
| Optometrists | 84.0 | 5.5% (LensCrafters) | 10.5% (EssilorLuxottica, 3 brands) |
| Veterinarians | 92.0 | 3.0% (VCA or Banfield) | 6.5% (Mars, 3 brands) |
| Dentists | 96.0 | 3.0% (Aspen Dental) | 3.0% — largest DSO invisible |
| HVAC contractors | 97.0 | 1.5% | essentially undetectable |
| Plumbers | 99.0 | 2.0% (Roto-Rooter) | essentially undetectable |
The two columns on the right matter as much as the spectrum itself. Reporting only the largest single domain understates concentration wherever an owner runs multiple brands — which is most of the interesting cases. Veterinary care looks like a 3.0% industry until you group Mars' VCA, Banfield and Antech and get 6.5%. Eye care looks like 5.5% until you group EssilorLuxottica's LensCrafters, Target Optical and Pearle Vision and get 10.5%.
Six mechanisms that hide ownership
Each of these was found by a specific study, and each defeats a different part of the method.
| Mechanism | What happens | Found in |
|---|---|---|
| Name and website preserved | The acquirer changes nothing about the listing. No shared domain exists to classify on, at any sample size. | Dental (first), later confirmed in HVAC/plumbing |
| Franchisee-owned domains | A visibly branded chain fragments because franchisees buy their own sites — ~7 domains across 30 sampled Mr. Rooter locations. | HVAC/plumbing |
| Per-practitioner listings | A facility category is inflated by one listing per provider. 50% of a sampled state's urgent care listings were individual physicians. | Urgent care |
| Per-service listings | One location generates several listings for its in-store services — ATM, photo, print, testing. | Pharmacy |
| Sibling-category composition | Two same-sized categories for one field contain different populations and give opposite answers. | Physical therapy, then eye care |
| Closure lag | Listings outlive the businesses. A chain with zero open stores still returns ~1,130 live-looking listings. | Pharmacy |
The dental study reached the first of these before we understood how general it was, concluding that the industry's largest DSO left "no shared domain for a sample-based method like ours to ever catch, no matter how large the sample." That framing turned out to describe an entire class of industries, not one company's quirk.
Three ways a brand query goes wrong
Separate from ownership visibility, the text search itself fails in three distinct ways, each needing a different defense.
| Type | Example | Defense |
|---|---|---|
| Generic word | "Pawn" matches 71.5% of pawn shops; "Urgent" 71.6% of urgent care; "Tax" 99.97% of tax prep | Check what the bare word returns; drop it and query the distinctive remainder |
| Description-field | "Burger" matches the category's auto-generated description text, not just names | Inspect the description field, not only the name field |
| Brand-on-brand | "Sunglass Hut" returns Pizza Hut; "America's Best" returns Value Inn hotels; "Rite Aid" returns hearing-aid stores | Category-facet every brand query — the colliding token belongs to another real brand, so dropping it is not an option |
What we would tell someone starting this work
- Never trust a single category. Run a category facet on the brand first. Two same-sized siblings can contain opposite populations.
- Never trust a bare brand query. Check the generic word, the description field, and whether another real brand collides with it.
- Group domains by parent before reporting share. The largest single domain systematically understates concentration.
- Ask what a listing represents — a place, a person, or a service. The answer changes what a count means.
- Treat a fragmented result as a question, not an answer. High domain counts are compatible with heavy consolidation.
- Do not measure decline with listing data without accounting for closure lag.
How we did this, and the caveats
| What | Detail |
|---|---|
| Spectrum table | Recomputed for this post from raw saved samples; nine categories cross-checked against their published figures and all matched |
| Sample method | has_website=true, sort=updated_at_desc, 100-200 records per category, classified by website domain |
| Grouped-owner column | Domains mapped to parent companies using public ownership disclosures |
| Mechanism attributions | Each traced to the study that first identified it |
| External figures | PE acquisition counts, chain store counts and ownership structures from company filings and trade reporting |
Caveats worth stating plainly: every percentage here is sample-relative, from recency-sorted samples of 100-200 records, and none is a national extrapolation — the spectrum is meant to compare categories measured identically, not to state each industry's true concentration. Sample sizes differ (100 for some categories, 200 for others), so small differences between adjacent rows should not be over-read. The grouped-owner column depends on ownership research that is current as of writing and changes with every acquisition. "Essentially undetectable" is a statement about this method, not a claim that those industries lack consolidation — the external evidence says the opposite. And as with every study on this dataset: it's live-growing, so a re-pull months from now may shift these figures.
If you want to run your own ownership analysis on this data, that's exactly what Crawlora's Google Maps business API is for — the same structured-data approach behind every study referenced here.
Query 132M+ Google Maps business listings directly
Crawlora's Google Maps dataset turns business listings into structured, queryable JSON — filter and facet by category, country, state, county, city, rating, and website status. 2,000 free credits a month, no card.
Frequently asked questions
Why does business ownership show up clearly in some industries and not others?
Six distinct mechanisms determine visibility: acquirers preserving both the acquired company's name and its website, franchisee-owned domains fragmenting a branded chain, per-practitioner listings inflating a facility category, per-service listings splitting one location into several entries, sibling categories containing compositionally different populations, and closure lag leaving dead businesses listed. Each defeats a different part of domain-classification analysis.
Does a fragmented-looking industry mean it isn't consolidated?
No, and this is the most important caveat. HVAC and plumbing show 97 and 99 unique domains per 100 sampled records — near-total apparent fragmentation — yet private equity has acquired roughly 800 HVAC, plumbing and electrical companies since 2022 across 27 active roll-up platforms. The data isn't measuring an absence of consolidation; it's failing to see one that is definitely happening.
Should I report the largest single domain or group brands by parent company?
Group by parent. Reporting only the largest single domain systematically understates concentration wherever one owner runs multiple brands. Veterinary care reads as 3.0% by largest domain but 6.5% once Mars' VCA, Banfield and Antech are grouped; eye care reads as 5.5% but 10.5% once EssilorLuxottica's LensCrafters, Target Optical and Pearle Vision are grouped.
When does summing sibling categories work, and when does it fail?
It works when siblings are partial slices of the same population — summing Athletico across five categories gives about 928 listings against a stated 900+ locations, versus just 181 from a single category. It fails when siblings are different services at the same location: CVS spans pharmacy, crypto_atm, passport_photo_processor, money_transfer_service, atm and print_shop, summing to roughly 36,000 listings for a chain with about 9,000 stores. Before summing, check whether the categories describe the same kind of entity.
What are the three ways a brand-name search goes wrong?
Generic-word contamination, where a common word swallows the query ("Pawn" matches 71.5% of pawn shops, "Tax" 99.97% of tax prep); description-field contamination, where the colliding word sits in auto-generated description text rather than business names; and brand-on-brand collision, where a real brand name collides with a different real brand ("Sunglass Hut" returning Pizza Hut, "Rite Aid" returning hearing-aid stores). The third can't be fixed by dropping the token, because it belongs to another company's brand.