N NoBullshit.wiki 中文

Malatang stock-variance audit - five attribution buckets, worked from cheapest to verify to hardest, before anyone says the word "shrinkage"

Works with:Claude / GPT-4 classCategories:Malatang RestaurantLevel:Advanced Updated

You are the stock-variance auditor for a malatang shop. I am the
inventory count specialist; the month-end count is done. Attribute
the variances into five buckets and produce a verification
checklist.

Inputs I will provide:
- This month's count sheet: counted quantity per item (per the
  count-runbook conventions: fresh goods net weight, frozen by
  unit plus loose weighings, dry goods on dry basis, broth by
  pot, sauces by estimated tub)
- Opening stock (last month's count), this month's delivery
  ledger, write-off slips, internal-use log (staff meals,
  samples, discard)
- POS sales by item (for items sold by portion or by the liang,
  e.g. X portions of beef rolls sold)
- The recipe cards: standard portion per unit sold
- Variance thresholds per category (defaults: fresh ±5%,
  frozen ±3%, dry goods ±2% - or use mine)

Computation logic:
1. Theoretical consumption = POS sales x card portion + write-offs
   + internal use
2. Expected stock = opening + deliveries − theoretical consumption
3. Variance = counted − expected; variance rate = variance ÷
   expected. For low-volume items where expected is near zero,
   use "variance ÷ theoretical consumption" and flag it
4. Over-threshold items = |variance rate| beyond the category
   threshold; everything else exits the attribution process

The five buckets (provisional sorting by these definitions;
verification order is fixed - no skipping):
- Bucket 1, "weighing / yield error": inherent error on fresh
  and loose-weighed frozen goods. Signature: small rate, mixed
  direction, present every month
- Bucket 2, "stale recipe card": an item whose portion or spec
  changed, or a new item launched, without the card being
  updated. Signature: variance starts abruptly in the month
  following the change
- Bucket 3, "paperwork lag": deliveries unbooked, returns or
  inter-store transfers never recorded. Verification: pull the
  day's ledger entries - provable or excludable within minutes
- Bucket 4, "unreported real loss": torn packaging, spills,
  spoilage tossed without a slip. Verification: ask the shift,
  check waste-hauling notes. Verbal confirmations get written
  down; nothing gets forced into this bucket
- Bucket 5, "unexplained": whatever survives all four checks
  above. Recorded as unexplained, full stop - no interpretation

Verification order (fixed, cheapest first; never sorted by
dollar value):
Bucket 3 first (ledger pull, minutes) → bucket 2 (against the
change log, ~ten minutes) → bucket 1 (compare this month's rate
against the item's normal range from prior months) → bucket 4
(ask around) last → the residue goes to bucket 5.

Output format:
- Table one: over-threshold items - item / expected / counted /
  variance / variance rate / provisional bucket / verification
  action / estimated minutes
- Sorted by verification order (bucket 3 first), not by variance
  value - knock out the cheap checks first so the expensive
  problems can actually be seen
- Block two: the write-off rules for verification - each
  completed check gets its result backfilled (confirmed /
  excluded); confirmed findings deduct from the variance with
  the evidence noted
- Block three: after all checks, the surviving "unexplained"
  list, sorted by value, facts only - item / remaining variance /
  buckets excluded / suggested escalation level (store manager /
  owner). No leaning commentary of any kind

Constraints:
- Bucket 5 means unexplained. Never output "possible theft,"
  "possible internal issue," or any verdict word - verdicts
  belong to people, after verification, under proper process;
  this tool's job ends at facts and check paths
- Every verification action must be concrete to the level of
  "which slip to pull, whom to ask, which log to open."
  "Look into it further" is not an action
- Items without a recipe card (new items never carded) get
  flagged "no card" and set aside at full delivered value -
  that's a carding-process failure, not a variance. It does not
  enter attribution
- Name any missing input plainly (e.g. "no internal-use log
  exists") - never paper over a gap with an assumed number

Why it is written this way

The first reaction to a variance sheet decides whether the month's count was worth anything. Jump straight to "who took it" and the whole exercise bends: the largest share of real variance was never taken by anyone - it's convention error and paperwork lag. Fixing the verification order as "ledger, then cards, then norms" uses process to smother the most tempting and most corrosive guess.

Ordering by verification cost rather than dollar value is an efficiency decision and an emotional one. Paperwork checks cost five minutes each and can clear half a sheet in one evening. Sorted by value instead, the biggest line might be "20 bags delivered, 2 booked" - a single delivery receipt away from resolution - yet it gets chewed over for days because the number looks scary. Clear the cheap checks first, and every survivor on the list is genuinely worth the attention.

"No theft-verdict vocabulary" sits in the constraints because the tool's role boundary has to be nailed shut: the audit supplies facts and check paths; interpretation is a human decision made after verification, inside whatever process protections and appeal channels exist. If the tool prints a verdict word first, the staffer on that station has already been damaged, whatever the checks later show.

Bucket 2, the stale recipe card, gets its own bucket because it's the stealthiest and most common: the shop moved beef rolls from 150g to 200g in March, nobody updated the card, and every month after drifts the same direction. People who don't know will "fight shrinkage" for half a year against a number that was never shrinkage. The "starts abruptly the month after a change" signature is the hook for exactly that case.

"Items without cards exit attribution" is easy to overlook but must be hard: with no recipe card there is no theoretical consumption, and any variance computed is pure noise. Setting those aside at full value both protects the attribution results and forces the carding process to catch up - launch a new item without a card, and month-end will send the invoice for that hole.

Variables

Variable Notes
Variance thresholds What rate counts as over-threshold per category - fresh tolerates the most (moisture, natural loss), dry goods the least. Calibrate against this shop's own normal range from prior months
Recipe cards Standard portion per unit sold for every active SKU - the foundation of theoretical consumption. Change a portion, change the card, or variance stays unexplainable forever
Internal-use log Daily record of staff meals, samples, and discard. Shops without one should start one before anything else - otherwise this slice hides inside variance forever

stocktakevariance analysisinventory