In early 2025, execon was engaged by a mid-sized European Contract Development and Manufacturing Organisation (CDMO) specialising in oral solid dosage forms and injectables. The company had recently secured a significant contract with a top-20 pharma partner and was under pressure to expand its manufacturing capacity. Two new filling lines and a dedicated cleanroom for high-potency APIs were in the pipeline — investments totalling over €18 million.
There was just one problem: the cash wasn't there.
A closer look at the balance sheet revealed the culprit. Days of Inventory Outstanding (DIO) stood at 163 days — more than five months of stock sitting in warehouses and production areas. For a company turning over roughly €85 million annually, that represented nearly €38 million of working capital tied up in materials, intermediates and finished goods. The CFO had been wrestling with the number for two years. "We know the inventory is too high," she told us in the first meeting. "What we don't know is what to do about it."
A System Running on Intuition
The root cause wasn't negligence — it was complexity managed manually. The CDMO produced over 340 SKUs across 60+ customers, each with its own forecast patterns, lead time constraints and contractual service level commitments. Planners were managing replenishment through a combination of ERP outputs, personal experience and conservative buffers accumulated over years of near-miss stockouts.
"We had one planner who knew exactly which APIs were risky and which weren't," the supply chain director explained. "But that knowledge lived entirely in his head." When that planner took medical leave for six weeks in 2024, the team added roughly €4 million of safety stock "just to be safe." Much of it was still sitting there when we arrived.
Step 1: Making Sense of the History
The first phase involved an AI-assisted analysis of 36 months of historical data — purchase orders, goods receipts, production orders, customer deliveries and demand signals. The data was messy: inconsistent lead time recording, duplicate SKUs, and forecast accuracy that varied wildly between product families.
Using machine learning clustering techniques, we segmented the 340 SKUs into meaningful groups based on demand volatility, supplier lead time variability and margin contribution. The analysis surfaced uncomfortable truths: 34% of SKUs with the highest stock levels had demand coefficients of variation below 0.2 — meaning they were highly predictable and had been dramatically over-stocked for years. Meanwhile, 18 high-margin products with genuinely volatile demand had no differentiated stock strategy at all.
Step 2: Right Strategy for Each Product
Armed with the segmentation, we designed a differentiated stocking strategy for each cluster. High-volume, predictable products moved to a continuous review system with statistically derived reorder points. Volatile, high-value products were assigned dynamic safety stocks recalculated weekly based on updated demand signals. Slow-moving and obsolete candidates — 47 SKUs in total — were flagged for rationalisation.
For the first time, the planning team had a logic-driven framework rather than a patchwork of rules of thumb. Target stock levels were set with explicit service level trade-offs: a 98.5% fill rate commitment for key accounts, 95% for standard customers — numbers that could be defended to the board and adjusted as the business evolved.
Step 3: A Dashboard That Replaced Thirty Spreadsheets
Before the project, the team managed inventory health through a combination of ERP reports and manually maintained Excel files — some of which, by the team's own admission, were "updated when we have time." Overstock situations went unnoticed for weeks, and emerging stockouts were caught late, triggering expensive expediting.
We built an automated dashboard pulling live data from the ERP system every four hours, giving planners a real-time view of four key signals:
- Out-of-stock: zero on-hand with open customer orders — requiring immediate escalation
- Near out-of-stock: coverage below reorder threshold — triggering replenishment
- Overstock: coverage exceeding the maximum threshold — flagging for demand pull-forward or production pause
- Stale inventory: materials approaching expiry with no planned consumption — flagging for rework or write-off
Within the first month of go-live, the dashboard identified €2.1 million of overstock that had accumulated undetected, and flagged three API batches within 90 days of expiry that would otherwise have been written off entirely.
Step 4: Closing the Loop with Production Scheduling
The final — and most technically ambitious — component was a scheduling algorithm that acted on the dashboard signals. Rather than relying on planners to translate inventory alerts into production decisions manually, the algorithm proposed adjustments to the weekly schedule: pulling forward campaigns where near-stockout conditions were emerging, pushing back or splitting batches where overstock was accumulating.
The algorithm operated as a recommendation engine, not an autonomous system — planners reviewed and approved all changes. "We were nervous about letting a machine touch the schedule," the supply chain director admitted. "But in practice it flags things we would have missed, and saves us about two hours of scheduling work every morning."
The Results
Twelve months after implementation, Days of Inventory Outstanding had fallen from 163 to 108 — a reduction of 34%, freeing approximately €14.5 million of working capital. The CDMO used that cash to partially self-fund its capacity expansion, reducing the debt facility needed from external lenders by 40%.
Service levels, rather than declining as inventory fell, actually improved: customer-facing fill rates rose from 91.3% to 97.1% as the right products were stocked at the right levels. Planner overtime — a chronic problem during busy periods — dropped by more than half.
The CFO closed the final project review with a remark that stayed with us: "We thought this was a technology project. It turned out to be a decision-making project. The AI just made the decisions visible."