Skip to content

See a demo

30 minutes with Sasha Zhang · video link on confirmation

Loading scheduler…

Retail audit: what POS answers, what needs a visit

Three hours a store, and half the lines were already in the data

A 30-store chain I worked with ran a monthly retail audit on a 22-line checklist. A district manager walked each store, spent about three hours, ticked the lines, and filed a score. The programme cost roughly a thousand manager-hours a year, and when I finally sat down and read the checklist against what the chain's own register data could answer, ten of the twenty-two lines were things nobody needed to be in the building to know. Another four were half-answered. The eight that were left were the only ones that genuinely required a person standing in an aisle, and they were getting the least attention, because they came last on a form that took three hours to complete.

That is the useful frame for this whole subject. A retail audit is a measurement instrument, and the interesting question is not what to put on the checklist. It is which lines are answered by a query, which are answered by a visit, and which need both. Get that split wrong and you either pay for visits that re-count things the register already counted, or you trust data for questions transaction records cannot answer. Both happen, and the second is worse.

Three different things get called a retail audit

Before the checklist, a quick disambiguation, because these three share a name and a search result and have almost nothing else in common.

SenseWhat it isWho runs it
Store or merchandising auditA checklist walked in the store: availability, price, space, signage, conditionRetail ops, field sales, a vendor
Retail sales auditThe back-office reconciliation of register data before it reaches the ledgerBack office or finance
Market-research store auditEstimating category sales from a sample of stores, from stock counts and deliveriesA research firm

The first is what most people mean and what most of this page is about. The second is a real and separate discipline: tender totals, voids, refunds, no-sale counts and price-override exceptions, reconciled and cleared before the day's sales are trusted by anything downstream. The third is the oldest sense of the term, from before scan data existed, when sales were estimated as opening stock plus deliveries minus closing stock in a sample of stores. It is worth knowing about mainly so you can recognise when someone is proposing to re-estimate, from a sample, numbers your registers already counted in full.

The retail audit checklist, annotated

Here is the checklist, with the source that can answer each line. This is the part that generic templates leave out, and it is the part that decides what the programme costs.

CheckSourceWhat the register can see
Authorized item never scanned this periodPOSZero units where comparable stores sell
Multi-day gap in a normally daily itemPOSA break against that store's own daily baseline
Item selling below its cluster's ratePOSRate of sale against like stores
Register price matches the pricebookPOSObserved ring price against the item file
Promoted price live for the funded windowPOSRing price across every week of the deal
Discontinued item still sellingPOSScans after the delete date
Item ringing to the wrong departmentPOSDescription against department assignment
Case cost and pack integrityPOS and invoicesUnit cost recomputed from case cost and pack
Register totals reconcile to the depositPOS and back officeTender, void and refund totals
Void, refund and no-sale rate by operatorPOSException counts per cashier
A flagged item is actually on the shelfBothPOS ranks the suspects, the aisle finds it in the back room
Shelf tag price matches the registerBothPOS holds the ring price, the aisle holds the tag
Short-dated stock on a slow-moving itemBothPOS ranks the risk, the aisle reads the date code
Age-restricted prompt not bypassedBothPOS counts bypasses, the aisle watches the check
Shelf tag present and legibleAisleNothing
Facings match the planogramAisleNothing: two facings and six scan alike
Planogram sequence and block integrityAisleNothing
Secondary display built, in the agreed spotAisleNothing, unless the display has its own item number
Signage and point-of-purchase conditionAisleNothing
Damaged or unsellable stock on the shelfAisleNothing: it reads as slow, not as damaged
Competitor display, price and spaceAisleNothing
Case temperature, lighting, cleanlinessAisleNothing

Ten lines answered from data alone. Four shared, where the data narrows the question and a person closes it. Eight that no amount of transaction history will ever answer.

How POS answers the first ten lines

Each of the ten has a specific signature, and the reason they work is that register data is a continuous, per-store, per-day census rather than a sample.

Voids and distribution. An authorized store scanning zero units of an item over a period while comparable stores sell it is a distribution or ordering failure, and it is the cheapest finding in the whole programme because it needs no interpretation. Comparing against like stores rather than the chain average is what keeps the list short enough to act on, which is one of the practical returns on a clean store clustering.

On-shelf availability. A store that scans an item most days and then goes quiet for four days has a gap. This needs a per-store, per-day baseline to separate "sold out" from "slow", which is the entire difficulty of on-shelf availability measurement and the reason a chain-level out-of-stock rate is close to useless operationally.

Price and promotion. The ring price is observable, so it can be compared against the pricebook for that store, and against the funded terms of a promotion for each week of its window. A deal that was paid for and never rang is invisible in a margin report and obvious in this one.

The pricebook and back-office lines. Pack integrity, department assignment and cost against receiving are item-file checks rather than store checks, and they run on an export. Auditing a convenience store pricebook covers those five passes in detail, so treat this line of the checklist as a pointer to that method rather than a separate exercise.

The sales-audit lines. Register totals against the deposit, and void, refund and no-sale rates by operator, are the retail sales audit sense of the term. They are the only lines here that are about the register itself rather than the shelf, and they run daily in a functioning back office.

The eight lines only a person in the aisle can answer

Facings, planogram sequence, display build, signage condition, damaged stock, competitor activity, equipment and store condition. What these have in common is that they leave no trace in a transaction record, and no clever aggregation recovers them.

The one worth dwelling on is the empty shelf with stock in the back room. The inventory record says six on hand, the shelf says zero, and the register says zero units sold, which is exactly what it says for an item nobody wanted. That ambiguity is not a data-quality problem to be fixed; it is a boundary. Data can rank which stores and items are most likely to be sitting in that state, and somebody still has to go and look.

The same is true of facings. A SKU with two facings and a SKU with six produce identical scan records per unit sold, so share of shelf is not derivable from sales, and a planogram is a picture the register has never seen.

Worked example: rebuilding a 30-store audit programme

Same chain, same 22 lines, re-sequenced so the data lines run as queries and the visit covers what is left.

Audit blockMinutes beforeMinutes after
Availability and assortment4510
Price, tags and promotion4015
Space and merchandising3535
Back room and date code2012
Competitor and store condition1515
Back office and sales audit253
Total18090

Thirty stores audited monthly is 360 audits a year. At three hours each that is 1,080 manager-hours; at ninety minutes it is 540. The 540 hours saved is worth about $17,280 a year at a loaded $32 an hour, but the hours are the smaller half of the return.

The larger half is frequency. A void found by a monthly walk has, on average, been live for about half the cycle, which is fifteen days. Run the same check weekly as a query and the average detection lag falls to about three and a half days; run it daily and it is a day. Nothing about the check changed. What changed is that a query can run on a cadence a person cannot.

Score the exposure, not the lines

The chain scored stores as lines passed over lines checked, which is how almost every audit programme starts and why almost none of them survive contact with a finance review.

StoreLines passedScoreWhat failedExposure
Store 1420 of 2290.9%11-item distribution void, promo not live$1,805
Store 2720 of 2290.9%Signage condition, back-room tidinessNot measurable

Store 14's exposure is arithmetic, not judgment. Eleven authorized items scanned nothing for four weeks; those items average 9.4 units per store per week at $3.59, so 11 x 9.4 x 4 x $3.59 = $1,485 of sales that did not happen. The promotion that never rang moved 640 units at the regular $2.79 instead of the funded $2.29, so $0.50 x 640 = $320 of trade funding bought nothing. Total $1,805, in one store, in one period.

Store 27 scored identically and cost nothing measurable. Two stores, the same 90.9%, and one of them is a fix worth scheduling this week. The score is not the deliverable. Ranked exposure by store is, and the checklist only produces it if each line carries a way to price its failure.

Designing the retail audit process: sample, cadence, owner

The data lines are a census, so stop sampling them. Every store, every item, every day, at no marginal cost per store. Sampling exists for the aisle lines, and only for them.

Sample the aisle lines properly. Randomise across departments rather than walking the front endcap and the promoted aisle, which are the two places most likely to be right. Vary the day and the hour. Do not let the store choose the week.

Split the cadence by line, not by store. The data lines run continuously. The aisle lines run on a rotation, quarterly per store, with the order of stores set by what the data flagged rather than by a fixed alphabetical loop. That routing is where the two halves pay each other back: the visit is the same length and lands where something is already known to be wrong.

Separate self-check from audit. A store manager can and should check their own condition lines weekly. Compliance and price lines need somebody who does not own the result, because an audit where the auditor is graded on the score measures the auditor.

Every finding needs an owner, a date and a re-check. An audit that produces a report and no work order is a hobby. The re-check matters more than the original finding: the honest measure of a retail audit programme is what share of findings are still fixed 30 days later, and the first time a chain computes that number it is usually under half.

Where a retail audit goes wrong

The checklist only ever grows. Every incident adds a line and nothing removes one. A line that has not failed in any store in twelve months either is not really being checked or does not need to be, and one of those two is worth knowing.

Trusting the inventory record as an audit answer. On hand says six, the shelf is empty, the line passes. This is the most common false pass in retail auditing and it is the reason the flagged-item line in the checklist is marked "both" rather than "POS". See store-level inventory visibility for why perpetual inventory drifts in the first place.

Auditing by hand what the data already answers. Ten of twenty-two lines, 360 times a year, at three hours a visit. It is not that the manager was doing it wrong. It is that they were doing something a query does better, monthly, while the eight lines only they could answer got the last twenty minutes.

Confusing the instrument with the thing measured. A retail audit is how you measure execution; it is not execution itself. Retail execution is the practice, the audit is the measurement, and a chain that improves its audit score without changing anything in stores has improved its auditing.

Re-estimating what you already count. If someone proposes measuring category performance from an audit sample while the chain holds complete register data, that is the market-research sense of the term arriving in the wrong building. Sample-based store audits were built for a world without scan data.

Where Scout fits

Scout runs the ten data lines and the data half of the four shared lines against your connected POS and item file: authorized stores scanning nothing, availability gaps against each store's own baseline, ring prices that disagree with the pricebook, funded promotions that never took effect, department and pack integrity, and the exception counts behind the retail sales audit. The output is the ranked, priced store list the visit rotation should follow, and it re-checks itself as new data lands, which is how the 30-day fix rate becomes a number instead of an intention.

The boundary, once and plainly: Scout performs no audits and dispatches no field labour. It is not a field-team app, a task-management product, or a shelf-image recognition system, so the eight aisle lines stay a person's job. What Scout changes is which store that person walks into and what they are looking for when they get there.

The short version

  • A retail audit is a measurement instrument, and the first design decision is which lines a query answers, which need a person in the aisle, and which need both.
  • On a 22-line checklist, ten lines are answerable from POS alone, four are shared, and eight leave no trace in a transaction record at any volume of data.
  • Re-sequencing that split cut one 30-store programme from 180 to 90 minutes a visit, 1,080 to 540 hours a year, and dropped average void detection from about fifteen days to about three and a half.
  • Score exposure, not lines passed. Two stores at 90.9% differed by $1,805 a period, and the percentage hid it.
  • Run the data lines as a continuous census and the aisle lines as a rotation routed by what the data flagged, with an owner, a date and a re-check on every finding.

Want this as a Google Sheet?

Drop your email and we'll send the worked example.

Book a demo with your data