Sign in

Blog · Coverage and territory · Distributors

Route coverage for beverage distributors: measuring skipped stores from the weekly sales sheet

How a beverage or food distributor measures route coverage from the sales report it already runs: stores on the route, stores visited, stores that bought, range stocked per store, and the Monday list each rep should get.

The short answerRoute coverage is the share of stores on a rep's route that were visited, and bought, in the period. Compute it from the weekly sales export: one row per store, SKU and week, joined to the route list. A store with no rows in a week was skipped; a store with rows for two of nine SKUs has a range gap. Both lists, ranked by what the store usually buys, are the Monday brief.

Every distributor knows its total cases by route. Far fewer know how many stores on each route were not visited last week, or which stores buy three of their nine SKUs and could stock six. Both numbers are in the weekly sales sheet already. This guide shows how to get them out.

What route coverage measures

Route coverage is a store-level measure, rolled up to the route and the rep:

Coverage = stores that bought in the period ÷ stores assigned to the route

A second measure sits beside it, range:

Range stocked = SKUs a store bought in the period ÷ SKUs on the route's list

Coverage tells you whether the rep got to the store. Range tells you whether the visit sold the full line. A route can have 95 percent coverage and a range problem on every stop.

The rows you already have

The weekly sales export from the ERP or route accounting system has, in some order and under some names:

  • Route or territory
  • Rep
  • Store or customer
  • SKU or product
  • Cases or units, and usually value
  • Week, date or delivery date

The route list, often a spreadsheet the sales manager keeps, has the stores assigned to each route and, ideally, their call frequency. If the route list does not exist as a file, the sales history builds it: every store that bought from a route in the last twelve weeks is on that route.

Nothing else is needed. No integration, no field app, no new data entry.

Building the measure

Step one: the store-week grid. For each route, list every assigned store against every week in the period. That is the denominator.

Step two: mark the buying stores. A store-week with at least one row in the sales sheet is covered. A store-week with no rows is a miss, unless the store's frequency says it was not due.

Step three: range per store. For each store and week that bought, count distinct SKUs against the route's SKU list.

Step four: roll up. Route coverage is covered store-weeks over due store-weeks. Rep coverage is the same across the rep's routes. Depot and company follow.

Step five: assert. Cases by store must sum to cases by route must sum to cases by rep must sum to the figure on the sales report. If a store is on two route lists, the route figures sum to more than the depot. That is a list problem, and the assertion finds it before the report does.

A worked example

Route 4, fourteen stores, weekly frequency, nine SKUs on the list, week 37.

Store Bought SKUs Range Note
Store 1100 Yes 4 44%
Store 1101 Yes 6 67%
Store 1102 Yes 3 33% Cola and water only
Store 1103 Yes 2 22% Was 5 SKUs in week 34
Store 1104 No 0 0% Skipped
…
Store 1113 No 0 0% Skipped, third week

Twelve of fourteen bought: 86 percent coverage. Average range 48 percent. The Monday brief for the rep is not "coverage is 86 percent". It is:

  1. Store 1113 has not bought for three weeks. It averaged 22 cases a week. Find out why.
  2. Store 1103 dropped from five SKUs to two. Ask about the cooler.
  3. Store 1102 stocks cola and water only. Energy and juice sell at every other store on the route.

That list took no new data. It took the sales sheet, the route list and the arithmetic.

Where it goes wrong

The route list is stale. Stores that closed stay on the list and drag coverage down; new stores buy without being on any list and are invisible. Rebuild the list from the last twelve weeks of sales each month and mark stores with no sales in that window as inactive rather than missed.

Frequency is ignored. A fortnightly store looks like a miss every other week. Coverage falls to 50 percent for a rep doing exactly what the plan says. Carry frequency on the list, or infer it from the store's buying rhythm.

SKU lists differ by channel. A convenience store is not expected to stock the 24-pack. Range should be measured against the SKU list for the store's channel, not the whole catalogue.

Two reps share a store. A store that appears under two routes doubles its cases in the roll-up. The level assertion, routes summing to more than the depot, catches it every time.

The weekly rhythm

Once the sales sheet is mapped, the same export every Friday produces the same grid and the same two lists per rep on Monday morning. The sales manager sees coverage and range by route, week on week, and the reps see their own stores ranked by what the miss is worth.

Covirage builds this from the weekly export as it is, checks that the roll-up reconciles before anything is shown, and sends the Monday brief per rep. The distributors page describes it, and you can upload a sample sales sheet and see the coverage grid on your own rows in your browser.

Questions people ask

What is a good route coverage percentage for a distributor?

Direct store delivery routes in beverage typically visit eighty to ninety-five percent of assigned stores each week, with the gap made of closed accounts, seasonal outlets and genuine misses. The number to watch is the trend per route, not a single target. A route that drops from 92 to 84 percent has a reason.

Do we need a field sales app to measure coverage?

No. If a store bought, it was visited. The sales export tells you who bought what and when. A field app adds visits that did not result in a sale, which is useful, but the sales sheet alone gives you coverage of buying stores, which is the one that pays.

How do we count a store that buys every two weeks?

Give each store a call frequency, weekly or fortnightly, and measure coverage against it. A fortnightly store with no rows in one week is on plan. With no rows in three weeks it is skipped. The frequency can be inferred from the store's own history if the route list does not carry it.