Skip to content
Store Operations

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.

About Stocktake
Article cover: Cycle counting for a WooCommerce store — Stocktake for WooCommerce

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 countCycle counting
CoverageEverything, onceA slice at a time, continuously
DisruptionShop closed, whole teamAn hour, one person
Error ageUp to 12 months old when foundDays or weeks old
Fails whenYou postpone itYou 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:

ClassCount everyWhy
AMonth (or fortnight)Errors here cost the most and appear the fastest
BQuarterEnough to catch drift before it compounds
CTwice a yearCheap 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:

Stocktake session list showing partial and full counting modes with progress and variance for each session
Partial mode is what makes cycle counting safe: only the items you scan are updated, everything else is left alone.

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.

List of applied stock counts across several months, each with a restore point
A cycle programme leaves a row per session. The comparison between rows is the entire return on the exercise.

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:

  1. Export Analytics → Products for the last year and mark your top 20 by value. That’s your A list, near enough.
  2. Split it into four groups by shelf location.
  3. Put a 30-minute slot in the calendar, same day each week.
  4. 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.


Keep reading

Related articles