‘Supply Chains were always complex and difficult to manage. The pandemic has pushed global supply chains to a breaking point’ – is what one of my first managers used to say, when presented with an underwhelming insight, ‘a blinding glimpse of the obvious’. And in management speak, ‘complexity’ is popular these days with the term VUCA a much used (and little understood) acronym in the corporate zeitgeist. What is certain is this – just about every business that is moving Raw materials, components or products lists Supply Chain execution as one of their top challenges. My goal today is more grounded in the reality of ‘managing complexity’ in execution and I will try to answer three questions:
- What is Complexity? What we cannot define and measure, we cannot control or improve.
- How does Complexity manifest in Supply Chains? We will look at 3 examples – there are obviously many more.
- What do we need to do differently to manage Complexity? We will look at a couple of ideas related to the examples.
What is Complexity?
Complexity Science starts by defining 3 major properties that define Complex Systems:
- Complex collective behavior: Systems defined by large networks of individual components, each following relatively simple rules with no central control. However, the collective action of a larger number of components gives rise to complex, hard-to-predict, and change patterns of behavior
- Signaling and information processing: These systems produce and use information and signals from their internal and external environments
- Adaptation: These systems adapt – i.e. change their behavior in response to a feedback loop – what we commonly understand as learning or evolutionary processes
An alternative definition of a complex system: a system that exhibits non-trivial emergent and self-organizing behaviors.
Admittedly, this still sounds vague – but the good news is that the last 25 odd years have seen a huge surge in building formal mathematical models, thanks largely to the tremendous advances in computing capacity. And even more importantly, there are now real, tangible applications of Complexity Science that we can attempt to better understand, explain phenomena around us and ultimately, make better decisions. And to do that, we might want to look at a couple of examples
Complexity and Supply Chains
If there is one thing that the world has learnt about Supply Chains in these pandemic years, it is the intricate web of complex interactions at a global scale (literally) that defines today’s supply chains across industries.
Example 1: Forecasting is one of the most important and well-understand problems in Supply Chains. As any Demand Forecaster will tell you, forecasting processes continue to evolve all the time to factor an ever-expanding set of use-cases: new product introductions, slow-moving products, end-of-life forecasting and so on. And almost all of them are time-series methods which stands to reason as well. However, time-series methods are often unable to fully accurately forecast the near-time volatility that are manifested when dealing with shocks (say, a weather event in a local market that temporarily shifts demand patterns – e.g. demand for home repair products after a hurricane) or rapid, systemic changes (e.g. a spike in home delivery of groceries during the Covid-19 lock down). The goal in such situations is not get to a highly accurate forecast, but one that helps the forecasters rapidly absorb the signals, process the information and adapt the Supply chain to the emergent behavior of the system – in other words, attempt to better respond to the complexity. One such method that is gaining currency is that of Simulation: use a Monte-Carlo Simulation to create an ensemble of a large number (often greater than 100,000) of synthetic time series that models the ‘noise’ in the system (the uncertainty in the historical data and the uncertainty in producing the forecasts given the historical data).
Example 2: It is now well known that one of the hardest problems in fulfillment is the last mile execution. As consumers, our expectations of rapid (‘near real-time’), predictable delivery continues to push the boundaries for fulfillment schedulers to layer the speed and accuracy of schedules (think order variability and quantities, transport constraints) with the inherent complexities of the fulfillment processes (think product specific constraints to local zoning laws). This is in fact, a very messy, real-life manifestation of the classic Traveling Salesperson Problem (i.e. what is the optimal way for a salesperson to cover X cities to peddle his/her wares – it is X! which very quickly goes out of hand in terms of possible options). Genetic Algorithms are finding favor in solving these routing problems – as the name implies, this mimics the biological concept of Darwinian evolution. Typically, a solution is randomly chosen from a group of possible solutions, and then by modifications, transformed to create the next generation of solutions. Evaluate every iteration based on a specific criterion (e.g. total miles traveled, total wait time etc.) and ‘modified’ to create the next generation of solutions. And so on, until you get to a ‘good enough’ solution. The obvious expectation here is the ability to rapidly run through thousands (if not hundreds of thousands) iterations for every scheduling exercise.
Example 3: While the first two are operational problems that need to be solved in near real-time, Supply chain planners are often called upon to make policy decisions. These could range from expensive, capital intensive ones (e.g. where do you locate the next warehouse) to setting up policies that have significant downstream implications (e.g. for a high-tech manufacturer, what is the time-window to upgrade a hardware unit at its customer installations and end-of-life support for the older version). As you can imagine, these decisions are constrained by incomplete data and typically, ends up being a gut-feel with a very queasy feeling of ‘what if have got it wrong’. There is a whole discipline that was born to tackle such problems – System Dynamics. As the name suggests, you create a systems model as an abstraction of the real world (‘digital twin’) and then run simulations (often hundreds of thousands) to model how the system, starting with an initial state would result in an end-state equilibrium through a series of simulations.
Managing Complexity with Data and Compute capacity: Why now?
One underlying theme is common across all three examples. Simulations offer a way of modeling, understanding and ultimately, helping make data-driven (and hopefully better) decisions. Simulation techniques have been around for a long time now, but what is different now is our ability to exploit the Compute capacity that is required to solve problems using Simulation techniques. As was apparent in all three examples, the ability to access rapid burst compute capacity to model the systems level behavior, effectively capture the signals (internal and external) and run through multiple iterations in near-real time offers an exciting way to harness the power of data to make better, faster decisions.
Further Reading/Resources:
- Complexity: A guided tour by Melanie Mitchell: Eminently readable. I think this book is a fantastic example of how Complexity Science is entering mainstream thought and we will see lots of applications in Organizations.
- https://systemdynamics.org/: I feel that this area is under-appreciated. However, I am hugely bullish that thanks to the availability of massive, inexpensive compute capacity, the adoption of System Dynamics is likely to only go up.
- Genetic Algorithms for Vehicle Route Planning: Starting with TSP (Traveling Salesperson Problem), this is one of the most studied problems in linear programming. And it is time that we fully exploited these (and other Simulation algorithms) to solve some of the high-impact problems in Supply Chain logistics