Разработка и внедрение WFM процесса в Центр модерации и поддержки сайта Avito
Данная работа посвящена решению задач для центра модерации и поддержки компании Avito. Первая задача – прогнозирование потока обращений. Она необходима для решения второй задачи, поскольку ее решение будет являться обязательным входным параметром для обучения модели. Вторая задача – расчет оптимального количества сотрудников для обработки обращений пользователей. Кроме того, необходимо оптимизировать их рабочие смены так, чтобы выполнялись ключевые метрики. Решение данной задачи возможно реализовать с помощью эвристики, а именно генетического алгоритма с несколькими фитнес-функциями.
Третья задача – имплементация ETL-процесса с помощью технологии Airflow. Код программ, реализованный при решении первой и второй задач необходимо запускать еженедельно. Кроме того, код для каждого канала обращений должен исполняться параллельно, чтобы сократить общее время работы. Выходные данные должны записываться в хранилище в соответствующие таблицы.
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Глава 1. Описение процессов . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Система массового обслуживания . . . . . . . . . . . . . . . . 5
1.2. WFM как управление СМО . . . . . . . . . . . . . . . . . . . . 6
1.3. Facebook Prophet . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4. Генетический алгоритм . . . . . . . . . . . . . . . . . . . . . . 9
1.5. Apache Airflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Глава 2. Задача прогнозирования входящего потока обращений . . . 14
2.1. Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2. Выбор модели . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3. Описание модели . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4. Результаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Глава 3. Задача расчета оптимального количества сотрудников и их
графиков работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1. Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2. Выбор моделей . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3. Описание моделей . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4. Результаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Глава 3. ETL-процесс . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1. Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2. Описание метода . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3. Результаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Современные технические средства позволяют разработать
и автоматизировать процесс оптимального [1] планирования
штата сотрудников компании с помощью методов и алгоритмов
искусственного интеллекта. Для реализации необходимо фор-
мализовать процесс работы сотрудников, требования и цели.
Данная работа посвящена решению задач для центра моде-
рации и поддержки компании Avito. На рынке уже существу-
ют готовые WFM-решения [2] для управления СМО [3] с ожи-
данием, в которых имеется накопитель бесконечной емкости,
но ввиду их стоимости и ограниченного функционала, было
решено имплементировать собственное решение, которое мож-
но модернизировать самостоятельно. Готовые решения зача-
стую не имеют открытого кода, поэтому добавление новой логи-
ки или модернизация старой производится только компанией-
разработчиком.
Первая задача — прогнозирование потока обращений. Она
необходима для решения второй задачи, поскольку ее решение
будет являться обязательным входным параметром для обуче-
ния модели. Решить ее дает возможность библиотека fbprophet
[4][5][6] от компании Facebook.
Вторая задача — расчет оптимального количества сотруд-
ников для обработки обращений пользователей. Кроме того,
необходимо оптимизировать их рабочие смены так, чтобы дер-
жать ключевые метрики и не нарушать Трудовой Кодекс РФ.
Решение данной задачи возможно реализовать с помощью эври-
стики [7], а именно генетического алгоритма [8] с несколькими
фитнес-функциями в два этапа. Первый этап — расчет необ-
ходимого количества рабочих смен для каждого дня недели.
Второй этап — расчет необходимого количества сотрудников,
которые могут оптимально покрыть количество рабочих смен,
рассчитанное на первом этапе.
Третья задача — имплементация ETL-процесса [9] с помо-
щью технологии Airflow [10]. Код программ, реализованный при
решении первой и второй задач необходимо запускать ежене-
дельно. Кроме того, код для каждого канала обращений дол-
жен исполняться параллельно, чтобы сократить общее время
работы. Выходные данные должны записываться в хранилище
в соответствующие таблицы.
Для компании Avito был реализован WFM процесс, с помо-
щью которого наиболее оптимально планируются рабочие гра-
фики для большого штата сотрудников.
На языке Python были имплементированы генетические ал-
горитмы. Для решения первой задачи, прогнозирования вхо-
дящего потока обращений, использавалась библиотека prophet
от Facebook. Решение второй задачи, поиска оптимальных ра-
бочих смен были написаны генетические алгоритмы с несколь-
кими фитнес-функциями. Реализована возможность изменения
этих функций и их приоритетов.
Для реализации параллельного ETL-процесса был использо-
ван Apache Airflow. Для своевременного и параметризованного
запуска алгоритмов на языках Python и SQL были написаны
сенсор, операторы и направленный ацикличный граф.
Для визуализации результатов использовалась BI система
Tableau. Возможность просматривать и обновлять этот от-
чет заинтересованными сотрудниками предоставляет Tableau
Server.
Последние выполненные заказы
Хочешь уникальную работу?
Больше 3 000 экспертов уже готовы начать работу над твоим проектом!