Blog · Coverage and territory · FMCG and CPG brands
How an FMCG or CPG brand sets a SKU list per retail channel, measures range penetration per store against it, and avoids the single most common failure in distribution analytics: a void list that expects a convenience store to stock the family multipack.
The fastest way to lose a field team's trust in a distribution report is to tell them a corner shop is missing the family multipack. It is missing it because it cannot sell it, and everyone in the field knows that. The report is measuring against the wrong list. This guide sets out range penetration by channel and how to define the channel list from the brand's own data.
Per store:
Range penetration = SKUs sold ÷ SKUs on the store's channel list
The channel list is the whole difference. Against the full catalogue, every small store is under-penetrated and the list is noise. Against the channel list, every gap is a conversation the rep can have.
| SKU | Grocery multiples | Convenience | Discounters |
|---|---|---|---|
| Biscuit 200g | 98% | 91% | 88% |
| Biscuit 400g | 94% | 38% | 71% |
| Cracker 150g | 87% | 62% | 44% |
| Family multipack | 76% | 9% | 52% |
At a 50 percent threshold, the convenience list is two SKUs, the discounter list is three, the multiples list is four. A convenience store selling both its SKUs is at full range, and the report says so.
reported sell-out = Σ regions = Σ distributors = Σ stores = Σ SKUs
Two stores, two channels, the same four SKUs.
| Store | Channel | Sold | Channel list | Penetration | Gap value |
|---|---|---|---|---|---|
| S5001 | Convenience | 200g | 200g, Cracker | 50% | $180 |
| S5140 | Multiples | 200g, 400g | 200g, 400g, Cracker, Multipack | 50% | $920 |
Same penetration, very different lists. S5001's one gap is a cracker. S5140's two gaps include the multipack at a store that sells the category at scale. Against a single catalogue list, S5001 would have shown three gaps, two of them absurd, and the rep would have skipped the store.
Channel from the distributor's account type. Distributors classify stores for their own purposes. Use the brand's channel definition, on the brand's store master.
Threshold too low. At 30 percent, the convenience list gains SKUs that most convenience stores do not stock, and the gaps return. Half is the honest default.
Launches missing. A new SKU never reaches half of any channel in its first quarter. The override exists for it, labelled.
Channel lists frozen. Ranges change with seasons and listings. Recompute quarterly and keep the history.
Mapped once, the sell-out files and the store master produce penetration per store against its channel list, gaps valued and ranked, every month, reconciled to reported sell-out. Covirage builds this from the files as they are. The FMCG and CPG page describes the setup, and the distribution voids guide covers the grid this sits on.
From your own sell-out data: for each channel, the SKUs sold by more than half the stores in that channel. That is the channel's core range. The trade marketing team can add a launch SKU as a labelled override.
It will show gaps it cannot fill or a range it should not have. The field marks it, the store master is corrected, and the next month's report is right. The report is how the channel data gets fixed.
As many as the trade team plans against: grocery multiples, convenience, discounters, cash and carry, on-trade, and so on. Too few and the lists are wrong; too many and the bands are too small to define a range.