Cycle Counting for a WooCommerce Store: A Schedule You’ll Actually Keep
Cycle counting beats an annual count you keep postponing. Classify products by value, build a rota, and count a slice of the catalogue each week.

Most small stores plan to count everything once a year, and most small stores don’t. The annual count needs a closed shop, a free weekend and a level of collective willpower that January rarely supplies, so it slips to February, then to “after the sale”, then to never.
Cycle counting is the alternative: instead of counting everything once, you count a slice of the catalogue on a rotation, all year, without closing. It’s less heroic and considerably more effective, and it fits a WooCommerce store better than an annual count ever did.
This is how to build a rota you’ll actually keep.
Cycle counting vs the annual count
| Annual physical count | Cycle counting | |
|---|---|---|
| Coverage | Everything, once | A slice at a time, continuously |
| Disruption | Shop closed, whole team | An hour, one person |
| Error age | Up to 12 months old when found | Days or weeks old |
| Fails when | You postpone it | You skip a week — and just resume |
The last row is the real argument. An annual count is all-or-nothing: miss it and you have no measurement at all. A cycle count that slips a week is a cycle count that slips a week.
The error-age row matters nearly as much. If a receiving process has been quietly wrong since March, an annual count tells you in January — ten months of bad decisions later. A monthly rotation catches it in April, while you can still remember what changed.
Why the annual count keeps not happening
It’s worth naming this honestly, because the fix is structural rather than motivational. An annual count is a large, indivisible, high-stakes task with a scary irreversible action at the end of it. Every one of those properties makes it easy to postpone.
Cycle counting inverts all four: small, divisible, low-stakes, and — if your tool takes a restore point before applying — reversible. That’s why people keep doing it.
Step 1: Classify your catalogue
Not every product deserves the same attention. The standard approach is ABC classification, which is just Pareto applied to inventory: a small share of your products accounts for most of your value.
- A items — roughly the top 20% by annual value, typically around 70–80% of it. High-value or fast-moving, often both.
- B items — the middle. Steady, moderate value.
- C items — the long tail. Lots of SKUs, little money.
Treat those percentages as a starting shape, not a law — check your own numbers rather than assuming the split.
Getting this out of WooCommerce: go to Analytics → Products, set the date range to the last twelve months, and sort by Net sales. Export the table. In a spreadsheet, add a running cumulative total of net sales and a column for that total as a percentage of the grand total. Everything up to 80% is your A list; 80–95% is B; the rest is C.
If you have Cost of Goods data set, sort by value rather than revenue for a truer picture — a low-margin bestseller ties up less money than its sales figure suggests.
Step 2: Set a frequency per class
A workable starting point for a small store:
| Class | Count every | Why |
|---|---|---|
| A | Month (or fortnight) | Errors here cost the most and appear the fastest |
| B | Quarter | Enough to catch drift before it compounds |
| C | Twice a year | Cheap to be slightly wrong about |
Adjust from evidence, not instinct. After two or three rounds you’ll see which class actually drifts — if your C items come back clean every time, count them less; if a particular category is always short, count it more and go and find out why.
Step 3: Build a rota you can finish in one shift
This is where cycle counting usually dies. A “weekly count” of 300 SKUs isn’t weekly, it’s abandoned.
Work backwards from time. Counting a shelf of familiar products with a scanner runs somewhere around 100–200 items an hour once you’re moving; that’s a rough planning figure, so measure your own on the first pass. Pick a session size that fits comfortably inside the slot you’re willing to give it — for most small stores, 30–60 SKUs.
Then divide each class across the rota:
- Week 1: A items, group 1 · Week 2: A items, group 2 · Week 3: A items, group 3 · Week 4: a B group
- Rotate B groups through the fourth week so each is covered quarterly.
- Drop C blocks into quiet weeks — post-sale lulls, mid-week mornings.
Two practical rules that keep it alive: same day, same time, so it becomes a habit rather than a decision; and scope by physical location, not by category. Your catalogue is organised by product type; your shop is organised by shelf. Counting a category means walking the whole floor. Counting an aisle means standing still.
Step 4: The same loop, every time
Each session is the same four steps — the standard stocktake loop, just smaller:

One setting matters more than all the others here: use partial (spot) count mode. A partial count only updates the items you actually scan and leaves everything else untouched. A full or zero-based count sets everything you didn’t count to zero — correct for an annual count of a closed shop, catastrophic for a Tuesday-morning count of one aisle.
Beyond that: scope the session to the aisle you’re counting, turn on blind count if anyone but you is counting, review the variance before applying, and export the sheet.
What to measure over time
A single session tells you about one aisle. The sequence tells you about your store.

Three numbers are worth writing down after each count:
- Count accuracy — what share of counted lines had zero variance. This is your headline health metric.
- Net variance value — the discrepancy in money. Watch the trend, not the individual figure.
- Which class or category it came from — this is what turns counting into diagnosis.
A store that counts and never compares is just doing data entry. The comparison across sessions is the entire return on the exercise: it’s how you find out whether the receiving change you made in March actually worked.
Do you still need an annual count?
For the shop floor, a well-run cycle programme covers everything at least once a year, catches errors far sooner, and leaves an audit trail per session — which is more than an annual count gives you.
For the accounts, it depends on where you are and who signs off your books. Requirements vary by country and by auditor, and some will want a full count at year-end regardless of how good your cycle records are. Ask your accountant before you assume the annual count is optional — and if they do want one, at least you’ll walk into it with clean numbers instead of a surprise.
Getting started this week
Don’t build the whole programme first. Do this:
- Export Analytics → Products for the last year and mark your top 20 by value. That’s your A list, near enough.
- Split it into four groups by shelf location.
- Put a 30-minute slot in the calendar, same day each week.
- Count group 1 as a partial, blind session. Note the accuracy and the variance value.
Four weeks later you’ll have counted your most valuable stock, you’ll know your real counting speed, and you’ll have a baseline to improve against — which is considerably more than most stores get from an annual count they never run.
Cycle counting FAQ
What is cycle counting?
Counting a portion of your inventory on a repeating rotation rather than counting everything at once. Over a full cycle every product gets counted, but no single session requires closing the shop or a whole team.
How often should I cycle count?
A reasonable starting point for a small store is high-value or fast-moving items monthly, mid-value items quarterly, and the long tail twice a year. Adjust from what your first few counts show rather than from instinct — count the classes that actually drift more often.
How do I work out which products are my A items?
Go to Analytics → Products, set the range to the last twelve months and sort by net sales, then export. Add a cumulative total column: everything up to roughly 80% of the grand total is your A list. If you have cost data, sorting by value rather than revenue gives a truer picture.
Which counting mode should I use for a cycle count?
Partial, or spot, count mode — it updates only the items you actually scan and leaves the rest untouched. Never use full or zero-based mode for a partial rotation, because it sets everything you did not count to zero.
How many products should one session cover?
Whatever fits the time slot you are willing to defend every week. For most small stores that is 30 to 60 lines. Measure your own counting speed on the first session and size the rota from that rather than from a number in an article.
Does cycle counting replace an annual physical count?
For running the shop, largely yes — a good rotation covers everything at least once a year and catches errors far sooner. For your accounts it depends on your jurisdiction and your auditor, so ask your accountant before dropping the annual count.