Контакты

Платформа Lokad

Инициативы в области Количественной цепочки поставок можно реализовывать на любой платформе с языком программирования, однако Lokad спроектирована именно для них. Lokad — специализированная платформа для разработки и внедрения приложений предиктивной оптимизации цепочек поставок, созданных под задачи компании. По сравнению с универсальными средствами разработки Lokad обеспечивает более высокую производительность труда, надежность, простоту сопровождения, безопасность и, главное, лучшие результаты цепочки поставок.
Технологии прогнозирования и оптимизации Lokad

В основе Lokad лежит Envision — предметно-ориентированный язык программирования. Он предназначен для экспертов по цепочкам поставок, а не для инженеров-программистов. Наша основная цель — передать оптимизацию цепочки поставок тем, кто непосредственно понимает предметную область. Устраняя посредников между бизнесом и ИТ, Lokad снижает риски таких инициатив.

Envision значительно превосходит возможности систем расширенного планирования (APS), «передовых» лишь по названию, средств бизнес-аналитики (BI) и даже специализированных инструментов прогнозирования. Кроме того, по сравнению с такими универсальными языками, как Python, Lokad позволяет создавать более безопасные приложения, которые проще сопровождать.

За пределами таблиц

За пределами таблиц

Excel по-прежнему остается самым распространенным инструментом в цепях поставок. В Lokad мы признаем его сильные стороны: он прост, выразителен, нагляден и, что особенно важно, позволяет постоянно держать данные под рукой. Excel заслужил свой мировой успех, и в Envision мы много работали над тем, чтобы сохранить эти достоинства.

Однако для цепи поставок Excel не является вершиной аналитики. Его главная сила одновременно является и главной слабостью: вычислительная логика и данные неизбежно переплетаются, что порождает бесконечные проблемы по мере роста таблиц. А крупные таблицы почти неизбежны там, где компания управляет сотнями или тысячами товаров.

Эту связку логики и данных невозможно исправить внутри Excel, не разрушив то, что делает его сильным инструментом. Поэтому в Lokad мы разработали Envision — технологию, которая сохраняет ценные свойства таблиц и одновременно масштабируется до сотен миллионов заказов или SKU.

Кроме того, таблицы не подходят для некоторых специализированных, но жизненно важных расчетов в оптимизации цепочек поставок. Например, они почти не позволяют работать с вероятностными прогнозами. В результате приходится ориентироваться на средние значения, что вредит качеству решений. Точно так же у таблиц почти нет средств для оптимизации с ограничениями в условиях неопределенности. Поэтому даже такие обычные ограничения, как минимальный объем заказа (MOQ), приходится учитывать вручную.

Envision предлагает специализированные конструкции, такие как алгебра случайных величин, которые необходимы для предиктивной оптимизации цепочек поставок и полностью отсутствуют в таблицах. Приложения, созданные на Envision, также намного проще сопровождать, чем табличные модели, которые плохо справляются с усложнением задач.

Не просто изучать данные, а действовать

Решения для бизнес-аналитики часто продаются как следующий шаг после Excel. Однако многолетний опыт Lokad показывает, что в цепочках поставок BI почти никогда не приносит ожидаемой пользы. Проблема не в качестве самих инструментов: рынок зрелый, и на нем есть отличные продукты. Трудность в том, что изучать данные ради полезных выводов чрезвычайно дорого, когда речь идет о тысячах товаров и тысячах клиентов.
Действовать на основе данных

В цепочках поставок BI не справляется с ростом масштаба задач, но, в отличие от Excel, причина не в обработке данных: хорошие инструменты BI способны обрабатывать огромные объемы. Ежедневно генерировать миллионы чисел дешево, а вот ежедневно получать десять действительно важных чисел, которые стоит прочитать и использовать для действий, чрезвычайно трудно. При всех своих недостатках Excel позволяет решать конкретные задачи, а BI — нет.

Именно эту ориентацию на действие мы хотели сохранить в Envision. Envision предназначен для создания приложений. Например, он может формировать списки действий в порядке приоритета:

  • Товары, по которым в первую очередь следует поддерживать низкую валовую маржу, чтобы оказывать давление на конкурентов
  • Количества, необходимые для точного заполнения следующего контейнера
  • Товары, которые нужно распродать в первую очередь, чтобы освободить склад
  • Товары, которые клиенты постоянно возвращают и которые стоит убрать из ассортимента

Количественные решения, генерируемые Envision, затем можно автоматически загрузить обратно в ERP или выгрузить в таблицы. Точный охват Envision зависит от того, какие приоритеты вы устанавливаете для бизнеса.

Без своего кода не обойтись

Программируемость
Envision — это язык программирования. Для большинства людей, не являющихся разработчиками, это звучит «очень» технически. Даже руководители крупнейших компаний сомневаются, смогут ли их команды продуктивно работать с таким сложным инструментом. Наш опыт показывает, что сложность цепочек поставок неустранима. Мы видели поставщиков, обещавших инструменты, которыми «сможет пользоваться даже ребенок 9 лет». Результаты были именно такими, каких можно ожидать от ребенка 9 лет.

Цепи поставок включают тысячи товаров, а часто и намного больше. Каждая цена, каждый уровень запасов, каждый ассортимент должны постоянно корректироваться. Достичь приемлемой производительности без автоматизации этих рутинных задач невозможно. Но одной автоматизации недостаточно: нужна умная автоматизация, глубоко согласованная с логикой бизнеса. Именно это и требует программируемости.

Каждый раз, когда кто-то где-то в организации создает сложную формулу в таблице, этот человек уже использует программную выразительность таблицы. Из табличного хаоса нельзя выбраться, пока у команд нет лучшего способа внедрять свои знания предметной области в системы. Envision и задуман как такая лучшая альтернатива.

За пределами Python

За пределами Python
Несмотря на растущую популярность инициатив в области науки о данных, реальность остается суровой: подавляющее большинство из них не оправдывает ожиданий. Первые прототипы часто выглядят многообещающе, но переход к промышленной эксплуатации заканчивается неудачей. Envision изначально создавался для промышленной эксплуатации в цепочках поставок, чтобы максимально уменьшить эти проблемы. У такого повторяющегося провала две основные причины. Сравнивать Envision со всеми альтернативами было бы утомительно, поэтому ограничимся Python.

Во-первых, Python требует инженеров-программистов. Как и любой язык общего назначения, Python заставляет автора кода разбираться во множестве технических тонкостей. Ожидать, что один человек одновременно будет экспертом в цепочках поставок и программной инженерии, — слишком много. Возможности программирования должны быть доступны широкому кругу специалистов с технической подготовкой, а не только профессиональным разработчикам.

Во-вторых, стоимость сопровождения поспешно написанных прототипов на Python резко растет. Эти затраты необходимо сдерживать. Python неэкономно расходует вычислительные ресурсы, а оптимизация цепочек поставок — далеко не упорядоченный процесс. Для данных из множества ненадежных систем нужны надежные конвейеры; несовершенные и постоянно меняющиеся процессы необходимо документировать и моделировать; метрики оптимизации должны отражать изменения стратегии бизнеса. В Python почти нет заложенных в устройство языка гарантий корректности, которые помогли бы решать эти задачи.

Envision — наш ответ на эти задачи. Он обладает преимуществами, которых Python просто не может обеспечить:

  • Эшелонированная защита, предотвращающая целые классы проблем безопасности, возникающих при использовании языков общего назначения
  • Автоматическое управление производительностью, не позволяющее создавать программы, которые будут слишком медленными для практического применения в промышленной эксплуатации
  • Незаметные для пользователя обновления, позволяющие идти в ногу с постоянно меняющимися передовыми технологиями: улучшения обычно внедряются путем автоматического переписывания кода в фоновом режиме
  • Готовый программный стек, избавляющий от необходимости собирать десятки компонентов даже для простейшего приложения

Python — отличный язык, но, в отличие от Envision, он не решает должным образом задачу оптимизации цепочек поставок. Создать и сопровождать готовое к промышленной эксплуатации приложение машинного обучения на Python возможно, но дорого. Без целой команды инженеров-программистов, полностью занятой этой задачей, оно не будет работать в промышленной эксплуатации.