Платформа Lokad
Table of contents
В центре Lokad находится Envision — предметно-ориентированный язык. Он предназначен для экспертов по цепям поставок, а не для инженеров-программистов. Наша основная цель — передать оптимизацию цепи поставок тем, кто непосредственно понимает предметную область. За счет этого Lokad снижает риски инициатив, убирая лишние посреднические слои между бизнесом и ИТ.
С помощью Envision мы значительно превосходим возможности APS, “advanced” только по названию, BI-инструментов и даже специализированных наборов для прогнозирования. Кроме того, по сравнению с такими универсальными языками, как Python, Lokad позволяет создавать более безопасные и более сопровождаемые приложения.
За пределами таблиц
Excel по-прежнему остается самым распространенным инструментом в цепях поставок. В Lokad мы признаем его сильные стороны: он прост, выразителен, нагляден и, что особенно важно, позволяет постоянно держать данные под рукой. Excel заслужил свой мировой успех, и в Envision мы много работали над тем, чтобы сохранить эти достоинства.
Однако для цепи поставок Excel не является вершиной аналитики. Его главная сила одновременно является и главной слабостью: вычислительная логика и данные неизбежно переплетаются, что порождает бесконечные проблемы по мере роста таблиц. А крупные таблицы почти неизбежны там, где компания управляет сотнями или тысячами товаров.
Эту связку логики и данных невозможно исправить внутри Excel, не разрушив то, что делает его сильным инструментом. Поэтому в Lokad мы разработали Envision — технологию, которая сохраняет ценные свойства таблиц и одновременно масштабируется до сотен миллионов заказов или SKU.
Кроме того, таблицы не подходят для некоторых специализированных, но жизненно важных расчетов в оптимизации цепей поставок. Например, они почти не позволяют работать с вероятностным прогнозированием. В результате решения остаются в ловушке мышления “по средним значениям”. Точно так же у них почти нет средств для ограниченной оптимизации в условиях неопределенности. Поэтому даже такие базовые ограничения, как MOQ, часто приходится обрабатывать вручную.
Envision предлагает специализированные конструкции, такие как алгебра случайных величин, которые критичны для предиктивной оптимизации цепей поставок и полностью отсутствуют в таблицах. Приложения, созданные на Envision, также намного проще сопровождать, чем разросшиеся табличные модели.
Не только наблюдать данные, но и действовать
Именно эту ориентацию на действие мы хотели сохранить в Envision. Envision предназначен для построения приложений. Например, он может формировать приоритетные списки действий, такие как:
- Товары, которые следует удерживать на низкой валовой марже, чтобы давить на конкурентов
- Количества, необходимые для точного заполнения следующего контейнера
- Товары, которые нужно ликвидировать в первую очередь, чтобы разгрузить склад
- Товары, которые клиенты постоянно возвращают и которые стоит убрать из ассортимента
Количественные решения, генерируемые Envision, затем можно автоматически загрузить обратно в ERP или выгрузить в таблицы. Точный охват Envision зависит от того, какие приоритеты вы устанавливаете для бизнеса.
Ваш бизнес не может избежать программируемости
Цепи поставок включают тысячи товаров, а часто и намного больше. Каждая цена, каждый уровень запасов, каждый ассортимент должны постоянно корректироваться. Достичь приемлемой производительности без автоматизации этих рутинных задач невозможно. Но одной автоматизации недостаточно: нужна умная автоматизация, глубоко согласованная с логикой бизнеса. Именно это и требует программируемости.
Каждый раз, когда кто-то где-то в организации создает сложную формулу в таблице, этот человек уже использует программную выразительность таблицы. Из табличного хаоса нельзя выбраться, пока у команд нет лучшего способа внедрять свои знания предметной области в системы. Envision и задуман как такая лучшая альтернатива.
За пределами Python
Во-первых, Python требует инженеров-программистов. Как и любой полнофункциональный язык, Python открывает пишущему код массу технических тонкостей. Ожидать, что один и тот же человек одновременно будет экспертом и в цепях поставок, и в программной инженерии, нереалистично. Программные возможности должны быть доступны широкому кругу технически сильных специалистов, а не только профессиональным разработчикам.
Во-вторых, стоимость сопровождения поспешно написанных Python-прототипов взлетает. Сопровождение должно оставаться под контролем. Python вовсе не легковесен, а оптимизация цепей поставок — процесс хаотичный: данные из множества не слишком надежных систем нужно надежно интегрировать, несовершенные и постоянно меняющиеся процессы — моделировать, а метрики оптимизации — увязывать с постоянно меняющейся стратегией бизнеса. Python почти не дает корректности по проектированию для такого рода задач.
Envision — наш ответ на эти вызовы. Он силен в тех аспектах, где Python почти недоступен:
- Глубинная защита, предотвращающая целые классы проблем безопасности
- Прозрачная производительность, не позволяющая создавать программы, которые окажутся непригодно медленными в эксплуатации
- Прозрачные обновления, когда эволюция доставляется автоматически, в том числе через фоновую переработку кода
- Упакованный стек, избавляющий от сборки десятков программных компонентов даже для простого приложения
Python — отличный язык, но он не дает такого ответа на оптимизацию цепей поставок, как Envision. Построить и сопровождать production-grade ML-приложение на Python возможно, но это дорого и плохо жизнеспособно без выделенной команды программной инженерии.