Blog · Wallet share and penetration · Foodservice distributors
How a foodservice distributor estimates each kitchen's expected category basket from its menu type and covers rather than from the segment average: the basket norm per menu type from the distributor's own fully-supplied kitchens, the categories a kitchen of that type buys that this one does not, and the gap valued, so the route rep's list says which categories to ask about at which door.
A route rep visits a kitchen with a general question: anything else you need? The kitchen's menu type, its covers and the distributor's own fully-supplied kitchens of the same type can turn that into a specific one: you serve casual Italian at two hundred covers a day and buy no dairy from us; kitchens like yours spend nine hundred dollars a week on it. This guide sets out the menu-type norm, the expected basket, and the category gap per kitchen.
Per menu type, per category:
Norm spend per cover = median weekly spend ÷ covers, among kitchens of the type where the distributor supplies nearly everything Norm penetration = share of such kitchens buying the category
Per kitchen, per category:
Expected = norm spend per cover × the kitchen's covers, for categories over a stated norm penetration Gap = expected − actual, floored at zero
Account identifiers only.
Σ accounts' category spend = ledger category spend, per week
And every account has a menu type. Accounts with none are listed as untyped and excluded from norms, not defaulted.
Menu type: casual Italian. Norm per cover per week, from 41 fully-supplied kitchens.
| Category | Norm penetration | Norm per cover | Kitchen 2207, 1,400 covers/wk: expected | Actual | Gap |
|---|---|---|---|---|---|
| Dry goods | 98% | $0.62 | $870 | $910 | none |
| Dairy | 94% | $0.64 | $900 | $0 | $900 |
| Fresh produce | 96% | $1.10 | $1,540 | $1,600 | none |
| Frozen | 71% | $0.48 | $670 | $180 | $490 |
| Beverages | 38% | not expected | $0 |
Kitchen 2207 buys dry goods and produce at norm, no dairy at all, and a quarter of the frozen it should. The rep's question at that door is about dairy, with a number. Beverages is not on the list because most casual Italian kitchens do not buy it from this distributor.
Per rep: gap by category across their kitchens, so the week's list is ordered by door and by category. And per menu type across the base: the categories with the largest total gap, which is the category manager's view.
Segment average as the norm. The fish restaurant is told to buy steak.
Covers missing. Half the base has no denominator. Use the fallback, labelled; get the number on the master.
Every category expected. Low-penetration categories pad the list with things the kitchen does not want.
Full-supply flag from nowhere. The norm is built on kitchens the distributor half-serves and is too low.
Mapped once, the delivery ledger and the account master produce the menu-type norms, the expected basket, the category gaps and the route list every week. Covirage builds this from the exports as they are. The foodservice page describes the setup, and the chain versus site guide covers the norm for chain kitchens, where the sister sites are the comparison instead.
The distributor's own account classification, where it has one, or a mapping from the kitchen's cuisine and format: casual Italian, quick-service burger, hotel banqueting, school catering. Ten to twenty types is the usual range, and the type is on the account master.
The account master where the rep recorded it, the kitchen's stated seat count times a turnover assumption per type, or, as a fallback, the kitchen's total spend divided by the type's norm spend per cover. Each is labelled; the last is circular for the total and still useful for the category mix.
Because a fish restaurant and a steakhouse of the same size and segment buy completely different baskets, and the average of the two describes neither. Menu type is the dimension that makes the norm mean something at a kitchen door.