Разработка сервиса для повышения доходности брендовых тарифов

Контекст

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

Авиакомпания регулирует количество мест по тарифам в зависимости от спроса. Если спрос на билеты растет — количество мест по низким тарифам уменьшается. И наоборот, если спрос падает — оно может быть увеличено.

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

Текущая ситуация

С уходом зарубежных сервисов аналитики авиакомпаний формируют тарифные сетки, делая расчёты в Excel-таблицах. Такой способ не позволяет обрабатывать большие данные и рассчитывать оптимальные значения брендовой премии (добавленной стоимости за дополнительные услуги)

Задача

Спроектировать и разработать инструмент автоматизации работы аналитиков, который позволит увеличить прибыль авиакомпании за счёт построения оптимальной тарифной сетки.

Как мы работали

Для решения задачи подключили аутстаф-команду Reactive: аналитика, разработчика и проектного менеджера. Далее расскажем об этапах работы над проектом

Аналитика

Для погружения в контекст много общались с экспертом заказчика, который помогал разбираться в тонкостях работы аналитиков авиакомпаний. Дополнительно изучили десятки материалов: словарь авиационных сокращений, правила применения и формирования тарифов у разных авиакомпаний, статьи о логистике и оптимизации авиасообщения и т.д. Затем получили от заказчика идеи и алгоритмы расчётов, а также данные для них.

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

Программирование

Разработку сервиса вели с помощью языка программирования Python — отличный вариант для организации аналитического сервиса. Также использовали две библиотеки: NumPy — позволяет существенно ускорить вычисления в Python; и pandas — применяется для обработки и анализа табличных данных.

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

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

Как устроена работа сервиса

У пользователей системы может быть одна из двух ролей: администратор или аналитик. Администратор — это сотрудник авиакомпании, который отвечает за управление другими пользователями (аналитиками) и за настройки, используемые по умолчанию для расчётов оптимальной брендовой премии.

Аналитик — это сотрудник авиакомпании, который управляет тарифами и брендовой премией. Далее мы расскажем об использовании сервиса именно аналитиком.

Получение данных

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

Выбор маршрутов

Сначала из всего списка маршрутов авиакомпании аналитик выбирает те, которые нужны ему для работы. Выбранные маршруты попадут в его «портфолио». Например, если аналитик работает над тарифной сеткой южного направления, то может добавить в «портфолио» маршруты Москва — Сочи, Москва — Владикавказ и т.д.

У некоторых маршрутов похожие правила формирования цены. Поэтому такие маршруты аналитик может объединить в кластеры и управлять их брендовыми премиями одновременно.

Просмотр данных маршрута или кластера

В «портфолио» аналитик просматривает динамику изменения метрик для выбранного маршрута, начиная с указанной даты. Графики строятся по выбранным параметрам отдельно для каждого параметра и класса обслуживания на основе полученных сервисом данных тарифов и продаж.

Отображение данных в системе
Отображение данных в системе

Настройка и расчёт тарифа

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

Тестирование

Аналитик может протестировать гипотезы об изменении продаж в зависимости от стоимости билетов. Для этого он запускает тест, т.е. настраивает стоимость для тестовой и контрольной групп выбранных объектов в «портфолио». По результатам тестирования аналитик выбирает оптимальный размер брендовой премии.

Отображение данных в системе
Отображение данных в системе
Отображение данных в системе

Файлирование

В результате настройки значений брендовой премии аналитик получает тарифную сетку со всеми оптимальными ценами. Эти обновлённые данные можно автоматически отправить в Центр расписания и тарифов (ЦРТ) или выгрузить таблицу в формате .xls и отправить в ЦРТ вручную.

Результат

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

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

Заинтересовались этой разработкой? Оставьте заявку, и мы найдём решение вашей задачи.

Технологии

Miro, Python, Redis, NumPy, Pandas, Django, Celery, PostgreSQL, Jinja, Ploty