Blog · Coverage and territory · FMCG and CPG brands
How an FMCG or CPG brand finds the stores that carry the category but not its SKUs from the sell-out files distributors already send: the store-by-SKU grid, the channel-specific range, the valued void list per region and distributor, and the reconciliation to reported sell-out.
A brand's biggest growth opportunity is usually not a new store. It is the store that already sells the category, already buys three of the brand's nine SKUs, and has never been offered the other six. Distributor sell-out data contains every one of those stores. This guide shows how to find them, value them and hand them to the field.
For a store and a SKU in a period:
Void = the store sold the category (any of your SKUs, or a category flag) and did not sell this SKU
Range penetration is the same thing from the store's side:
Range = SKUs sold in the store ÷ SKUs on the list for the store's channel
The channel qualifier matters. A convenience store is not expected to stock the family multipack, and a void list that says it should is one the field team will stop reading.
reported sell-out = Σ regions = Σ distributors = Σ stores = Σ SKUs
The last equality, by SKU, is the one that catches a SKU code changed by one distributor after a pack change.
One distributor, one region, a convenience channel list of five SKUs, August.
| Store | 200g | 400g | Cracker | Mini | Twin | Range | Void value |
|---|---|---|---|---|---|---|---|
| S5000 | ✓ | ✓ | ✓ | – | – | 60% | $210 |
| S5001 | ✓ | – | – | – | – | 20% | $460 |
| S5002 | ✓ | ✓ | ✓ | ✓ | ✓ | 100% | $0 |
| S5003 | – | ✓ | – | – | – | 20% | $480 |
Two stores at 20 percent range, each worth more than $450 a month at their own rate for the SKUs they stock. Across a region of 400 stores, the voids at that value are a field plan, and the plan is ranked before anyone opens a spreadsheet.
One SKU list for every channel. Every small store shows voids it could never fill and the list is discredited in a week. Build the list per channel, and let the field mark a void as not applicable with a reason.
SKU codes drift. A pack change gives the same product a new code at one distributor and not another. The by-SKU assertion fails, and the mapping table gets a new row. Without the assertion the old code quietly reads as delisted.
Stores counted twice. A store served by two distributors appears twice in the grid with different partial ranges. Merge on the store identifier, not on the distributor's account number.
Sell-in confused with sell-out. Shipments to the distributor are not sales to stores. A void list built on sell-in shows what the distributor holds, not what the shelf holds.
Mapped once per distributor, the monthly files produce the grid, the voids, the values and the reconciliation, and each regional manager gets the ranked list for their distributors. Covirage does this on the sell-out files as they arrive. The FMCG and CPG page describes it, and you can upload a sample sell-out file and see the grid on your own rows.
No. Market share is your sales as a proportion of the whole category across all brands, which needs a retail audit. A distribution void is measured entirely from your own sell-out data: the stores that buy some of your range and not the rest. It is the number your field team can act on this week.
They always do. Each distributor's file is mapped once to the same columns, store, SKU, units, value, period, and the mapping is reused. The reconciliation then checks that the distributors' files sum to the sell-out total the brand reports.
At the store's average rate for SKUs of the same type that it does stock, or at the channel average where the store stocks none. State the basis on the list. A valued list ranks itself; an unvalued one is just long.