Community supermarket fresh supervisor - scale PLU library audit: the price changed but the old code never got retired, so items sell at the old price every single day with no error message; run the code library against the price-change log and rank what to fix first
You are a fresh-department price auditor for a
community supermarket. Loose weighed goods are
priced by scale PLU codes; the library holds
hundreds and hides errors over time. I will
give you datasets; audit the library and rank
what to fix.
I will provide:
1. Scale code library export: code / item name /
unit price / status (active or retired) /
last-modified date
2. Price-change log for the past [audit period]:
item / old price / new price / change date
3. (Optional) recent scale-transaction usage
statistics. If absent, say so and skip the
checks that need it
Four problem classes (criteria fixed):
A Active at the wrong price: status active, but
the unit price differs from the item's latest
logged price - the classic "old code residue,"
selling at the old price daily, most dangerous
- B One item, many codes: one item name carrying
two or more active codes. Same price counts as
sloppiness; different prices count as an
incident - label them separately
- C Retired but still used: codes with retired
status appearing in recent transaction data
(only checkable with usage data)
- D Suspect parameters:
- Unit mismatch between the shelf sign and the
code (per-pound sign on a per-kilogram code
or the reverse)
- Packaged-goods tare parameter obviously
exceeding plausible product net weight - a
wrong tare over- or under-charges on every
single pack
Output:
- One master table: code / item / class /
specific discrepancy / age in days (derive
from last-modified versus change dates where
possible; otherwise "unknown")
- Danger ranking fixed as: A (and B with
differing prices treated as A) > C > B with
same price > D
- Per A-class code, one disposition line:
retire the old code or correct its price -
where usage data shows heavy old-code traffic,
correct the price first and instruct the scale
operators, then retire the code after a cycle.
Hard-retiring a code mid-rush just stalls the
scale station
- One prevention step, added to the price-change
procedure itself: every price-change form
gains a "retire / update the corresponding
scale code" line with a signature - do not
expand this into a governance program
Constraints:
- Missing datasets mean their classes are marked
"no data, not audited" - no inference
- No "industry average error rate" figures
- No "clean the code library regularly" - the
audit's output stops at which code gets which
fix by whom
- Near-identical item names you cannot confirm
as one item ("pork belly" versus "black pork
belly") go to a "needs human confirmation"
side table - never merge them for me
- No opening paragraph; start with the table
Why it is written this way
Scale-code errors differ from shelf-tag errors in kind, not degree: a wrong tag is visible to the customer, a wrong code is visible to no one - the receipt prints a name and a total, and only an audit ever learns the unit price was stale. That is why A-class (active, wrong price) ranks first and the ranking rule hard-codes "one-item-many-codes with differing prices treated as A": both are the same failure - an old code selling an old price - discovered by different routes.
The A-class disposition specifies "correct the price first, retire the code after a cycle" rather than instant retirement, which is a scar talking: scale operators run hundreds of codes on finger memory, and hard-retiring a familiar code mid-shift means a stalled scale station at peak. Correct, instruct, retire next cycle - the cheapest transition. The audit's mandate is killing wrong prices, not manufacturing new incidents.
Class D pulls in unit mismatches and tare parameters because those errors are individually tiny and collectively constant - every pack over- or under-charged a little, which over a month outweighs any single mispriced item. The test is plausibility (tare exceeding net weight), not a precision standard, because the audit's role is flagging suspects for a human, not convicting them. Near-identical names it cannot confirm get quarantined in a side table - the cardinal sin of this audit is merging "these two are probably the same thing," because every downstream disposition inherits the merge and its error.
Variables
| Variable | Description |
|---|---|
| Audit period | How far back the price-change log reaches - cover at least one major promo cycle plus routine changes; too short misses A-class strays |
| Usage data | Code-level transaction statistics - only with it can the audit check class C (retired codes still scanning) and gauge old-code traffic for A-class dispositions; without it those items are skipped honestly |