v2 · Inventory accuracy
Does the system match the shelf?
Same warehouse, new question: how far system stock drifts from the physical count, where and why, and how often to count each item. Turnover and the ABC curve are real; stock, locations and discrepancies are simulated on top of them.
Real turnover · simulated discrepancies
- 87%
- Class A IRA, counting monthly
- 57%
- of the discrepancy value is unrecorded damage
- R$10.7K
- per month with the recommended counts
- 2,648
- active items to count
01Accuracy
Counting monthly, 87% of class A counts match the system (target: 95%). In class C, 99.5%. The error per case moved is the same in all three classes: A fails more because it moves far more.
IRA by class with monthly counts
% of counts within tolerance: max(1 case, 2% of stock)
80% → 100%
The overall average hides the problem: thousands of nearly-always-right C items lift total IRA while class A fails.
02Causes
57% of the discrepancy value comes from damage nobody recorded in the system: the v1 loss shows up again here. It depends on the assumption that 25% of damage goes unrecorded.
Discrepancy value by cause
Discrepant cases × price per case · cumulative %
Unrecorded damage57% · R$1.4M
Picking error30% · R$727.3K
Receiving error13% · R$328.2K
Recording damage on the spot fixes two problems at once: the loss becomes visible and stock stops lying.
03Cycle counting
For each class, the longest counting interval that keeps expected IRA above 95%. The model (Poisson on the event rate) predicts 86.6% monthly IRA for class A; the simulation measures 87.0%.
Expected IRA by counting interval
One line per class · the dot is the recommended interval
- A
- B
- C
Recommended counting
- A
every 14 days
212 × 3 locations · IRA 87% → 99%
R$5,451per month
- B
every 30 days
296 × 2 locations · IRA 95% → 95%
R$2,368per month
- C
every 90 days
2,140 × 1 locations · IRA 100% → 100%
R$2,853per month
Class A rises to 99% IRA, class C moves to quarterly counts, and total cost goes down.
04Items
They are the same damage leaders as in v1: fast-moving long necks, where unrecorded damage is the main cause.
Discrepancy value by item
Sum of discrepant cases × price, over the period
- Unrecorded damage
- 01
CORONA EXTRA LOOSE NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$110.5K
- 02
CORONA EXTRA 2/12 NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$97.4K
- 03
HEINEKEN 2/12 NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$90.3K
- 04
MODELO ESPECIAL 24 LOOSE NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$67.4K
- 05
HEINEKEN LOOSE NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$60.4K
- 06
CORONA EXTRA 18PK NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$50K
- 07
HEINEKEN 4/6 NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$47.4K
- 08
STELLA ARTOIS 2/12 NR - 11.2OZ
Long neck (glass) · A · Unrecorded damage
R$39.9K
- 09
CORONA EXTRA 4/6 NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$37.7K
- 10
FLYING DOG THE TRUTH 4/6NR - 12OZ
Long neck (glass) · A · Unrecorded damage
R$28.1K
05Method
What is real and what is assumed on this page.
- Monthly turnover per item and ABC classReal data
- Stock = turnover × coverage (A 10 days, B 20, C 45)Assumption
- Locations per item (A 3, B 2, C 1)Assumption
- Errors per case moved (picking 0.08%, receiving 0.03%)Assumption
- Unrecorded damage: 25% of v1 damageAssumption
- Cost to count one location: R$4.00Assumption
- IRA, causes, frequency and costsDerived from simulation