Получите управление рабочей силой end-to-end Amazon Forecast и AWS Step Functions

Управляйте рабочей силой с помощью Amazon Forecast и AWS Step Functions на всех этапах процесса

Это гостевой пост, совместно написанный Nafi Ahmet Turgut, Mehmet İkbal Özmen, Hasan Burak Yel, Fatma Nur Dumlupınar Keşir, Mutlu Polatcan и Emre Uzel из компании Getir.

Getir является пионером в области сверхбыстрой доставки продуктов. Эта технологическая компания совершила революцию в доставке на последнем километре с помощью своего предложения по доставке продуктов за несколько минут. Getir была основана в 2015 году и работает в Турции, Великобритании, Нидерландах, Германии и Соединенных Штатах. Сегодня Getir – это крупный конгломерат, объединяющий девять вертикалей под одним брендом.

В этом посте мы описываем систему управления рабочей силой “от начала и до конца”, которая начинается с прогнозирования спроса на определенной территории, а затем включает планирование рабочей силы курьеров и назначение смен с помощью Amazon Forecast и AWS Step Functions.

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

Amazon Forecast – это полностью управляемый сервис, использующий алгоритмы машинного обучения для предоставления высокоточного прогноза временных рядов. В этом посте мы описываем, как мы сократили время моделирования на 70%, выполнив инженерию функций и моделирование с использованием Amazon Forecast. Мы достигли сокращения времени на 90% при выполнении алгоритмов планирования для всех складов с использованием AWS Step Functions, который является полностью управляемым сервисом, облегчающим координацию компонентов распределенных приложений и микросервисов с помощью визуальных рабочих процессов. Это решение также привело к улучшению точности прогнозирования на 90% по всей Турции и нескольким европейским странам.

Обзор решения

Проект управления рабочей силой от начала и до конца (E2E Project) является крупномасштабным проектом и может быть описан в трех темах:

1. Расчет потребностей в курьерах

Первый шаг – оценить часовой спрос для каждого склада, как объясняется в разделе выбора алгоритма. Эти прогнозы, полученные с помощью Amazon Forecast, помогают определить, когда и сколько курьеров нужно каждому складу.

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

2. Решение проблемы назначения смен

После определения потребностей в курьерах и знания других ограничений курьеров и складов мы можем решить проблему назначения смен. Проблема моделируется с помощью решающих переменных, определяющих назначаемых курьеров и создающих графики смен, минимизируя излишки и нехватку, которые могут вызвать неисполнение заказов. Обычно это проблема целочисленного программирования (MIP).

3. Использование служб AWS Step Functions

Мы используем службу AWS Step Functions для координации и управления рабочими процессами с ее способностью выполнять задания параллельно. Процесс назначения смен для каждого склада определен как отдельный рабочий процесс. AWS Step Functions автоматически инициирует и контролирует эти рабочие процессы, упрощая обработку ошибок.

Поскольку для этого процесса требуется обширные данные и сложные вычисления, сервисы, такие как AWS Step Functions, предлагают значительное преимущество в организации и оптимизации задач. Они обеспечивают более удобный контроль и эффективное управление ресурсами.

В архитектуре решения мы также пользуемся другими сервисами AWS, интегрируя их в AWS Step Functions:

  • AWS Batch: для пакетной обработки
  • Amazon DynamoDB: для хранения информации о складах
  • AWS Lambda: для получения данных из Amazon Redshift и уведомления о сбоях в каналах Slack
  • Amazon CloudWatch: для планирования cron-задач и запуска рабочего процесса

Следующие диаграммы показывают рабочие процессы AWS Step Functions и архитектуру инструмента сдвига:

Рисунок 1. Рабочие процессы AWS Step Functions

Рисунок 2. Архитектура инструмента сдвига

Выбор алгоритма

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

Эта составляющая прогнозирования является решающей в рамках фреймворка E2E, так как последующие фазы зависят от этих прогнозов. Таким образом, любая неточность прогноза может негативно сказаться на эффективности всего проекта.

Цель фазы прогнозирования спроса на местности заключается в генерации прогнозов на основе страны для каждого склада сегментированного по часам в ближайшие две недели. Сначала создаются ежедневные прогнозы для каждой страны с помощью моделей машинного обучения. Эти ежедневные прогнозы затем разбиваются на часовые сегменты, как показано на графике ниже. В модели используются исторические данные о спросе, информация о погоде по местоположению, даты праздников, данные о акциях и маркетинговые кампании, как показано на графике.

Рисунок 3. Архитектура прогнозирования в зависимости от местоположения

Команда изначально исследовала традиционные методы прогнозирования, такие как открытые исходные коды SARIMA (сезонная авторегрессионная интегрированная скользящая средняя), ARIMAX (авторегрессионная интегрированная скользящая средняя с использованием экзогенных переменных) и Экспоненциальное сглаживание.

ARIMA (авторегрессионная интегрированная скользящая средняя) — метод прогнозирования временных рядов, который объединяет авторегрессионный (AR) и скользящий средний (MA) компоненты с дополнительным дифференцированием для приведения временного ряда к стационарной форме.

SARIMA расширяет ARIMA за счет введения дополнительных параметров для учета сезонности во временном ряде. Он включает сезонные авторегрессионные и сезонные скользящие средние члены для улавливания повторяющихся паттернов в определенные интервалы, что делает его подходящим для временных рядов с сезонной составляющей.

ARIMAX основывается на ARIMA и вводит экзогенные переменные, которые являются внешними факторами, влияющими на временной ряд. Дополнительные переменные учитываются в модели для улучшения точности прогнозирования путем учета внешнего влияния, превышающего исторические значения временного ряда.

Экспоненциальное сглаживание – это еще один метод прогнозирования временных рядов, который, в отличие от ARIMA, основан на взвешенных средних прошлых наблюдений. Он особенно эффективен для отслеживания тенденций и сезонности в данных. Метод назначает экспоненциально убывающие веса прошлым наблюдениям, при этом более новые наблюдения получают более высокие веса.

В конечном итоге для алгоритмического моделирования были выбраны модели Amazon Forecast: Конволюционная нейронная сеть – Квантильная регрессия (CNN-QR), DeepAR+, Пророк, Непараметрический временной ряд (NPTS), Авторегрессионное интегрированное скользящее среднее (ARIMA) и Экспоненциальное сглаживание (ETS). Проведенный анализ результатов прогнозирования позволил определить, что CNN-QR превосходит другие модели по эффективности. CNN-QR – это собственный алгоритм машинного обучения, разработанный Amazon для прогнозирования скалярных (одномерных) временных рядов с использованием причинных сверточных нейронных сетей (CNN). При наличии разнообразных источников данных в данной ситуации применение алгоритма CNN-QR облегчило интеграцию различных функций, работая в рамках обучения с учителем. Это отличает его от моделей прогнозирования временных рядов с единственной переменной и значительно повышает производительность.

Использование Forecast оказалось эффективным из-за простоты предоставления необходимых данных и спецификации продолжительности прогноза. Впоследствии, Forecast использует алгоритм CNN-QR для генерации прогнозов. Этот инструмент значительно ускорил процесс для нашей команды, особенно в алгоритмическом моделировании. Кроме того, использование Amazon Simple Storage Service (Amazon S3) для хранения репозиториев входных данных и Amazon Redshift для хранения результатов обеспечило централизованное управление всей процедурой.

Заключение

В этой статье мы показали, как проект E2E Getir демонстрирует, как объединение сервисов Amazon Forecast и AWS Step Functions эффективно оптимизирует сложные процессы. Мы достигли впечатляющей точности прогнозирования около 90% по всей Европе и Турции, а использование Forecast сократило время моделирования на 70% за счет его эффективной работы с инжинирингом и моделированием.

Использование сервиса AWS Step Functions привело к практическим преимуществам, в частности, сокращению времени планирования на 90% для всех складов. Кроме того, учитывая требования поля, мы улучшили показатели соблюдения правил на 3%, что помогло более эффективно распределять рабочую силу. Это, в свою очередь, подчеркивает успех проекта в оптимизации операций и предоставлении услуг.

Для доступа к дополнительным подробностям о начале вашего пути с Forecast, пожалуйста, обратитесь к доступным ресурсам Amazon Forecast. Кроме того, для получения информации о создании автоматизированных рабочих процессов и создании конвейеров машинного обучения вы можете изучить AWS Step Functions для полного руководства.