Every site-selection platform sells you a score. None of them sells you the stability of that score. This one shows what the number is made of, and exactly how far your own assumptions would have to move before a different site wins.
It argues about the weights. How much is traffic worth against household income? Does a fourth competitor matter more than 4,000 extra households?
Today that argument ends the same way every time: an analyst goes away, re-runs the model overnight, and comes back with a second number. Nobody in the room can see which assumption moved it, or how close the call was.
The market's own comparison literature names the three axes on which these platforms differ: scoring transparency, data depth, and who can actually run the analysis. Transparency is top of that list — and it is structurally the hardest thing for a licensed black box to sell.
"Why is this 78 and not 71, and what would make site B win?" is the question the room actually asks. It is the one question the tooling cannot answer.
This is not a suspicion — it is the documented failure mode of the field's gold-standard method. The Huff model (1963) assigns every household a probability of shopping at each competing store. It is what makes honest cannibalisation and white-space work possible.
Its weakness is the trade area you feed it. Ring, drive-time, gravity and customer-derived boundaries each distort demand in a different direction — and the choice between them is made once, early, usually by whoever set up the template.
The trade-area definition, not the data, drives the conclusion. One unexamined assumption, quietly deciding everything downstream.
If the assumption is what decides the answer, then the assumption belongs in the navigation — not buried in a settings panel.
Make every weight a visible dial. Decompose every score into what each criterion contributed. And between any two sites, state the smallest single change that would reverse them.
That number is the product.
Every row breaks its score into the five weighted criterion contributions — you can see the bar is made of demand, spending power, traffic, competition and access.
Between adjacent rows sits the flip margin: the gap in points, and the single smallest weight change that reverses that pair. Under 8 points it is marked FRAGILE — treat those two sites as tied on this evidence.
Drag any weight and the whole slate re-sorts live. The committee's argument happens on screen, not overnight.
So we verified it, against live data, in both directions. The regression suite takes the shipped functions straight out of the app and drives the whole loop over five real candidate sites.
And a ROBUST verdict holds: more than doubling the competition weight (20 → 45) left the order intact — exactly as the app predicted before anything was touched.
9,107 tracts, 164 Esri-enriched fields — households, disposable income, a nine-bucket income distribution, and five-year projections.
82,905 retail POI with real NAICS codes and brands. 13,363 in grocery alone.
13,919 Caltrans count rows — about 6,960 real stations once de-duplicated.
20,558 High Quality Transit Areas and 48,662 stops — the layer that decides AB 2097 parking relief.
All CORS-open, no API key, no subscription. The catalogue behind the app indexes 2,339 California services, 321 role-tagged across 11 siting roles.
California also makes siting statutory: AB 2097 removes parking minimums within ½ mile of a major transit stop, while AB 2011 and SB 6 turn the same commercial pad into a by-right housing site. The retail parcel you are evaluating has a competing use with a legal fast lane.
Sort them and the statewide maximum comes back as 99,000. The true peak is 335,000 on I-805. A numeric filter doesn't just mis-sort — it errors outright.
Byte-identical duplicate rows at the same postmile. Any "stations near this site" figure is exactly double unless you key on route + postmile.
The visit columns on California's retail POI layer cover 19 April – 9 May 2020. They measure the pandemic trough, not the market. We bind the geometry and NAICS, and quarantine every visit column.
At our anchor site, 17 of 34 contributing tracts straddle the boundary. Counting them whole overstates households by +35.1% — larger than most of the gaps the ranking turns on.
Each of these is reproduced as a live assertion in the test suite, so the app cannot silently regress into any of them.
The industry's headline metric is the leakage/surplus factor — demand against supply, +100 to −100, per NAICS group. We do not compute it, and that is a decision rather than a gap.
Its supply side needs actual retail receipts. California's only public source reports them by the permit holder's city, not the store's location — headquarters and online sellers distort city totals, small cities are suppressed, and the categories aren't NAICS.
Modelling that and calling it leakage would fabricate the one number a committee would act on. So the app says so, on screen, in the packet, and in the splash.
Every number the app does print carries its source and its vintage — and the whole weighting travels in the URL, so a packet is reproducible from its link.
| The category today | The Swing Slate | |
|---|---|---|
| Suitability scoring | Weighted criteria including income and traffic — the workflow is right | Same workflow, on keyless open data, with the arithmetic shown |
| Confidence | A score. Re-run the model to test an assumption | The flip margin, live, for every adjacent pair |
| Who can run it | An analyst or a GIS department | A two-person real-estate team |
| Open · expand · close | Expansion is the product; closure rarely is | The same score over your own estate, sorted worst-first |
| Deployment | SaaS, licensed data, per-seat | MIT, on-prem or sovereign, runs on Strata or ArcGIS |
A retailer who already owns Business Analyst should push its Retail MarketPlace numbers into this app as extra criteria — the criterion list is data-driven, not hard-coded. We can show the arithmetic because we have nothing proprietary to protect inside it.
Built by describing it — no code written by hand. The same recipe re-targets to any market with a census, a road network and a POI layer.