Why ACV-weighted distribution in SPINS is easy to miscalculate
Picture a brand that sells through Sprouts, Natural Grocers, and the long tail of independent natural stores that get product via KeHE and UNFI. The CEO asks what every CEO asks eventually: what's our distribution? So the analyst logs into SPINS, exports three retailer files, and starts adding up ACV numbers.
That's where it goes wrong. Sum the ACV across all three cuts and you can land above 100%, which is impossible on its face. The number is nonsense, but reaching for the sum is the most natural first move, so nearly everyone does it once. Average the three instead and you've traded one error for another: now the retailers that drive most of the channel's all-commodity volume count for no more than the tiny ones.
So neither shortcut works. What you actually want is one ACV-weighted distribution number measured against a single, unified channel denominator. And here's the catch: the way SPINS hands you the data practically nudges you toward doing it wrong.
The ACV-weighted distribution formula
ACV-weighted distribution at the channel (or multi-retailer) level follows the same definition as single-retailer ACV, just with a wider denominator:
ACV % = (sum of all-commodity $ at stores carrying the brand, across all measured stores in the channel) ÷ (sum of all-commodity $ across all measured stores in the channel) × 100
Read that phrase carefully: across all measured stores in the channel. The denominator is every store SPINS measures in the channel, not the union of whatever stores happen to show up in the retailer cuts you pulled.
Five steps get you there:
-
Define the channel boundary before you do anything else. Are you reporting Natural channel, MULO+, Total US Multi-Outlet + Natural, or some custom retailer set? Each one carries a different denominator, and a number without a named channel is a number nobody can defend. Natural brands usually pick one of three: (a) Natural Channel only, the SPINS-defined universe of natural and specialty retailers; (b) the brand's own retailer set built as a custom channel, say, "Sprouts + Natural Grocers
- KeHE/UNFI independents"; or (c) MULO+, the natural channel laid over conventional MULO. The same brand will get a different ACV from each, and the gaps are not small.
-
Pull sales at the channel level, not per retailer. Ask SPINS for the right cut and it computes ACV against the channel denominator for you. Per-retailer pulls compute ACV against the per-retailer denominator instead, and that's the exact thing that springs the addition trap.
-
Sanity-check against the per-retailer pulls. Once you convert to the channel basis, your channel ACV should sit at or below the sum of the weighted per-retailer ACVs, and at or above your single largest per-retailer ACV. Land outside that band and the cut is broken. Concretely: if Sprouts is your biggest retailer at 42% ACV and the channel comes back at 38%, fine, that tracks. If the channel reads 55%, you pulled against the wrong denominator. Go find the mistake.
-
Know which retailers are direct-scan and which are distributor-flow. ACV at a direct-scan retailer like Sprouts and ACV at the independent naturals (estimated from distributor flow) come from different data sources, and they don't carry the same reliability. Rolling them together at the channel level is fine (that's literally what the channel cut does). Presenting them as equally precise is not. Distributor-flow ACV swings harder and reacts more to panel events (see Reading SPINS panel coverage).
-
Write down the channel definition you used. Six months from now, you and the sales team need to reproduce this exactly. "45% ACV" with no channel attached is indefensible in a quarterly review. One sentence does the job: "ACV across the SPINS Natural Channel definition, L12W ending [date]."
The multi-retailer ACV error: why stitching per-retailer pulls fails
Here's the wrong approach written out. It really is the one most analysts reach for first when they don't have a clean channel-level pull in hand:
| Retailer | All-commodity $ (carrying stores) | Total all-commodity $ at retailer | Per-retailer ACV |
|---|---|---|---|
| Sprouts | $300K | $600K | 50% |
| Natural Grocers | $50K | $200K | 25% |
| Independent natural (KeHE/UNFI) | $250K | $1,400K | 18% |
| Other regional naturals | $400K | $800K | 50% |
| Sum naive | $1,000K | $3,000K | 143% (impossible) |
Add up the per-retailer ACVs and you get 143%, which means nothing. The data isn't broken. The problem is that each row's percentage sits on its own denominator — that retailer's slice of the channel — so the four percentages aren't measuring against a common base. You cannot add percentages that ride on different denominators and expect the sum to mean anything.
So compute ACV against the unified channel denominator instead, the $3,000K of total all-commodity dollars across all four retailers:
$1,000K ÷ $3,000K = 33.3% ACV (channel-weighted)
That's the number you can defend. It comes in below the simple average of 35.75%, and the reason is worth understanding: at Natural Grocers and the independent naturals, the stores carrying the brand hold far less all-commodity volume relative to the channel, so they pull the weighted figure down.
The right answer is closer to "let SPINS compute it"
Most of the time, the cleanest move is just to ask SPINS for the channel-level ACV directly: the portal handles custom channel definitions. When you're stitching together a multi-retailer view that doesn't line up with a standard channel, do it this way:
- Pull dollar-level data per retailer (the carrying stores' all-commodity $ and the retailer's total all-commodity $)
- Sum the numerators and the denominators separately, at the channel level
- Divide the summed numbers. Never average the per-retailer ACVs
You sidestep the addition trap and still get whatever custom retailer combination you were after.
Worked example: quarterly executive report
A wellness brand needs a line for the board deck:
"Our distribution in Natural Channel + MULO Sprouts + the independent natural distributors that cover our category is X%."
Step-by-step:
- Channel definition: Sprouts + Natural Grocers + KeHE-UNFI independent natural + regional natural retailers = the brand's relevant universe. Pulled as a custom channel in SPINS.
- Pull total all-commodity $ per retailer for the relevant 12 weeks ending. Sum: $3,000K (matching the table above).
- Pull the carrying stores' all-commodity $ per retailer for the same period. Sum: $1,000K.
- Compute ACV = $1,000K ÷ $3,000K = 33.3%.
- Report: "ACV-weighted distribution across our core natural channel set is 33.3% for the 12 weeks ending [date]. Sprouts and the long tail of regional naturals are the heaviest weighted contributors."
Done. That report holds up because the channel definition is named, the denominator is unified, and the per-retailer detail rides along next to the channel number.
Tracking ACV velocity: how fast is distribution growing?
A single ACV reading tells you where you stand. The change in ACV from one week or period to the next (call it ACV velocity) tells you how fast you're gaining or losing distribution. For a brand that's actively expanding doors, that rate of change usually matters more than the level itself.
Here's a tracking table that works well for a growth-stage brand:
| Period | Channel ACV | Change | New stores (implied) |
|---|---|---|---|
| Q1 2024 | 18% | n/a | Baseline |
| Q2 2024 | 24% | +6 pts | ~35 new doors (assuming $1,800/store/week category rate) |
| Q3 2024 | 31% | +7 pts | ~40 new doors |
| Q4 2024 | 38% | +7 pts | ~40 new doors |
| Q1 2025 | 42% | +4 pts | ~23 new doors, velocity slowing |
| Q2 2025 | 43% | +1 pt | ~6 new doors, approaching ceiling |
Watch what happens to the cadence: +7 points a quarter, then +1. That deceleration is the brand bumping into natural ACV saturation in its current channel. The takeaway for the planning meeting is blunt: distribution expansion has nearly run its course as a growth lever, and the next chapter of growth has to come from either selling faster at the doors you already have or opening a new channel.
One habit to never skip: pair ACV velocity with the change in store count. ACV can drift purely from projection math or a shift in panel composition, with no real distribution change underneath it. Checking it against absolute store count keeps you honest (see Reading SPINS panel coverage).
ACV targets by brand stage
What counts as a good ACV depends entirely on where the brand sits in its distribution lifecycle. Rough natural-channel benchmarks:
| Stage | Typical ACV range | What it means |
|---|---|---|
| Early-stage / test market | 5–15% | Limited regional distribution, national numbers dominated by test markets |
| Growth stage | 15–40% | Active door expansion, filling in natural-channel gaps |
| Established natural brand | 40–70% | Strong natural-channel presence, meaningful white space remains |
| Saturated natural channel | 70–85% | Near-ceiling in natural; incremental ACV gains are expensive |
| Conventional extension | 60–80% Natural + building in MULO | Dual-channel brand, ACV being tracked in two channel universes separately |
Treat those as rough orientation, not goals to hit. A brand at 30% ACV in a specialty supplement category might be the outright leader; the same 30% in snack bars could be mid-pack. What you actually want to know is how your ACV compares to the category leader in your SPINS channel cut. Comparing your absolute number against some abstract stage model tells you nothing.
Anti-patterns in ACV-weighted distribution reporting
Using per-retailer ACV to pitch new distribution. Some brands, walking into a new retailer, wave their ACV at existing retailers around as proof they're a safe bet. "We're at 50% ACV at Sprouts" means something to a Sprouts buyer. "We're at 50% ACV" with no retailer attached means something else entirely. A Whole Foods buyer hears 50% of Whole Foods, which is almost certainly not true. Name the retailer every single time.
Comparing ACV across channels without adjusting the denominator. Say a brand reads 35% Natural Channel ACV and 12% MULO ACV. That does not make it "better at natural than conventional." Those are two different denominators standing for two completely different store universes. Natural Channel ACV is a percent of natural-channel all-commodity volume; MULO ACV is a percent of MULO all-commodity volume. Put the numbers side by side without that context and you're inviting a wrong conclusion.
Reporting ACV without a time stamp. ACV moves week to week as the panel updates. A 52-week ACV from last quarter's report and a 52-week ACV from this quarter's report are not the same figure. The ending week shifted underneath you. Every ACV number needs a period endpoint, like "L12W ending April 26, 2025."
Treating ACV improvement as velocity improvement. Rising ACV means you're in more important stores. It says nothing about how fast the product moves once it's there. A brand that picks up 10 points of ACV by signing a wave of low-velocity independent naturals can easily end up with lower average velocity per door even while the distribution number climbs. So when you present growth, split total dollar growth into its ACV piece and its velocity piece:
Total dollar growth = (ACV change × prior velocity) + (velocity change × current ACV) + (interaction term)
That split is the whole story: it tells you whether the growth came from new doors or from the doors you already had selling better.
What to say when the ACV number gets challenged
"Why is your MULO ACV lower than your Natural Channel ACV?" Because the denominators differ. MULO takes in every conventional grocery, drug, and mass retailer. A brand that lives in the natural channel will always read lower in MULO, not because it has fewer stores, but because the MULO denominator is enormous and stacked with conventional retailers where the brand may have zero distribution.
"Your ACV went up but your sales went down, what happened?" That's the classic new-door quality problem. The doors you added were low-volume accounts with a thin category rate, so they lifted ACV without adding much in actual sales, and velocity at those doors is probably below your brand average too. Run the numbers: if new doors average $22/store/week against $58/store/week at existing doors, the new cohort is dragging the velocity average down even while it props the distribution metric up.
"Why can't I just add up the SPINS ACV numbers I see in the reports?" Because each row's ACV is computed against that row's own retailer denominator. Stack the rows and you're adding apples to oranges. Use the channel-level pull, or sum the carrying stores' all-commodity dollars and the total all-commodity dollars raw and divide once.
Doing this in Scout
Scout shows ACV columns straight from your SPINS extracts at whatever channel cut your team pulled, so the channel-level ACV you see is the figure SPINS computed against the denominator SPINS defined. For ad-hoc multi-retailer combinations that don't match a standard channel, the dollar-sum approach above still holds: sum the carrying stores' all-commodity dollars and the total all-commodity dollars across the relevant retailer columns, then divide. In Scout's table view that's a sum across rows, not a calculation spread over a stack of pivot tables. And the ACV velocity case (ACV plotted over time next to store count) is a standard view in Scout's distribution-trend surface.
Summary + further reading
- ACV is a percentage of a denominator. Add per-retailer ACVs together and the result is meaningless, because each one sits on a different denominator.
- For multi-retailer ACV, work against the unified channel denominator: sum the carrying stores' all-commodity dollars across retailers, sum total all-commodity dollars across retailers, divide once.
- Never report an ACV number without naming the channel. "33.3% ACV in our natural-channel relevant universe, L12W ending [date]" is defensible. "33.3% ACV" on its own is not.
- For a growth-stage brand, ACV velocity often beats the absolute level as the thing to watch. Track it next to store count so you can tell real door gains from panel-composition noise.
- Split dollar growth into an ACV piece and a velocity piece. The two point you toward very different responses.
Related: What is ACV? · Reading SPINS panel coverage