Out of Stock — Zero available units. Every day without stock is lost margin. Immediate reorder required.
Below Safety Stock — Units exist but below the minimum safety buffer. Buffer is being consumed. Order urgently.
Reorder Now — Stock has dropped to the reorder point. Order today — any delay risks a stockout before delivery arrives.
Reorder Soon — Days of cover < lead time × 1.5. No emergency today, but prepare the order this buying cycle.
Healthy — Adequate stock with comfortable cover. No action needed this cycle.
Excess Stock — Over 365 days of cover. Capital is tied up. Consider reducing future orders, promotions, or return to vendor.
Column Glossary
Vel / Day
Adjusted daily velocity — units sold per day. Blended from 90/180/365-day history weighted by demand trend, then multiplied by seasonality index and campaign uplift (capped at 50%).
Available
On-hand + in-transit stock. The total units available to commit to customers today.
Safety Stock
Minimum buffer held above expected demand during lead time. Calculated as Z × demand std dev × √(lead time). Z varies by ABC-XYZ class (85%–99% service level).
Days Cover
Available ÷ daily velocity. How many days the current stock will last at today's demand rate.
Order Qty
Suggested units to reorder. Formula: CEIL(Velocity × (Lead Time + Review Cycle) × Buffer) − Available − Open POs. Review cycle = 7d (A) / 14d (B) / 21d (C). Buffer = 10% (Fast) / 20% (Medium) / 30% (Slow). Capped at 180 days cover.
Priority Score
0–100 score for action SKUs. Urgency tier (40%) + Margin at Risk (30%) + ABC class (20%) + Days Cover pressure (10%). Higher score = order first.
MAR ($)
Margin at Risk — estimated gross margin lost if this SKU stocks out. Calculated as: Daily GM × Estimated OOS days × OOS probability.
Daily GM ($)
Daily gross margin contribution at current velocity. Indicates how much margin is earned (or lost) per day this SKU is in/out of stock.
ABC Classification
A-Class — Top 70% of 24-month cumulative revenue. ~300–500 SKUs. Reviewed every 7 days. Service level 95–99%.
B-Class — Next 20% of revenue. ~1,000 SKUs. Reviewed every 14 days.
C-Class — Bottom 10% of revenue. ~4,500 SKUs. Reviewed every 21 days. Minimal safety stock investment.
Updated monthly (first Sunday). ~5% of SKUs reclassify each month.
Movement Profile
Fast — High daily velocity, predictable demand. 10% order buffer.
Medium — Moderate velocity. 20% order buffer.
Slow — Low velocity, variable demand. 30% order buffer for protection.
Slow / Dead — Minimal or zero velocity. Reviewed for disposal. Minimal ordering.
Q — GM2 15–35%. Moderate profitability. Standard reorder cadence.
R — GM2 < 15%. Low margin. Lean inventory approach.
GM2 = Gross margin after direct shipping & inventory adjustments.
Priority Score — How to Read It
85–100 Order Today60–84 This Cycle35–59 MonitorBelow 35 No Action
When two SKUs are both Out of Stock, Priority Score tells you which to reorder first — the one with more financial margin at risk and higher strategic value (ABC class).
Steps Explanation — How This System Works▼
Phase 1 — Data Foundation
1
Refresh Schedule
Three-tier cadence. Daily at 6:30 AM: on-hand qty, open POs, OOS risk flags — the operational heartbeat. Every Sunday 11 PM: full model rebuild — velocity, lead times, safety stock, reorder points. First Sunday of month: ABC/XYZ reclassification, seasonality index recalibration, trend direction update. Manual triggers exist for physical counts, new vendor onboarding, or significant lead time changes.
2
Which SKUs Are Included
All active SKUs are in scope. Phase-out / discontinued SKUs appear in output with Order Qty = 0 ("Do not reorder — run down remaining stock"). Reactivated SKUs (seasonal items restored to catalogue) are included using pre-inactivity velocity and flagged for buyer review — their velocity is based on older data and must be verified before ordering.
Phase 2 — Demand Measurement
3
Blended Velocity
Daily velocity is a weighted blend of three windows (90/180/365-day averages). Weights adapt to trend: growing SKUs (90d > 365d by 15%+) weight recent data at 60%; declining SKUs weight longer history at 50%; stable SKUs use a 50/20/30 balance. The blended result is then multiplied by a seasonality index (4-year monthly history) and an event uplift factor if a Listrek campaign is scheduled — capped at 50% to prevent over-buying.
4
Lead Time — 4-Tier Waterfall
The system uses the most accurate lead time available: Tier 1 = SKU-actual median (requires ≥5 historical POs), Tier 2 = category median, Tier 3 = item master default, Tier 4 = 15-day system default. The source tier is recorded for every SKU. Vendors with lead time standard deviation ≥14 days are flagged Unreliable — this feeds directly into chronic OOS root cause analysis.
Phase 3 — Stock Thresholds
5
Safety Stock & Reorder Point
Safety Stock = Z × daily demand std dev × √(lead time days). Z varies by ABC-XYZ class from 1.04 (CZ, 85% service level) to 2.33 (AZ, 99%). Reorder Point = (velocity × lead time) + safety stock. Both are adjusted upward for scheduled promotional events, seasonal demand peaks, and high-volatility SKUs — ensuring the trigger point accounts for real-world demand conditions.
Phase 4 — Status & Action
6
Status Tiers
Each SKU is assigned one of six statuses based on available qty vs thresholds: Out of Stock (zero available) → Below Safety Stock (below buffer) → Reorder Now (at or below reorder point) → Reorder Soon (days of cover < lead time × 1.5) → Healthy (adequate cover) → Excess Stock (>365 days cover). Dead Stock (no velocity 180+ days) and Slow Stock are flagged separately.
7
Order Quantity — Dynamic Coverage
Formula: CEIL(Velocity × (Lead Time + Review Cycle) × Buffer) − Available − Open POs, capped at 180 days cover. Review cycle adapts to ABC class: A = 7 days, B = 14 days, C = 21 days. Order buffer adapts to movement profile: Fast = 10%, Medium = 20%, Slow = 30% — because erratic SKUs need more protection against forecast error. Open POs are always deducted to avoid double-ordering stock already on its way.
Phase 5 — Scoring & Prioritisation
8
ABC & Movement Classification
ABC classifies by 24-month cumulative revenue: A = top 70% (~300–500 SKUs), B = next 20%, C = bottom 10%. Movement Profile classifies by daily velocity: Fast, Medium, Slow, Slow/Dead. Together they determine service level targets, safety stock investment level, and how frequently each SKU is reviewed. Both are updated monthly on the first Sunday.
9
Priority Score (0–100)
When multiple SKUs need attention, Priority Score tells buyers which to order first. Components: Urgency tier — 40 pts (OOS=40, Below Safety=30, Reorder Now=20, Reorder Soon=10). Margin at Risk — 30 pts (actual $ calculated from daily GM × estimated OOS days × OOS probability, normalised across all SKUs). ABC class — 20 pts (A=20, B=12, C=5). Days Cover pressure — 10 pts (0d=10, ≤7d=8, ≤14d=6, ≤30d=4). Score ≥85 = order today. 60–84 = this buying cycle.
Phase 6 — Protective Flags
10
Seasonal Overstock Protection
For seasonal SKUs, a standard order quantity can create overstock if placed near the end of a peak season. The system compares post-order days of cover against days remaining in the current season. If cover exceeds days remaining AND fewer than 90 days remain in season, the order is flagged as Overstock Risk — buyers should reduce the quantity or defer to the next season.
11
Chronic OOS Detection
A SKU with 2 or more stockout events in the last 12 months is flagged Chronic OOS. An OOS event is detected when monthly sales = 0 AND surrounding months show velocity ≥15 units/month (distinguishing true stockouts from seasonal gaps). Root cause is diagnosed automatically: Vendor Unreliable (lead time std dev ≥14 days), Thin PO History (<3 POs), Safety Stock Too Low (≤5 units), or Demand Spike (none of the above).
Click any KPI card above to drill into that status
OUT OF STOCK 622
Zero stock · sorted by margin at risk · 622 total · showing top 150