End-to-End ML-система для ранжирования и динамического ценообразования в маркетплейсе
Bazar — это production-ориентированный ML-проект, моделирующий систему принятия решений для онлайн-маркетплейса.
Проект воспроизводит полный ML-пайплайн — от пользовательского поискового запроса до финального решения о порядке товаров и их цене.
Цель — продемонстрировать, как методы машинного обучения могут повышать релевантность, конверсию и выручку в e-commerce.
Основные направления:
- Learning-to-Rank для поисковой выдачи
- Динамическое ценообразование на основе исторических данных
- Воспроизводимые ML-пайплайны
- Корректная offline-оценка качества
- Инженерный подход к разработке моделей
Современные маркетплейсы теряют выручку по двум ключевым причинам:
- Нерелевантная поисковая выдача, снижающая CTR и конверсию.
- Статические цены, не учитывающие спрос, сезонность и рыночные условия.
Проект Bazar решает эти задачи следующим образом:
- Ранжирование товаров по релевантности поисковому запросу пользователя с использованием learning-to-rank моделей и оптимизацией по метрике NDCG@K.
- Прогнозирование ценового диапазона с помощью квантильной регрессии и последующим применением бизнес-ограничений.
Система моделирует реалистичный ML-процесс в маркетплейсе и приближена к production-подходу.
- Разделение данных без leakage (grouped split по
query_id) - Feature engineering (текстовые и статистические признаки)
- Модель CatBoostRanker (YetiRank)
- Offline-оценка качества по NDCG@10
- Сохранение модели и метаданных
- Лаговые и скользящие признаки
- Квантильная регрессия для прогнозирования диапазона цен
- Моделирование средней цены и логарифма ширины диапазона
- Decision-layer с бизнес-ограничениями
- Воспроизводимый пайплайн обучения
Проект следует production-подходу к ML-разработке:
- Явное разделение train/validation для предотвращения утечки данных
- Метрики, приближенные к бизнес-целям
- Конфигурационно-управляемое обучение
- Сохранение артефактов (модель + метаданные)
- Модульная структура проекта
- Подготовка модели к inference через API
Проект является симуляцией production-системы и носит учебно-демонстрационный характер.
Ограничения:
- Используются публичные или синтетические данные, которые могут отличаться от реальных production-распределений.
- Offline-метрики (NDCG@K, регрессионные ошибки) используются как прокси бизнес-метрик (CTR, конверсия, выручка).
- Отсутствует real-time обучение и reinforcement learning.
- Не реализованы A/B тестирование и масштабируемая распределённая инфраструктура.
Несмотря на это, архитектура и инженерные решения соответствуют реальным практикам ML-разработки в e-commerce.
- Python
- pandas / NumPy
- scikit-learn
- CatBoost
- PyTorch
- FastAPI
- MLflow
- Docker
- Реализация online inference сервиса
- Дашборд для отслеживания экспериментов
- Абстракция feature store
- Мониторинг качества и data drift
- Симуляция A/B-тестирования
- Architecture overview:
docs/README_ARCH.md# Bazar