Costco vs. BJ's: the U.S. warehouse-club duopoly map

Costco operates 620 U.S. stores reaching 214M Americans (64.0%) at a 30-min drive. Trade-area overlap with BJ's Wholesale Club (283 stores): 36.0%. All numbers below pulled from the live platform API at 2026-05-14 17:05:40 UTC.

Narrative Geo platform view
Narrative Geo platform view (illustrative). All numbers in this post sourced from the platform's live API at 2026-05-14 17:05:40 UTC.

Costco operates 620 U.S. stores. At a 30-minute drive radius the network reaches 214M Americans — 64.0% of the U.S. population. Average household income of the reached population: $101,956. Median age: 37.9. Working-age population reached: 133M (62.1% of total reach).

620
U.S. Stores
214M
Pop. Reached, 30-min
64.0%
National Coverage
$102.0K
Avg HH Income Reached

Demographic mix of reached population

Age cohort breakdown of the 214M-person trade area at 30-min drive. Numbers are absolute population counts from /api/trade-area.

Trade-area overlap with BJ's Wholesale Club

Costco: 620 U.S. stores reaching 214M Americans. BJ's Wholesale Club: 283 U.S. stores reaching 102M. Pairwise overlap computed at 30-min drive isochrone, H3 resolution 7.

36.0%
Overlap (Union %)
83.9M
Both Chains Reach
130M
Costco-only
18.5M
BJ's Wholesale Club-only

Union of reachable population: 233M (69.5% of U.S.).
Both-chains reach: 83.9M — 36.0% of union.
Costco-only reach: 130M — population within 30 min of Costco but NOT BJ's Wholesale Club.
BJ's Wholesale Club-only reach: 18.5M — population within 30 min of BJ's Wholesale Club but NOT Costco.

Quick read

Higher overlap percentage = the two networks compete more directly for the same trade-area population. 36.0% overlap means roughly 36.0% of the jointly-reachable U.S. population can shop either chain within 30 min, which sets the upper bound on customer-share competition between the two.

Methodology

Drive-time matrix. 1.083B routed pairs (origin H3 cell × destination H3 cell × 5/10/15/30/60-min drive). Built on OpenStreetMap U.S. extract via OSRM contraction-hierarchy.

Demographics. U.S. Census ACS 2023 5-year, block-group level, projected onto 12.86M H3 res-8 cells via overlap-weighted area apportionment.

Overlap. overlap_pct = both_pop / union_pop. Computed cell-by-cell with set operations; no smoothing.

What this post does NOT include. Named-MSA whitespace candidates (the platform's whitespace endpoint returns H3 cells with lat/lng, not MSA names). Store-to-store cannibalization inside a single chain (the platform only computes overlap between two distinct chains, not between sibling stores of one brand). Forward-looking unit-growth projections (these come from management guidance, not the platform).

Want this analysis on your name?

15 minutes on the calendar — or send the ticker and the custom PDF lands in your inbox by end of next business day. Free.

Book a 15-min demo Next post: Walmart →