Авиасейлс

Прогноз цен на билеты, ранжирование предложений, поиск направлений

Метапоиск авиабилетов: пользователь ищет не рейс, а поездку, а цены меняются несколько раз в день и зависят от загрузки борта, дат и глубины покупки. Отсюда две характерные ML-задачи — предсказание динамики цен и ранжирование предложений, где дешевле не значит лучше.

Этапы отбора

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

Все форматы проверок →
  1. Скрининг

    Рекрутер уточняет направление: цены и прогнозы, поиск и ранжирование, аналитика продукта.

  2. Секция по Python и работе с данными

    Практическая секция: код и данные, работа с историей поисков и цен.

  3. ML-секция: модели, признаки, валидация

    ML-секция: постановка, признаки, валидация во времени, метрики.

  4. Продуктовая секция и A/B

    Продуктовая секция: эксперименты на поисковом трафике, метрики конверсии в переход и покупку.

  5. Финальная встреча

    Команда, задачи, уровень.

Что оценивают на любом направлении
  • Комфорт с данными, которые собираются самим сервисом: логи поисков — основной источник.
  • Понимание, что рекомендация влияет на поведение и следующая выборка будет смещена.
  • Уверенность в работе с временем: даты вылета, глубина покупки, часовые пояса.
  • Умение считать метрику до денег: переход к партнёру и завершённая покупка, а не клик.

Чем проверяют себя перед отбором

3 формата проверки из отбора Авиасейлс — и тест атласа под каждый. Слабые места видно сразу после захода, а темы для разбора собираются автоматически.

Код, который готовит данные: агрегаты, соединения, пропуски

На чём валятся
  • Код, который работает на примере и не масштабируется: построчные циклы вместо векторных операций.
  • Молчаливое отбрасывание пропусков без объяснения, почему это допустимо.

Классика табличных задач и честная проверка качества

На чём валятся
  • «Взял бустинг, получил 0.85 AUC» без бейзлайна и без объяснения, что это значит для продукта.
  • Случайное разбиение в задаче, где данные упорядочены во времени.
24 вопроса в банкеТест: Классический ML

Продуктовая секция и A/B

Statistics & experimentation

Дизайн эксперимента, значимость и решение по результату

На чём валятся
  • Остановка теста в момент, когда p-value впервые стало меньше 0,05.
  • Вывод по срезу, найденному после эксперимента, без поправки.

Программа подготовки под компанию

18 тем по всем направлениям Авиасейлс — если команда ещё не выбрана. Программа разложит их по неделям от математики к продакшену; под конкретное направление список короче, и его можно собрать ниже.

Собрать программу подготовки

Эти 18 тем можно разложить по неделям: программа выстроит их от математики к продакшену, поставит тест в конце каждой недели и вернёт тему на повторение, если вы в ней ошиблись. Выйдет примерно 4 недели под Авиасейлс · Все направления.

Проверяем, вошли ли вы…

Направления

Выберите направление: обязательные темы со ссылками в атлас, типовые вопросы с ответами и тест для самопроверки.

Все тесты →
Направление

Прогноз цен и подсказкиPrice Forecasting

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

Пройти тест: Временные ряды (24 вопроса)
Собрать программу подготовки

Эти 10 тем можно разложить по неделям: программа выстроит их от математики к продакшену, поставит тест в конце каждой недели и вернёт тему на повторение, если вы в ней ошиблись. Выйдет примерно 2 недели под Авиасейлс · Прогноз цен и подсказки.

Проверяем, вошли ли вы…

Типовые вопросы секции (4)
Что именно предсказывать: цену или решение?

Решение: вероятность того, что через N дней цена окажется ниже текущей. Пользователю нужен ответ «ждать или брать», и такая постановка сразу даёт калиброванную величину, которую можно показывать как уверенность. Прогноз абсолютной цены тут промежуточный и менее полезный.

Разбор в атласе: Problem formulation — Постановка задачи
Какие признаки работают в прогнозе цены билета?

Глубина покупки (сколько дней до вылета), день недели вылета и возврата, сезон и праздники, история цен по маршруту, загрузка направления, число перевозчиков на маршруте. Глубина покупки — самый сильный признак: динамика цены почти всегда привязана к нему.

Разбор в атласе: Feature engineering — Конструирование признаков
Как валидировать подсказку «подожди, подешевеет»?

Бэктестом по времени с честным горизонтом: смотрим, что реально произошло с ценой через N дней после момента предсказания, и считаем не только точность, но и экономию в деньгах — сколько пользователь сэкономил бы, следуя подсказке, против стратегии «купить сразу».

Разбор в атласе: Cross-validation — Кросс-валидация
Подсказка влияет на поведение пользователей. Чем это опасно для данных?

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

Разбор в атласе: A/B testing — A/B-тестирование
Что сделать руками до собеседования
  • Постройте классификатор «подешевеет через неделю» и проверьте его калибровку.
  • Сделайте бэктест по времени и посчитайте экономию в деньгах против стратегии «купить сразу».
  • Сравните качество на разных глубинах покупки — модель почти наверняка ведёт себя по-разному.