Контекст
Один из эффективных инструментов управления экономикой любой авиакомпании — регулирование авиатарифов. На каждом рейсе может быть несколько десятков тарифов в разных классах обслуживания, при этом цена билета может отличаться в несколько раз.
Авиакомпания регулирует количество мест по тарифам в зависимости от спроса. Если спрос на билеты растет — количество мест по низким тарифам уменьшается. И наоборот, если спрос падает — оно может быть увеличено.
Стратегию построения тарифной сетки определяет график спроса, расчётная сумма издержек и цены конкурентов. Чтобы всё это анализировать и влиять на доходность авиакомпании, нужен специальный сервис — его разработкой занимается команда Reactive.
Текущая ситуация
С уходом зарубежных сервисов аналитики авиакомпаний формируют тарифные сетки, делая расчёты в Excel-таблицах. Такой способ не позволяет обрабатывать большие данные и рассчитывать оптимальные значения брендовой премии (добавленной стоимости за дополнительные услуги)
Задача
Спроектировать и разработать инструмент автоматизации работы аналитиков, который позволит увеличить прибыль авиакомпании за счёт построения оптимальной тарифной сетки.
Как мы работали
Для решения задачи подключили аутстаф-команду Reactive: аналитика, разработчика и проектного менеджера. Далее расскажем об этапах работы над проектом
Аналитика
Для погружения в контекст много общались с экспертом заказчика, который помогал разбираться в тонкостях работы аналитиков авиакомпаний. Дополнительно изучили десятки материалов: словарь авиационных сокращений, правила применения и формирования тарифов у разных авиакомпаний, статьи о логистике и оптимизации авиасообщения и т.д. Затем получили от заказчика идеи и алгоритмы расчётов, а также данные для них.
На основе этого спроектировали структуру базы данных, проработали пользовательские сценарии, создали прототипы системы и написали техническое задание на разработку.
Программирование
Разработку сервиса вели с помощью языка программирования Python — отличный вариант для организации аналитического сервиса. Также использовали две библиотеки: NumPy — позволяет существенно ускорить вычисления в Python; и pandas — применяется для обработки и анализа табличных данных.
Настроили ELT-процесс, при котором данные о продажах, тарифах, маршрутах авиакомпании извлекаются в сыром виде, а затем загружаются в озеро данных, где преобразуются в форматы, необходимые для дальнейшего анализа системой.
Настроили интеграцию с API Центрального банка РФ. Это нужно, чтобы в сервис поступали актуальные курсы валют для работы с ценами на билеты международных рейсов.
Как устроена работа сервиса
У пользователей системы может быть одна из двух ролей: администратор или аналитик. Администратор — это сотрудник авиакомпании, который отвечает за управление другими пользователями (аналитиками) и за настройки, используемые по умолчанию для расчётов оптимальной брендовой премии.
Аналитик — это сотрудник авиакомпании, который управляет тарифами и брендовой премией. Далее мы расскажем об использовании сервиса именно аналитиком.
Получение данных
В системе каждую ночь актуализируются данные тарифов, продаж, маршрутов, продаж дополнительных услуг и сборов авиакомпании. На основе полученных данных формируются графики и аналитические расчёты, которые нужны для работы аналитиков авиакомпании.
Выбор маршрутов
Сначала из всего списка маршрутов авиакомпании аналитик выбирает те, которые нужны ему для работы. Выбранные маршруты попадут в его «портфолио». Например, если аналитик работает над тарифной сеткой южного направления, то может добавить в «портфолио» маршруты Москва — Сочи, Москва — Владикавказ и т.д.
У некоторых маршрутов похожие правила формирования цены. Поэтому такие маршруты аналитик может объединить в кластеры и управлять их брендовыми премиями одновременно.
Просмотр данных маршрута или кластера
В «портфолио» аналитик просматривает динамику изменения метрик для выбранного маршрута, начиная с указанной даты. Графики строятся по выбранным параметрам отдельно для каждого параметра и класса обслуживания на основе полученных сервисом данных тарифов и продаж.
Настройка и расчёт тарифа
Далее аналитик может рассчитать и настроить брендовую премию. Используя фильтры, аналитик получает данные тарифов за необходимый период. Затем изучает таблицу изменения брендовой премии и находит то значение, которое в данном ценовом диапазоне показало себя лучшим образом, т.е. где выручка на пассажира выше.
Тестирование
Аналитик может протестировать гипотезы об изменении продаж в зависимости от стоимости билетов. Для этого он запускает тест, т.е. настраивает стоимость для тестовой и контрольной групп выбранных объектов в «портфолио». По результатам тестирования аналитик выбирает оптимальный размер брендовой премии.
Файлирование
В результате настройки значений брендовой премии аналитик получает тарифную сетку со всеми оптимальными ценами. Эти обновлённые данные можно автоматически отправить в Центр расписания и тарифов (ЦРТ) или выгрузить таблицу в формате .xls и отправить в ЦРТ вручную.
Результат
Разработанную систему управления доходами уже внедрили несколько авиакомпаний. Ведь для руководства любой авиакомпании планирование продаж означает предсказуемость и понимание ожидаемых показателей. А это позволяет управлять инвестициями, смещать фокус с ручного регулирования цен на улучшение сервиса и качества услуг, а также оптимизировать операционные процессы компании.
Сейчас мы продолжаем дорабатывать сервис: получаем новые задачи от заказчика, описываем, разрабатываем, тестируем и внедряем новые функциональности, чтобы авиакомпании ещё эффективнее управляли своей доходностью.
Заинтересовались этой разработкой? Оставьте заявку, и мы найдём решение вашей задачи.
Технологии
Miro, Python, Redis, NumPy, Pandas, Django, Celery, PostgreSQL, Jinja, Ploty