Skip to content

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)

A
87.0%
B
95.0%
C
99.5%

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
0%20%40%60%80%100%target 95%7 days14 days30 days60 days90 daysABC

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

R$10,673 per month, vs R$13,472 counting everything monthly

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
  1. 01

    CORONA EXTRA LOOSE NR - 12OZ

    Long neck (glass) · A · Unrecorded damage

    R$110.5K

  2. 02

    CORONA EXTRA 2/12 NR - 12OZ

    Long neck (glass) · A · Unrecorded damage

    R$97.4K

  3. 03

    HEINEKEN 2/12 NR - 12OZ

    Long neck (glass) · A · Unrecorded damage

    R$90.3K

  4. 04

    MODELO ESPECIAL 24 LOOSE NR - 12OZ

    Long neck (glass) · A · Unrecorded damage

    R$67.4K

  5. 05

    HEINEKEN LOOSE NR - 12OZ

    Long neck (glass) · A · Unrecorded damage

    R$60.4K

  6. 06

    CORONA EXTRA 18PK NR - 12OZ

    Long neck (glass) · A · Unrecorded damage

    R$50K

  7. 07

    HEINEKEN 4/6 NR - 12OZ

    Long neck (glass) · A · Unrecorded damage

    R$47.4K

  8. 08

    STELLA ARTOIS 2/12 NR - 11.2OZ

    Long neck (glass) · A · Unrecorded damage

    R$39.9K

  9. 09

    CORONA EXTRA 4/6 NR - 12OZ

    Long neck (glass) · A · Unrecorded damage

    R$37.7K

  10. 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

About

From the warehouse floor to data

I'm Alexandre Lopes, a Warehouse Apprentice at a beverage distributor. This project turns what I see on the floor (damage at picking, falling pallets, broken glass) into questions, SQL and actions.