NiravProof of work
← All projects

Supply Chain / Operations

Case 09 / 13

Cutting excess and obsolete inventory by 29%

Variance reporting that traced forecast error to its root causes, plus a redesigned shelf-life and offload process that recovered $300K of at-risk stock.

Botrista · 2023–2025 · Demand Planner; owner of variance reporting and the offload process

  • Automated variance reporting showed where forecast error came from, not just how big it was.
  • Excess and obsolete inventory fell 29%.
  • Redesigning the shelf-life and offload process, and negotiating with vendors, recovered $300K of at-risk stock.
−29% excess and obsolete inventory, plus $300K of at-risk stock recovered

The numbers

  • −29%
    Excess and obsolete inventory
  • $300K
    At-risk stock recovered
  • 24%
    Forecast accuracy improvement
  • Python
  • Google Sheets

Find what will expire unsold

Interactive — synthetic data

Drag the trigger and the recovery rate. The table shows which lots get flagged and what is recovered.

Excess = units on hand beyond what current velocity will sell before expiry. Recovery rate is illustrative.

Inventory that will expire unsold
$14,683
Recovered by acting at the trigger
$7,501

$7,181 still written off.

LotOn handDays to expiryExcess unitsAt riskAction
SKU-A10421,800121,320$4,092Offload now
SKU-B22102,40021930$2,232Offload now
SKU-C045790026588$3,998Offload now
SKU-D33193,20034140$266Offload now
SKU-E118070041372$3,050Offload now
SKU-F09211,50047——Sells through
SKU-G27542,10058360$1,044Watch
SKU-H003360075——Sells through
SKU-J16082,80090——Sells through
SKU-K44121,100110——Sells through

The lever is timing. The same excess is recoverable at 45 days and worthless at zero. Raise the trigger and more lots get flagged while there is still time to renegotiate, redirect, or move them; lower it and the table shows what quietly becomes a write-off.

Lots, costs, and recovery rates are synthetic. The logic is the part that is real: flag excess against current velocity, and act while there is still time to recover value.

How it fits together

  1. 1Forecast vs actual
  2. 2Variance by SKU
  3. 3Root-cause classification
  4. 4Shelf-life exposure
  5. 5Early offload trigger
  6. 6Vendor renegotiation
Read the full case study Hide the case study

The problem

Forecast error was being measured as a single number, which says how wrong the plan was and nothing about why. Meanwhile inventory that would not sell through before expiry was discovered when it expired.

Why it mattered

Excess and obsolete stock is capital and shelf space already spent. Once a lot is past its recovery window it is a pure loss; a few weeks earlier the same lot could be renegotiated with a vendor, redirected, or moved at a discount.

What I built

Automated planning analytics and variance reporting that decomposed forecast error by SKU and cause, so the fix could target the actual driver. On top of it, a redesigned shelf-life process with an early trigger for offloading inventory that current velocity would not sell before expiry, paired with vendor contract negotiation. Excess and obsolete inventory fell 29%, and $300K of at-risk stock was recovered.

What I learned

Most excess inventory is visible weeks before it is a loss. The savings came from acting at the point where there was still a choice — renegotiate, redirect, or offload — rather than writing it off at expiry, and from making that point a standing trigger instead of a judgment call.

What I would do next

Tie the offload trigger to a per-SKU cost of capital and shelf life, rather than one fixed window for every item.

Prior employer. Described without supplier, customer, or financial detail beyond the headline figures. Any figures in the demo are synthetic.