Полет нормальный: как роботы помогли авиакомпании NordStar интегрировать системы без API
Дано:
Авиакомпания NordStar — российская авиакомпания, входящая в число 15 крупнейших авиакомпаний России по данным Росавиации.
Rosterize — система оптимизационного планирования работы экипажей авиакомпании.
ELMA RPA — программные роботы, продукт вендора ELMA.
Crew — производственная система авиакомпании NordStar.
Задача:
Интегрировать в информсреду NordStar систему Rosterize при условии, что производственная система авиакомпании Crew не имеет необходимого API — то есть технического способа взаимодействия с другой системой нет. Это значит, что перенос планов работы экипажей из Rosterize в производственную систему необходимо выполнять вручную.
Решение:
Создать API без API при помощи программных роботов ELMA RPA, имитирующих действия пользователя.
Боль:
Расписание работы экипажей авиакомпании подвержено регулярному изменению из-за множества факторов: метеоусловия, состояние здоровья членов экипажа, изменения в расписании, сбои в работе аэропортовых служб.
Задача составления оптимального расписания работы экипажей авиакомпаний является одной из самых сложных в области оптимизации. Это всем известная «задача коммивояжера» помноженная на «составление расписания» — число возможных вариантов очень быстро становится невообразимым.
Чтобы понять масштаб, ниже приведена грубая формула для оценки количества вариантов:
А в данном кейсе речь идет об одной из крупнейших авиакомпаний России.
Традиционный подход — это не только Excel-таблицы, но и большие ватманы со множеством разноцветных стрелок и кружков, и многолетний опыт планировщиков — они отчасти интуитивно знают «как правильно». Важно понимать, что человеку необходимо принять во внимание огромное количество условий, как например: квалификация, текущий и плановый налет, число рабочих дней после выходных, отпуска и различные мероприятия, психологическая совместимость, и всем членам экипажа нужно дать схожие условия работы. А расписание — это живой организм, который меняется постоянно, его нельзя сделать один раз на месяц.
По мере роста авиакомпании проблема становилась все серьезнее. В итоге решили использовать ИТ-инструменты для помощи группе планирования.
Глобальные цели автоматизации:
- Увеличить глубину достоверного оперативного плана.
- Обеспечить схожие условия работы для всех членов экипажа (социальная справедливость).
- Дополнительный превентивный контроль соблюдения требований законодательства в области условия работы членов экипажа.
Поиск ИТ-инструментов начался с 2017 года
Сначала пригласили один из научных институтов разработать алгоритм — не получилось. В 2018 году пытались сделать собственными силами и поняли, что нужно искать готовое решение. Весь 2019 год проводили детальное изучение рынка и в конце 2019 года NordStar по итогам конкурса пилотных проектов выбрали российский стартап Rosterize.
Что такое Rosterize? Кратко.
Rosterize — это цифровой облачный сервис оперативного оптимизационного планирования работы экипажей авиакомпаний, не требующий внутреннего ИТ-отдела. Система основывается на текущем оперативном состоянии (расписаниях рейсов и резервов, расположении и состоянии экипажей), планах (назначениях, мероприятиях, отсутствиях), и так далее.
Rosterize решает задачу так называемой многокритериальной оптимизации, учитывая при поиске наилучшего расписания работы не только финансовую составляющую, но и риски, упущенную прибыль и конечно же мотивацию экипажей.
Rosterize — не просто классическая аналитическая система, которая забирает из «транзакционной» системы данные для анализа, но и помимо детальной аналитики формирует рекомендацию по тому, какие именно действия необходимо произвести, чтобы «стало лучше».
Результат работы сервиса – план, включающий в себя связки рейсов, назначение экипажей на рейсы и резервы, графики отдыха дома и вне базы, финансовые и экономические показатели, требующие внимания «отклонения». В первой половине 2020, прямо в начале пандемии, система Rosterize была запущена в NordStar. Работа менеджеров по планированию изменилась — при возникновении необходимости актуализировать план работы пилотов и бортпроводников, они заходят в Rosterize, запускают необходимый сценарий работы системы и через некоторое время получают новое расписание работы экипажей, которое, конечно же, можно выгрузить в Excel.
Финальное решение о графике работы конечно же принимает только человек, он может принять все рекомендации системы, или частично не согласиться.
При чем тут роботы?
Большая часть необходимой информация для работы Rosterize ведется в производственной системе авиакомпании Crew и обновляется в режиме реального времени. Поэтому Rosterize делает мгновенный снимок необходимых данных из «транзакционной» системы каждый раз перед началом выполнения задания, однако вернуть результаты автоматом обратно в производственную систему не может из-за отсутствия API в Crew.
Полученные расчеты от Rosterize менеджер по планированию был бы вынужден руками переносить обратно в Crew.
И хотя не все сценарии работы с Rosterize требовали ручного переноса данных, конечно же такой вариант не устраивал команду NordStar. Вот тут в нашем кейсе и появляются роботы ELMA RPA.
RPA (Robotic Process Automation) – это технология автоматизации бизнес-задач при помощи программных роботов. Роботы забирают на себя выполнение повторяющихся, решаемых вручную задач, освобождая сотрудников для более важной работы.
Робот забирает результаты расчета Rosterize и вносит их в производственную систему через интерфейсы системы, созданные для человека.
И чем же это отличается от сотен других описаний кейсов использования RPA?
Принципиальное отличие в том, что робот не повторяет действие пользователя. Нет, робот конечно же кликает мышкой, открывает окна, находит в таблице нужную строку и как-то ее редактирует. Но, это не сценарий работы пользователя, мы не могли просто взять «пользовательский путь» и переложить его на робота, нам пришлось продумать новый RPA-Experience.
Ввод данных в Crew — это не поколотить мышкой — тут думать нужно. Например, если нужно внести назначение пилота на «связку рейсов», то сначала надо проверить, нет ли у него на этот период других назначений, которые нужно убрать. После этого найти «связку», которая может быть еще не введена, тогда ее нужно создать. А если нужно создать новую «связку», то перед этим нужно освободить все рейсы новой связки от «старой», и еще на пару уровней вглубь.
Усложняет это еще тот факт, что данные в производственной системе меняются непрерывно — перед каждым действием «робота» необходимо проверять состояние системы и минимизировать шанс ввода недостоверных данных.
Ну и добавим к этому, что пользовательские интерфейсы Crew работают не мгновенно, каждое действие пользователя в системе — это заметное время.
Поэтому от классического подхода «повторения действий пользователя» перешли к набору «элементарных» операций, каждая из которых была реализована в виде RPA робота. В зависимости от тех изменений, которые нужно внести в производственную систему, интеграционный модуль Rosterize разбивает их на простые действия и последовательно запускает соответствующих роботов, которых потребовалось создать 7 штук:
- Создание рейса сторонней авиакомпании для пассажирского перемещения экипажа
- Создание связки рейсов
- Удаление связки рейсов
- Назначение экипажа на связку
- Снятие членов экипажа с назначения
- Назначение экипажа на резерв
- Снятие экипажа с резерва
Вся бизнес логика реализована в Rosterize, роботы выполняют «элементарные» операции, которые не такие уж и простые — время выполнения одной такой операции измеряется десятками секунд.
Схема получилась следующая:
Выгоды использования ELMA RPA:
- Освобождение времени менеджеров по планированию, которые всегда заняты.
- Отсутствие ошибок, связанных с человеческим фактором.
- Робот не устает, не ходит в отпуск и не отвлекается.
Сроки внедрения: В июне 2020 года — старт проекта интеграции при помощи RPA. Опытно-промышленная эксплуатация началась уже в сентябре 2020 год.
Итог
Проект внедрения Rosterize и последовавшей интеграции с производственной системой пришелся на «ковидный» год. Нет возможности сравнивать метрики до пандемии и сегодня, так как сфера авиаперевозок претерпела сильные изменения.
Приход пандемии не отменил задачу оптимального планирования, а лишь поменял акценты. Мир стал меняться еще стремительнее, реагировать нужно быстрее, и перепланирование нужно делать чаще, хотя и рейсов временно стало меньше.
И хотя запуск проекта пришелся на период спада, цели которые ставились перед проектом выполнены: глубина планирования выросла, критерии «социальной справедливости» систематизированы и поддерживаются системой, появился дополнительный контроль требований регуляторов.
«До начала пандемии на рынке катастрофически не хватало пилотов. Жуткая проблема, особенно для не самых крупных авиакомпаний, где каждый пилот на счету. Во время пандемии мы не отказались от проекта с Rosterize, наоборот — использовали время, чтобы повысить эффективность своих процессов и лучше подготовиться к восстановлению отрасли, которое мы все верим, не за горами», — сказал заместитель генерального директора, директор по финансам и экономике авиакомпании NordStar Петр Бочаров.
«Задача автоматизированного планирования экипажей авиакомпаний имеет плохую репутацию, очень многие наши коллеги из других авиакомпаний пытались ее решить, были затрачены огромные временные и финансовые ресурсы, а полученные результаты оказывались далеки от того, чтобы отказаться от ручного планирования. Как следствие, изначально отношение к проекту было очень скептическое — в успех не верили. Поэтому мы сейчас особенно рады полученным с Rosterize результатам» — поделился руководитель группы планирования летных экипажей Егор Дударев.
«Мы выбрали ELMA RPA поскольку видели заинтересованность производителя развивать продукт и оперативно учитывать наши потребности. Для Rosterize, как для стартапа, важна скорость реакции партнера, а не громкое имя, рыночная доля или место в магическом квадранте. Наличие RPA интеграции обеспечивает нам определенное стратегическое преимущество на рынке и является ценной функциональностью для наших пользователей» — рассказал со-основатель Rosterize Максим Андреев.