Market › Methodology

How Cobroker counts store growth

Every growth figure on a Cobroker brand page is counted from store openings verified one at a time. This page sets out how that counting works, which figures we refuse to publish and why, and the number this method was built to replace.

What counts as an opening

A location is counted as an opening only when two things are both true of its record in the places index behind /market:

  • the record was absent from the previous quarterly observation of the index, and
  • the record's own creation date falls inside that observation's window.

Both gates, always, and neither is any use on its own. In a dataset whose overall coverage is shrinking, a record appearing for the first time is as likely to be a backfill as a new store. And a creation date is a stamp the index put on a record, not a stamp a chain put on a door, so a date inside the window is corroboration rather than proof.

Every pace the product ranks and prints is derived from that count and nothing else. A brand's openings in a step are divided by the step's real length in days and multiplied by 91, giving new locations per quarter. It is an absolute count with no denominator, which is the entire point — see the next section for what happens when there is one.

The number this replaced, and how wrong it was

Until August 2026 growth on /market was a quarter-over-quarter difference in a raw count: how many rows the index held for a brand this quarter against how many it held last quarter. An audit of ten brands against the chains' own sources — store locators, franchise disclosure documents, press releases — graded eight of the ten published rows wrong.

The failure is structural, not an arithmetic bug anyone could patch. The index's US coverage moved from roughly 20.5 million rows to roughly 7.4 million across this window, and it did not move evenly from brand to brand. An index finishing its coverage of a chain that was fully built out in 2019 is arithmetically indistinguishable from that chain opening stores.

7 Brew: we published +932%. The real figure is about +161%.

Counted by differencing index rows, 7 Brew's US count went from 76 to 784 across the window, and /market published the +932% that implies. Counted from openings verified one at a time — 481 of them, checked by hand against the chain's own store locator — the audit put real growth near +161%. The published figure was wrong by a factor of six, and the reason is the starting number: 76 was never a count of 7 Brew stands. It was a count of how many the index had got to.

The part worth knowing is what our own quality filter said about it. That filter scores lumpiness: it asks whether one quarter carries the whole rise, because that is what an indexing artifact looks like. A coverage ramp is smooth, so 7 Brew scored a perfect 1.0 on it. The filter did not fail to catch the error. It endorsed it, enthusiastically, and it was structurally incapable of doing anything else.

That is why the rates are no longer derived from counts at all. An absolute pace cannot be corrupted by a denominator that is climbing for reasons unrelated to the brand, because it has no denominator. Percentages still appear where they can be stood behind, and are withheld where they cannot — see below.

Vintages, and what “as of Q3 2026” means

The index is observed on a schedule, not streamed. Each observation is a vintage: a snapshot of what the index held for every brand on one date. Openings are the difference between two adjacent vintages, subject to the double gate above.

The spacing is irregular, and that matters more than it sounds. Two observations in this window sit fourteen days apart; others are as far apart as 113 days. So a raw step count cannot be compared to another raw step count — thirty openings over fourteen days and thirty over 113 days are opposite stories — and every pace is normalised to 91 days before it is printed, ranked or compared. Two observations further apart than any real interval are treated as a gap in the record rather than as one long quarter, and no rate is published across them.

The build these pages are served from covers eight observations, from 19 November 2024 through 9 July 2026.

So “784 US locations as of Q3 2026” means: that is what the index held for the brand on that quarter's observation date. Not today, and not last week. Between vintages the figure does not move, and a store that opened yesterday is not in it. Every figure on a brand page carries the quarter it was observed in, and the quarter is part of the fact.

What we withhold, and why

A withheld number is not a missing number. Where a figure cannot be stood behind, the clause carrying it is dropped from the page, from the search-result description and from every machine-readable surface: no dash, no “N/A”, no estimate standing in for it. Four gates do the dropping, and a brand can fail more than one.

Department-inflated counts

Some brands' records count the departments inside a store as separate locations. Costco's rollup holds 3,190 US records. Only 658 of them carry the warehouse category the brand itself is filed under, against the 641 US warehouses stated in the company's own 5 August 2026 sales release — so the store records are accurate to about 1.03x and the index is not wrong about Costco's footprint. The other roughly 2,500 records are fuel stations, food courts, pharmacies, eyecare counters, tire bays, car washes and parking lots, each counted as a location and each counted as an opening when the index adds one. Of the 294 verified openings that produces, roughly 45 are new warehouses.

The same signature appears on Sam's Club (about 5,171 records against roughly 600 clubs), on Walmart (29,599 records, 4,573 on the brand's own category), and on Tesla, whose records are overwhelmingly charging stations rather than stores. For these brands the record count is still published, because it is real — but it is labelled as index records rather than locations, and the growth percentage and the openings figure are dropped entirely. They are also excluded from every ranking: a company whose “locations” are departments is not being measured as a chain of stores, so its rate is not comparable to one that is.

Implausible openings

A chain cannot open more stores inside the observation window than it has ever had. Hunt Brothers Pizza carried 3,098 verified openings against a peak of 764 locations — and 1,102 of those records share a single creation date, which is a bulk delivery, not a build-out. The double gate is mechanical: it can tell a first-appearing, in-window record from an old one, and it cannot tell a vendor loading a batch of records from a chain opening stores. Where the openings total exceeds the brand's own peak count, the figure is withheld rather than reworded.

Two related tests withhold the same figure. One catches record sets that are overwhelmingly bulk deliveries — measured as more than three quarters of the brand's openings arriving on index-wide ingest days or in the concentrated top days of a single step. The other catches an openings total several times larger than the chain's own net change over the window, on a chain big enough for that comparison to mean something: a chain of several thousand stores does not open hundreds and close almost as many inside twenty months, so those records are backfill.

Unreliable rates

A percentage needs a denominator someone can stand behind, and a brand whose coverage in the index is still maturing does not have one: the store count being divided by is itself climbing for reasons that have nothing to do with the brand. That is exactly how +932% happened. Percentages are therefore gated per brand and default to withheld — a row that has not been cleared does not print one, and neither an unscored row nor an old record counts as cleared.

The absolute pace is not gated this way, and the asymmetry is the design rather than an inconsistency. An opening count needs no denominator, so it survives a maturing index intact. Where the percentage is withheld the page says so in place, beside the counts it is still standing behind, rather than leaving a blank for a reader to fill in.

The credibility predicate

Before a brand appears in a default ranking, its raw count movement has to look like a build-out rather than an indexing event. Three conditions, all required: at most 70% of the total rise may land in any single quarter, the count must have risen in at least 85% of the quarters, and the net change across the window must be positive. On the eight-vintage build this was calibrated against, 1,308 of 10,415 companies passed.

max_step_share <= 0.7 AND monotonic_frac >= 0.85 AND net_new > 0

It is what keeps out a row like CalAtlantic Homes, which scored +332% growth with the entire rise inside one quarter, having been absorbed into Lennar in 2018. It is also, as 7 Brew demonstrates, nowhere near sufficient on its own — which is why it is one of four gates rather than the gate.

What we do not treat as a chain

Every row in the corpus is classified before it is allowed near a ranking. Measured on 25 August 2026: 9,783 chains, 462 collisions, 348 embedded concepts and 95 delivery-only brands.

A collision is one domain that resolves to more than one unrelated operator — in practice, a generic word the index aggregated as though it were a company. Lucky arrives as a single brand with 7,167 locations. So do Blues, Opera, Buddha and Wooden. None of them is a chain, and every one of them would outrank real chains on size alone.

An embeddedconcept operates inside somebody else's store — a counter in a convenience store, a menu run out of another restaurant's kitchen. Its openings are its host's openings, so it cannot be ranked against a chain that signs its own leases. A delivery-only brand has no leasable real estate at all.

All three classes are excluded from every ranking, every category list and every link surface on /market. Their pages still resolve, so nothing that used to work now 404s — we simply stop pointing at them and stop computing ranked figures over them. The exclusion is written as a negative test (drop the three known-bad classes) rather than a positive one (keep only chains), so a row the classifier has not reached yet stays visible instead of vanishing from the whole site the moment a new vintage lands ahead of the classifier.

What Cobroker does not claim

  • Not a census.This is what one places index held on a set of observation dates. It is not every store trading in the United States, and a brand's absence from it is not evidence the brand is absent from a market.
  • Not real time. No figure here describes today. Every figure describes its vintage, and the vintage is stated next to it.
  • Not closures. Verified openings measure openings. A falling store count is a falling record count, which may be a closure, a de-listing or coverage moving, and we do not publish it as a closure.
  • Not intent. Nothing here is a signed lease, a letter of intent or a disclosed pipeline. It says where a brand has opened. Where a brand should open next is a separate product with a separate method.
  • Not an endorsement of any single row. A brand page exists because the index holds a row for that brand. It does not mean the row cleared the gates above; where it did not, the page says so in place of the number.
  • No estimates, ever.A value that was not counted is not printed. There is no interpolated figure, no modelled fill, no “reasonable estimate” and no placeholder standing in for one anywhere in this corpus.

One arithmetic mistake to avoid

A state page reports openings that happened inside that state. Every other figure on the same brand — total locations, net change, growth, pace — is national. They are not two views of one quantity, and neither may be divided by the other. A brand's Georgia openings over its national store count is not a share of anything, and the number it produces is not a fact about that brand in Georgia.

This is worth stating because the two numbers sit near each other on the page, are both counts, and look divisible. They are not.

Citing a figure from Cobroker

Quote the brand's page URL and the vintage the figure is stamped with. The same page will carry a different number one vintage later, so a figure without its quarter is a figure that will silently go wrong. Where a page withholds a figure, the withholding is the fact — there is no more precise number being held back, and no version of the page that has one.

Start here: the growth index, browse by category or browse by state, by metro area, by city or run a free site selection report.

Cobroker does the site-selection work end to end: give us the brand and the requirements, and we hand back the markets, the search areas and the specific parcels — with the research behind each one.

Site selection

  • Site Selection ProjectBrand DNA, top markets, ranked search areas and scored parcels, in one project.
  • Neighborhood monitorsA standing watch on the areas you picked, so new listings surface as they appear.
  • Client deliverablesA report, a presentation deck and a video brief, produced from the same project.

Free to use

  • MarketWhich US retail chains are opening stores fastest, by category and by state.
  • Find Your Next DealScreen the country for the areas where one brand should open next.
  • Property reportsHand it an address: which brands fit the site, and who owns it.

For teams

  • Property agentAn AI analyst inside the project that works your property data with you.
  • Enterprise modulesCustom tools built into your workspace for one portfolio's workflow.
  • Your projectsEverything you have run, in one workspace.
© 2026 CobrokerPrivacy