Community supermarket inventory count specialist - cycle counting SOP: stop burning the whole crew on two all-night counts a year - count the high-value picks monthly, the staples quarterly, the low-value tail twice a year, chase variances on the spot, and demote the big count to a safety net
You are an inventory-counting consultant for a
community supermarket. Write an archivable
"Cycle Counting SOP" for the count specialist
to organize and run. Store facts: trading hours
[trading hours]; counts run [count window]
(during trading or after close); method is
[paper count sheets / handheld terminals].
Section 1 - Zones and frequency (three tiers)
Tier A - high value, theft-prone, every
[A-tier frequency]:
- Tobacco, alcohol, small appliances, cosmetics,
premium supplements
- Admission test: high price, small size, easy
to walk out with - draft me the candidate
list by this test; I confirm and it freezes
Tier B - high velocity, every [B-tier
frequency]:
- Staples, case drinks, cleaning and paper,
shelf-stable milk
Tier C - low-value tail, every [C-tier
frequency]:
- Sundries, condiments, small household goods
- Every block in the store gets counted at
least once a year
Section 2 - The single count session (one block
per session)
Before (at shift start):
- Record the block's book stock as of the
cutoff moment
- Freeze window: during the count, the block's
[receives / does not receive] goods-in and
returns - where a freeze is impossible, log
every movement in the window instead
During:
- Pairs only: one calls, one records; counting
alone and writing alone is banned
- Weighed fresh counted by actual scale weight;
packaged goods counted by unit
After (same day, never overnight):
- Variance rate = |counted - book| / book,
dollar-weighted at block level
- Any block past [variance threshold] gets a
recount within 24 hours by a different pair;
still past threshold, it enters investigation
Section 3 - Variance investigation (time-boxed)
- Fixed sequence: movements in the count window
that missed the log first - then recent
returns, exchanges, and write-off slips -
then mis-scans (one item's barcode sold under
another) - theft only as the last hypothesis
- Every variance closes within 3 business days
into exactly one of two states: "found, slip
is X" (attach the slip) or "not found"
(suspense it and report to [who])
- No "probably" closes a variance
Section 4 - Relationship to the annual count
- The annual count still happens, with a new
job: it audits the cycle program, no longer
the year's only contact with reality
- Blocks that cycled clean should count clean
annually; blocks whose annual variance beats
their cycle variance reveal a cycle-quality
problem - raise their frequency next year
- All cycle records archive into one year-end
trend table per block - that table sets next
year's frequencies
Prohibitions:
- No "ensure book matches physical" - that is
a goal; every sentence here must be an action
- Investigations never end at "cause
identified"; they end at a slip or at
suspense
- No accounting-standard or audit-standard
citations
- No invented "acceptable variance rate"
industry figures - the threshold is this
store's own, set and then written down
- Store parameters I did not provide stay [ ]
for me to fill
Why it is written this way
Cycle counting's core logic is differentiated frequency: one stolen bottle of liquor outweighs a case of sundries, yet both waited on the same twice-a-year count - loss-prevention effort sprayed evenly over assets that need wildly different protection. Three tiers also flatten the workload across the year: one block per session, closed within the shift, no more all-nighters; and the time between a variance and its discovery shrinks from six months to weeks, while the receipts still exist and the people still remember - which is precisely the boundary between "chaseable today" and "archaeology."
Placing theft last in the investigation sequence is the SOP's most counterintuitive and most important line: most count variances are procedural - an unfrozen receiving window, an unlogged return, a mis-scan - and jumping straight to "someone took it" both smears people and leaves the fixable process holes open. Running the four fixed steps in order means explainable variances close with paper the same day, and only the remainder goes to suspense as genuinely lost - which is where loss-prevention attention finally does some good.
The annual count survives but demoted, because cycle counting has its own failure mode: the same crew counting the same block the same way reproduces the same blind spot every time. The once-a-year, everyone-involved count becomes the cross-check - a block that cycled clean but counts badly annually has just exposed its cycle quality. That feedback loop makes the two systems audit each other instead of competing.
Variables
| Variable | Description |
|---|---|
| Trading hours / count window | During trading or after close - during-trading counts must spell out the freeze or the per-movement logging rule; after-close is cleanest but fits only small crews on rotation |
| Count method | Paper sheets or handhelds - paper requires the call-and-record pair rule; handhelds may relax the freeze to strict movement logging |
| A/B/C frequencies | How often each tier counts - a common starting point is A monthly, B quarterly, C twice yearly, retuned each year off the trend table |
| Variance threshold | The dollar-weighted block rate that triggers a recount - set it strict; a recount costs an hour, a false variance on the books costs a day of chasing |
| Escalation owner | Who receives unexplained suspense variances - someone with authority to approve write-offs or open a case, usually the store manager |