The Lokad platform
Table of contents
At the core of Lokad lies Envision, a Domain-Specific programming Language (DSL). This language is intended for supply chain experts, not software engineers. Our primary goal is to put supply chain optimization in the hands of those who have direct expertise in the subject. By doing so, Lokad derisks supply chain initiatives by removing layers of middlemen between business and IT.
Through Envision, we vastly exceed the capabilities of APS (Advanced Planning Systems), “advanced” in name only, BI (Business Intelligence) or even specialized forecasting toolkits. Last but not least, compared to generic programming languages - such as Python - Lokad delivers apps that are more secure and more maintainable.
Beyond spreadsheets
Excel is the most widely used tool in supply chain. At Lokad, we acknowledge that Excel has many great qualities: it is simple, expressive, visual, and most importantly, Excel lets you stay on top of your data all the time. Excel acquired the world-wide success it deserves. With Envision, we have worked very hard to preserve all these excellent qualities found in Excel.
However, as far as supply chain is concerned, Excel is not the pinnacle of analytics either. Excel’s greatest strength is also its greatest weakness: the calculation logic and the data become systematically entangled, and this creates never-ending problems as soon as the sheets begin growing in size. Yet, large Excel sheets are usually unavoidable in supply chain, where hundreds or even thousands of products are typically found within the same company.
Unfortunately, this logic+data entanglement issue cannot be fixed within Excel, because the “fix” would go against what makes Excel such a great tool in the first place. As a result, at Lokad, we decided to design Envision, a technology that would preserve the valuable properties of Excel as far as supply chain is concerned, but would also support scaling up to hundreds of millions of orders or SKUs, if that’s what is required.
Then spreadsheets, not just Excel, are simply not geared for specialized yet essential classes of calculations needed for the optimization of supply chains. For example, spreadsheets have (virtually) no feature to manage probabilistic forecasts. Thus, spreadsheets are stuck with a “drive by averages” mindset that is harmful for supply chains. Similarly, spreadsheets have (virtually) no features to perform constrained optimization under uncertain conditions. As a result, even mundane constraints like MOQs end up being manually resolved by supply chain practitioners.
Envision delivers specialized constructs - like an algebra of random variables - that are essential to the predictive optimization of supply chains, which are simply not available in spreadsheets. Then, apps built with Envision are vastly more maintainable than spreadsheets, which scale poorly in regards to complex problems.
Not just observing data but acting on it
In supply chain, BI tools fail to scale not because they cannot process all the data available – unlike Excel, good BI tools can process very large amounts of data – but because, while producing millions of numbers every day is cheap, as we said previously: producing only ten relevant numbers every day that are worth being read and acted upon is extremely difficult. Despite all its flaws, Excel comes with this “get things done” attitude, while BI does not.
For Envision, we absolutely wanted to preserve this “get things done” perspective. Envision is about building apps. For example, Envision can generate prioritized action lists such as:
- List the top items to be maintained at a low gross margin to pressure competitors
- Generate the quantities required to exactly fill the next container to be ordered
- List the top items that need to be liquidated to declutter the warehouse
- List the top items that are constantly being returned by customers and that need to be delisted
The quantitative decisions generated by Envision can then be automatically re-imported into the ERP, or downloaded as spreadsheets. The exact scope of Envision is really up to what you decide to be your business’ top priorities.
Your business can't dodge programmability
Supply chain involves thousands of products, and frequently, a lot more. Every price, every stock level, every assortment needs to be adjusted constantly. There is no hope of achieving this with a satisfying level of productivity without automating all these mundane tasks. Yet automation alone is not sufficient: it has to be smart automation that is deeply aligned with your specific business drivers. The “programmable” part is the one that makes it possible to achieve this alignment.
Whenever someone is crafting a complex formula in a spreadsheet somewhere in your organization, this person is leveraging the programmatic expressiveness of the spreadsheet. There is no getting rid of the spreadsheet madness if teams don’t have a better alternative to inject their domain expertise into the systems. Envision is precisely intended as this superior alternative.
Beyond Python
First, Python requires software engineers. Indeed, Python, like any full-fledged programming language, exposes tons of technical intricacies to whoever is writing code in Python. Expecting people to be both experts in supply chain engineering and experts in software engineering is too much. Programmatic capabilities must be accessible to a large spectrum of technically-minded people, not just professional software engineers.
Second, the maintenance costs of hasty Python prototypes go through the roof. The maintenance costs must be kept under control. Python is far from being lean hardware-wise. Then, cracking supply chain optimization problems is a messy process: the data from many (poorly) reliable systems need to be reliably pipelined, imperfect and ever-changing processes need to be documented and modelized, the optimization metrics need to reflect a business strategy in a constant state of flux, etc. Python offers almost no correctness-by-design to support such efforts.
Envision is our response to these challenges. It shines in ways that are simply not accessible to Python, namely:
-
Defense in depth, preventing entire classes of security issues that arise whenever a general programming language is involved.
-
Transparent performance, preventing programs that will be impractically slow to run in production from being written in the first place.
-
Transparent upgrade, as state-of-the-art as an ever moving target is, upgrades should be delivered automatically, typically through background code rewrites.
-
Packaged stack, where the burden of assembling dozens of software pieces, even when considering the simplest app, is eliminated.
In conclusion, while Python is awesome (it is), it’s not a satisfying answer for supply chain optimization like Envision is. Building and maintaining a production-grade machine learning app in Python is possible, but costs are high, and unless your company is prepared to have a full software engineering team dedicated to the maintenance of this app, it won’t work in production.