(Mostly) Stocked

Semiconductor Supply Chain Optimization

Modern supply chains for computer processors require increasing speed, efficiency, and reliability to meet the demands of a growing electronics sector and new applications such as embedded and IoT computing. I developed a new set of inventory stocking algorithms based on empirical sales data and Markov Chain estimation to reduce the amount of inventory a major semiconductor manufacturer would need to hold in warehouses to ensure on-time delivery of orders.

My new inventory stocking system reduced required inventory levels by 36% relative to current stocks while maintaining a required 90% service level (90% of all ordered units could be shipped immediately). I also demonstrated statistical confidence in the performance of my model, with a 95% confidence that a 90% service level could be maintained.

 
staticmean.png

Baseline model - static mean estimation

Under the baseline model, the required inventory stocking level was based on the mean order quantity per day and a “days of inventory” decision parameter. For instance, if the mean orders per day were 20,000 units and 4 days of inventory were kept in the warehouse, 80,000 units would be stored at any given time.

Screen Shot 2019-11-21 at 4.57.06 PM.png

Markov chain inventory planner

My Markov Chain model created an entirely new methodology for deciding how to stock the semiconductor warehouse. Instead of calculating a relatively fixed “day” of inventory and multiplying it by the “days of inventory” decision parameter, my model used previous orders to anticipate the size of upcoming orders and stocked the warehouse based on an estimation of the static distribution of the order size Markov chain for n days in advance.

This changed “days of inventory” from a fairly arbitrary decision parameter into a value that had a much more rigorous definition and interpretation.

The average value of products held in stock was reduced by 21% relative to the baseline model while the total quantity of stock was reduced by 36%. This was due to multiple products being stocked in the same warehouse with differing price points.

dynamicmean.png

Dynamic mean estimator

I designed a dynamic mean estimator that used a rolling average to compute the size of one “day of inventory”. While it required slightly more inventory to be kept in stock, it improved the linearity and sensitivity response of the system, meaning that changing the “days of inventory” decision parameter resulted in more predictable and controllable changes in service level.

1200px-Markovkate_01.svg.png

Markov in a nutshell

What is a Markov Chain?

Short Version - if you know the current state of a system (ex. it is raining today), you can use that information to predict both the future state of the system (ex. there is a 15% chance it will rain in 5 days) as well as the long-term distribution of states (ex. it will rain around 6% of the time).

This is an extremeley useful way to model real-world systems, and by applying it to the question of order size estimation, I was able to do a substantially better job of predicting future order sizes than simply looking at the mean and standard deviation.