Inventory Optimization

Segmentation-driven policy design + multi-objective safety-stock simulation + holdout backtest validation. The right way: classify first (ABC×XYZ), tune per-segment, validate on real history.

How to use this page

Step 1 — Segmentation. Classify every SKU into a 9-box (ABC by revenue × XYZ by demand CV). Each cell ships with a recommended fill-rate target (β).
Step 2 — Policy optimizer. Per-(SKU × DC) analytic (s, Q) + Monte Carlo with empirical demand bootstrap (real forecast residuals, no Normal assumption) and empiricallead-time bootstrap (real PO actuals).
Step 3 — Safety-stock frontier. Sweep 10 SS formulas against stochastic demand × stochastic lead time; pick the cheapest feasible Pareto point.
Step 4 — Backtest. Replay the last N weeks of real actuals against both stored and recommended policies — the ground-truth validation that catches the calibration errors the analytic flow misses.

ABC × XYZ — recommended policy per cell

ABC by cumulative revenue contribution (80 / 15 / 5). XYZ by demand CV (≤ 0.5 / ≤ 1.0 / > 1.0). Cell shows: # SKUs · revenue share · recommended fill-rate target (β). CZ candidates should be reviewed for delisting before optimizing.

X — steady (CV ≤ 0.5)Y — variable (CV 0.5–1.0)Z — lumpy (CV > 1.0)
A — top 80% rev
AXβ 99%

7 SKUs

73.0% revenue

Tight (s, Q), high service, forecast-driven, weekly review

AYβ %

0 SKUs

Tight (s, Q), wider SS buffer for promo / Tet variance

AZβ %

0 SKUs

Periodic review, big SS buffer, watch obsolescence

B — next 15%
BXβ 97%

2 SKUs

19.0% revenue

Standard (s, Q), monthly review

BYβ %

0 SKUs

Standard (s, Q) with promo overlay

BZβ %

0 SKUs

Periodic, conservative SS

C — long tail
CXβ 92%

1 SKU

8.0% revenue

Bulk orders, low review frequency, JIT-style

CYβ %

0 SKUs

Min/max levels, low service target

CZβ %

0 SKUs

Candidate for delisting before optimizing

10 SKUs classified · ABC by revenue, XYZ by weekly-demand CV. β = fill-rate target the policy optimizer should aim for in each cell.

SKU classification

Top 200 by revenue. Each SKU’s segment maps to a fill-rate target.

SKUSegmentWeekly demandCVRevenue shareCum. revβ target
MCH-KOK-004
Kokomi 90 Chicken Noodle
AX2,057.90.0611.46%11.5%99%
MCH-NAM-002
Nam Ngu Fish Sauce 750ml
AX1,955.20.0510.88%22.3%99%
MCH-OMA-003
Omachi Spicy Beef Noodle
AX1,898.10.0510.57%32.9%99%
MCH-CHIN-009
Chinsu Chili Sauce 250g
AX1,844.60.0510.27%43.2%99%
MCH-NAM-010
Nam Ngu Premium Fish Sauce 500ml
AX1,812.60.0710.09%53.3%99%
MCH-WAK-006
Wake-Up 247 Energy Drink
AX1,785.90.049.94%63.2%99%
MCH-COMB-008
ComBo Pho Bo 70g
AX1,762.30.069.81%73.0%99%
MCH-VIN-005
Vinacafe 3-in-1 Original
BX1,713.10.059.54%82.6%97%
MCH-CHIN-001
Chinsu Premium Soy Sauce 500ml
BX1,694.10.069.43%92.0%97%
MCH-VIVA-007
Vivant Mineral Water 500ml
CX1,439.90.058.02%100.0%92%