Skip to content

Dimon30/Bazar

Repository files navigation

Bazar

End-to-End ML-система для ранжирования и динамического ценообразования в маркетплейсе


Обзор проекта

Bazar — это production-ориентированный ML-проект, моделирующий систему принятия решений для онлайн-маркетплейса.

Проект воспроизводит полный ML-пайплайн — от пользовательского поискового запроса до финального решения о порядке товаров и их цене.
Цель — продемонстрировать, как методы машинного обучения могут повышать релевантность, конверсию и выручку в e-commerce.

Основные направления:

  • Learning-to-Rank для поисковой выдачи
  • Динамическое ценообразование на основе исторических данных
  • Воспроизводимые ML-пайплайны
  • Корректная offline-оценка качества
  • Инженерный подход к разработке моделей

Бизнес-проблема

Современные маркетплейсы теряют выручку по двум ключевым причинам:

  1. Нерелевантная поисковая выдача, снижающая CTR и конверсию.
  2. Статические цены, не учитывающие спрос, сезонность и рыночные условия.

Проект Bazar решает эти задачи следующим образом:

  • Ранжирование товаров по релевантности поисковому запросу пользователя с использованием learning-to-rank моделей и оптимизацией по метрике NDCG@K.
  • Прогнозирование ценового диапазона с помощью квантильной регрессии и последующим применением бизнес-ограничений.

Система моделирует реалистичный ML-процесс в маркетплейсе и приближена к production-подходу.


Архитектура системы

1. Модуль поискового ранжирования

  • Разделение данных без leakage (grouped split по query_id)
  • Feature engineering (текстовые и статистические признаки)
  • Модель CatBoostRanker (YetiRank)
  • Offline-оценка качества по NDCG@10
  • Сохранение модели и метаданных

2. Модуль динамического ценообразования

  • Лаговые и скользящие признаки
  • Квантильная регрессия для прогнозирования диапазона цен
  • Моделирование средней цены и логарифма ширины диапазона
  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages