On one patch of Los Angeles, the question “how many grocery competitors are here?” has four defensible public answers. A nine-store brand holds 8.0%, 2.8% or 2.1% depending only on which one you were handed.
The gap is almost never a data-quality problem. It is two people dividing by two different denominators — and neither of them wrote it down.
Which outlets are “the market”? Supermarkets only? Plus convenience? Anchors only?
A 3-mile ring? A 10-minute drive? The ground you are simply closest to?
Households? Spend? Whose spend, at what published rate?
| Register | Rule | Outlets | A 9-store brand holds |
|---|---|---|---|
| OpenStreetMap | shop=supermarket | 113 | 8.0% |
| SafeGraph / Cal OES | naics_code = '445110' | 323 | 2.8% |
| SafeGraph / Cal OES | naics_code LIKE '4451%' | 433 | 2.1% |
| Cal OES Big Box | anchors only | 35 | higher still |
And it is not a grocery quirk. The same disagreement appears in every category we tested — on the identical patch of ground:
| Category | Narrowest register | Widest | Disagreement |
|---|---|---|---|
| Grocery | 35 | 433 | 12.4× |
| Restaurants | 664 | 2,985 | 4.5× |
| Fuel | 173 | 402 | 2.3× |
outlets · OSM supermarkets (shop=supermarket) · 3-mile ring · 306 tracts
The fraction is the interface. Its numerator and denominator are live, named and clickable. Above it sits a bench of the three choices that construct it. Below it sits every other defensible answer to the same question.
Hover a tick to preview that reading. Click it to adopt it. The map repaints, the brand table re-ranks, the derivation rewrites itself and the URL updates — so the reading is cited as a link, not a screenshot. ← → step through them in share order: one keypress per defensible answer.
A printed derivation names the register, the rule, the vintage, the field and the multiplier — and is asserted to quote the same figures as the headline.
The CSV export writes the register, catchment and multiplier into the file. A CSV that loses its denominator is the artefact we argue against.
Designate any brand as “ours” and the whole app rebuilds from it — including discarding drive times measured from the old outlets. Switch category: grocery, restaurants or fuel.
| Not computed | Why not |
|---|---|
| A Huff / gravity forecast | Its attractiveness term would have to be invented here. Every catchment we ship is a stated distance, a measured drive time, or a parameter-free proximity comparison. |
| Foot traffic | The only open visit data in California covers 19 April – 9 May 2020 — the lockdown trough. Every such column is quarantined and never reaches a screen. |
| Leakage / surplus | The supply-side ground truth is 403-blocked server-side, and is reported by permit-holder city, not store location. |
| Your capture and gap | They need your sales file. Without it the app reports position only, greys the rows, and says so. |
It even argues with itself. The parameter-free “closer to us” catchment reads 66.7% against 15.6% for a 3-mile ring on the same day — because it is defined as the ground you already win. The app prints an amber caution on that number telling you not to quote it as market share.
Of 2,340 public ArcGIS services catalogued statewide, five are outlet registers — and three of those are slices of a single 2020 file. There is no second opinion inside the state's own holdings.
api.census.gov now returns a “Missing Key” page. County Business Patterns went with it — the one public establishment count that could have settled which register is right. That gap is why we report a spread instead of picking a winner.
One register is 2,985 outlets; the service silently returns exactly 2,000. A truncated denominator inflates your share. Found, paged, and pinned with a regression assertion.
200+ assertions across two suites — 145 of them deterministic, the rest run against the live services on every pass. A claim that is not re-checked is just a memory.
A foot-traffic panel. A POI file. A measurement panel. A segmentation. Their commercial interest is in the answer being theirs — not in the answer being bounded.
None of them can show you the number under a rival's register without undermining the product. We can print all four, because we are not selling any of them.
We will show you what it becomes under the other defensible definitions — and hand you the derivation, the spread, and the file with its denominator written into it.
A market. A category. Optionally your store list and sales.
The share under every defensible definition, and the spread between them.
The app. MIT, on your own infrastructure, no licence.