Why this matters
A brand just won a Costco rotation, and on Tuesday the head of sales calls the analyst: "How are we doing at Costco this week?" The analyst pulls SPINS. Nothing useful. Pulls Circana. Sam's Club and BJ's are right there, but no Costco. Checks the SPINS MULO+ extract. Costco isn't in that one either.
Here's the part that catches people off guard: Costco doesn't report to syndicators. Not SPINS, not Circana, not NielsenIQ. It is the single biggest coverage gap in syndicated CPG data: a retailer somewhere around $250B that runs almost entirely outside the analytical plumbing brand-side teams lean on for every other retailer they sell into.
The rest of the club channel is at least partly covered. Sam's Club and BJ's report to Circana, so you can reach them through Circana's MULO universe and through SPINS' MULO+ extension, which licenses MULO from Circana (see What is MULO). But when a brand-side person says "club," they almost always mean Costco, and Costco is exactly the part you can't get.
So this page is about how brands track Costco anyway: which sources exist, what each one can actually tell you, and the triangulation pattern most Costco brands end up living with.
What's in syndicated data, and what isn't
| Club retailer | In Circana MULO? | In SPINS MULO+? | In SPINS Natural? |
|---|---|---|---|
| Costco | No | No | No |
| Sam's Club | Yes | Yes (via Circana licensing) | No (club isn't natural channel) |
| BJ's | Yes | Yes (via Circana licensing) | No |
The Costco gap is structural, not an oversight. Costco's whole data-sharing model runs through its supplier relationships. Vendors get access to Costco's own analytics through the vendor portal, but that data never flows out to the third-party syndicators brands use everywhere else. So a Costco-active brand lives with a permanent dual track: "how am I doing everywhere else," which is syndicated, and "how am I doing at Costco," which is Costco-direct or nothing.
Where Costco data actually comes from
Four sources, roughly from most accurate to least.
1. Costco's vendor portal and buyer relationship
This is the primary source. Costco feeds vendors their own data through its internal systems (sales by item, by region, by warehouse cluster) on a roughly weekly cadence. A brand sees its performance at warehouse-cluster granularity. Not full warehouse-by-warehouse, but close enough to work with.
What you don't get from it: category competitive context, because Costco doesn't hand vendors competitor detail at a category-share level the way buyer category-review materials usually do at other retailers. You also don't get cross-retailer comparison, because the Costco data sits in its own surface with its own taxonomy and doesn't line up with anything else.
2. Numerator panel projections
Numerator's purchase panel picks up Costco transactions through receipt scanning, then projects them to total US to publish brand-level estimates of Costco performance. For an external, category-level read on Costco, this is the best you'll find.
What it does well: it carries buyer demographics, so you can see who at Costco is buying you. It shows cross-retailer behavior: what else the Costco buyer is putting in their cart elsewhere. And it gives you category-competitive cuts, share of category at Costco against named competitors.
Where it gets soft: it's panel-projected, so brand-level reads hold up well but SKU-week-level cells come with wider confidence intervals. It doesn't see Costco's "Item Number" UPC scheme cleanly, since Costco's package configurations don't always map back to retail UPCs. And the subscription is a real budget line, no way around it.
3. NielsenIQ Homescan panel
NielsenIQ's household panel catches Costco purchases through self-reported scanning. The methodology is close to Numerator's, and the strengths and limits run roughly parallel. The one practical difference: if a brand already uses NIQ for source-of-volume or repeat-rate work, the Costco panel projection comes bundled rather than as a separate subscription.
4. Internal proxies and triangulation
The cheapest tier, what brands fall back on when they have no external Costco surface at all. The brand's own shipment volume to Costco tells you what went into Costco's distribution centers; it's not sales, but over a 4–6 week window it's a decent leading indicator.
Regional sell-through patterns help too: a brand selling at Costco in the Pacific Northwest can hold its WA/OR/BC volume up against its velocity at Fred Meyer, Kroger's PNW banner, for a proxy demand signal. And there's cross-channel extrapolation. If the category is growing 12% in MULO+ and natural while the brand's Costco shipment volume is growing 8%, the brand can reasonably infer Costco performance is tracking with the category. Imprecise, yes. Still better than guessing.
What SPINS coverage tells you about the club channel (excluding Costco)
SPINS' MULO+ extract does carry Sam's Club and BJ's, through the Circana-licensed MULO data, and those reads are real and usable. Sam's Club is the volume leader of the SPINS-covered clubs, so a brand reading "club channel +8%" in SPINS MULO+ is mostly reading Sam's Club. BJ's runs on a narrower footprint, concentrated in the Northeast and Mid-Atlantic, and contributes proportionally less to the club number. Both are useful retailer-level reads on their own terms. Neither is a stand-in for Costco data.
This is where analysts make the single biggest mistake: reading "club channel" in SPINS or Circana MULO+ as though Costco were inside it. It isn't. "Club channel grew +6%" tells you something about Sam's Club and BJ's. It tells you exactly nothing about Costco.
The dual-track reporting pattern
Most brands that take Costco seriously end up living with a permanent dual track:
| Track | Source | Cadence | What it answers |
|---|---|---|---|
| Costco-direct | Costco vendor portal | Weekly | "How are we doing at Costco?" |
| Everywhere else | SPINS Natural / MULO+ + Circana for conventional | Weekly with multi-week lag | "How are we doing in the syndicated retail universe?" |
| Cross-context | Numerator or NIQ panel | Monthly or quarterly | "Who is buying us at Costco, and what else are they buying?" |
This dual track is a permanent state, not a phase you grow out of. Costco data is structurally separate, and the surfaces don't merge, ever. The best a brand can do is keep the two reads side by side and report each one with clear boundaries around it.
Worked example: a snack brand's Costco rotation report
A snack brand wins a 12-week Costco rotation on a 24-count multipack of its hero SKU. Here's the Q1 report:
| Source | Cut | $ | Comment |
|---|---|---|---|
| Costco vendor portal | Brand's multipack sales across Costco regions | $4.2M for the 12 weeks | The primary read |
| SPINS MULO+ | Same brand's hero SKU at Sam's Club + BJ's | $180K for the 12 weeks | Reference point only |
| SPINS Natural | Same brand at Sprouts, Natural Grocers, naturals | $1.8M | Out-of-club but useful baseline |
| Numerator panel | Costco buyer demographics + cross-retailer behavior | 38% of Costco multipack buyers also buy the brand's smaller pack at Whole Foods, Sprouts, or conventional | Strategic context |
Read those rows together and the story comes out. The Costco rotation drove $4.2M in 12 weeks, and that Costco-direct figure is the primary number. Sam's Club and BJ's added $180K, small next to Costco, because the brand isn't pushing the same multipack format there, though the comparison still answers a directional question about whether the multipack form factor lands in club at all.
The cross-retailer behavior is the encouraging part: 38% of Costco buyers also buy the brand elsewhere, which says the Costco volume is mostly additive, not the brand cannibalizing its own other-retailer sales. And the natural-channel baseline of $1.8M puts the magnitude in perspective: Costco's $4.2M is roughly 2.3× the natural-channel volume for the same window.
The report leans on all three sources, names Costco as the primary, and labels the SPINS reads plainly as "everywhere else." Nobody walks away mistaking the SPINS club number for Costco performance.
Tracking rotation entry and exit windows
Costco's rotation model doesn't look like any other major retail relationship. Items cycle in for a defined window, usually 8 to 16 weeks, and then either earn a rebuy or rotate out. The shape of the data during entry and exit windows is genuinely different from steady-state Costco distribution, and the instincts you bring from syndicated data will misread it.
During rotation entry, three things behave differently. Week 1 and 2 dollars carry an initial-stock ramp baked in: Costco's warehouse-stocking model means a Week-1 number is part real consumer pull and part warehouse loading, and per-unit velocity doesn't really settle until Week 3 or 4 once the opening stock has cleared.
Regional onboarding rarely happens all at once, either. A national Costco rotation tends to phase by region, West Coast first, then Mountain and Midwest, then East, so Week-1 dollars reflect partial geographic coverage, and comparing them to a steady-state national run-rate makes the rotation look worse than it is.
And the rebuy decision lands mid-window: Costco's buyers usually commit to a rebuy four to six weeks before the rotation ends, which means the number the brand needs in front of the buyer at decision time is trend-adjusted velocity, not cumulative dollars. The buyer is forecasting sustained performance, not reading a launch curve.
Exit windows have the opposite problem. Final-weeks Costco dollars usually dip as warehouses sell down inventory instead of reordering. Read the last two or three weeks of a rotation as "performance softening" and you've almost certainly mistaken an inventory wind-down for real demand softness.
For brands tracking several rotations across a year, the right unit of analysis is rotation-window-comparable metrics: peak weekly velocity, sustained velocity from Week 4 through Week (end-2), and rebuy attainment rate. Comparing cumulative dollars across rotations of different lengths is just noise.
Anti-patterns
- Reading "club channel" in SPINS or Circana as if it included Costco. It doesn't. Always label the syndicated club read as "Sam's Club + BJ's" or "ex-Costco" to avoid confusion downstream.
- Treating Numerator's Costco read as equivalent to Costco vendor portal data. They measure different things: Numerator is a panel projection; the portal is Costco's own sales record. Use the portal for the level, Numerator for the buyer and category context.
- Reporting Costco results in the syndicated retail report. Costco numbers belong in their own section with explicit boundary. Mixing them with SPINS or Circana numbers in the same row makes the rollup unauditable.
- Assuming Costco shipment ≈ Costco sales week-to-week. Costco manages inventory aggressively; shipment lumpiness around season starts, rotation entries, and out-of-stock cycles can shift reported shipment dramatically from actual sell-through. Shipment-to-sales reconciliation needs a 6–8 week rolling read.
- Forgetting that Costco's Item Numbers don't map to retail UPCs cleanly. A brand SKU might have a different package configuration for Costco than for retail (the 24-count multipack vs. the 6-count retail pack). Triangulating against retail UPC- level SPINS data requires keeping the package-config mapping explicit.
Doing this in Scout
For Costco-active brands, Scout lets you upload the Costco vendor portal exports alongside your SPINS extracts and, where you license it, the Numerator or NIQ Costco-projection data. The dashboard keeps the Costco surface explicitly separate from the SPINS retail surface: "Costco rotation performance" reports against the Costco-direct data, "everywhere else" reports against SPINS, and the syndicated reads carry the ex-Costco labels. Direct API feeds into the Costco vendor portal aren't wired up today; the integration model is upload-driven.
Summary + further reading
- Costco doesn't report to any major CPG syndicator. SPINS' "club channel" coverage through MULO+ is Sam's Club and BJ's, and nothing else.
- The dual-track pattern (Costco vendor portal, plus SPINS for everywhere else, plus a Numerator or NIQ panel for cross-retailer buyer context) is a permanent state, not a phase.
- Always label syndicated club reads as ex-Costco, and put Costco results in their own section with explicit data-source boundaries.
Related: What is SPINS data? · What is MULO, and what SPINS' MULO+ adds · Syndicated vs. panel data