X5 Tech

Прогноз спроса и заказы, цены и промо, персонализация в лояльности

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

Этапы отбора

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

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

    Рекрутер уточняет направление: спрос и пополнение, ценообразование, лояльность и персонализация, платформа данных.

  2. SQL-секция

    SQL-секция: чеки, товародвижение, остатки. Витрины большие, и выборку кандидат готовит сам.

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

    ML-секция: модели на табличных данных и рядах, валидация во времени, метрики и их перевод в деньги.

  4. Секция по временным рядам и спросу

    Направленческая секция для команд спроса: сезонность, промо, прерывистые ряды, горизонты планирования.

  5. Секция дизайна ML-системы

    На middle+ — дизайн: система пополнения на тысячи магазинов или ценообразование целиком.

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

    Руководитель: задачи, уровень, взаимодействие с операционным бизнесом.

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

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

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

SQL-секция

SQL interview

Соединения, оконные функции и цена запроса на большой таблице

На чём валятся
  • COUNT(*) вместо COUNT(поле) после LEFT JOIN — классическая тихая ошибка.
  • Запрос без фильтра по ключу разбиения: на боевой таблице он просто не доедет.

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

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

От постановки до эксплуатации на одной доске

На чём валятся
  • Прыжок в архитектуру с первой минуты, без требований и метрик.
  • Схема, которая заканчивается обучением модели: ни выката, ни мониторинга.
22 вопроса в банкеТест: Дизайн ML-систем

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

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

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

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

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

Направления

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

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

Спрос и пополнениеDemand & Replenishment

Прогноз продаж по каждому товару в каждом магазине и автоматический заказ. Специфика — миллионы рядов, короткие сроки годности, промо и постоянные изменения ассортимента.

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

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

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

Типовые вопросы секции (4)
Почему прогноз продаж и прогноз спроса — не одно и то же?

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

Разбор в атласе: Problem formulation — Постановка задачи
Как модель должна вести себя со скоропортящимся товаром?

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

Разбор в атласе: MAE — Средняя абсолютная ошибка
Промо ломает историю. Как учитывать акции в прогнозе?

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

Разбор в атласе: Feature engineering — Конструирование признаков
Прогноз нужен по магазину, а закупка — по распределительному центру. Как связать уровни?

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

Разбор в атласе: Hierarchical Forecasting — Иерархические прогнозы
Что сделать руками до собеседования
  • Обучите глобальную модель по всем рядам и сравните с сезонным наивным прогнозом на бэктесте.
  • Реализуйте квантильную функцию потерь и покажите, как меняется заказ при разных соотношениях стоимости ошибок.
  • Согласуйте прогнозы двух уровней иерархии и измерьте, сколько теряется при рассогласовании.