The short answer
Exact stock counts across dozens of sites and vehicles will not be maintained. Usage rates will, because they come from work already recorded.
Estimate consumption per site per visit, reorder against that, and give staff a fast way to flag when something is short.
Why counting fails
- Stock sits in cupboards, vehicles and store rooms simultaneously
- Counting is unpaid time nobody prioritises
- One missed count makes the whole figure untrustworthy
- Items get moved between sites informally
- The count is out of date by the time it is entered
Once a count is known to be unreliable, people stop using it, and the effort produces nothing.
Track consumption instead
- Record deliveries to each site, which is a small number of events.
- Derive an expected usage rate per site from visit frequency and size.
- Flag sites whose consumption drifts from expectation.
- Trigger reorder on projected run-out rather than on a count.
- Let staff report a shortage in one tap, from the site.
Point five is the safety net. It catches the cases the model misses without requiring anybody to count anything.
What the data is actually for
| Question | What it needs |
|---|---|
| Are we about to run out anywhere | Usage rate and last delivery |
| Is a site consuming more than expected | Rate versus baseline |
| Are we buying well | Spend by product over time |
| Is a contract priced correctly | Consumables cost per site |
| Is anything going missing | Sustained unexplained variance |
The last row is a reason to watch variance rather than to accuse anyone. Most unexplained variance turns out to be informal transfers between sites.
Keep the ordering simple
A short list of standard products ordered in predictable quantities is easier to manage and cheaper to buy than a long tail of site-specific items.
Where a client insists on particular products, treat that as a contract cost rather than absorbing it into general stock.