DealMonitor Logo
Back to Blog
Смена режима: как CatBoost свергла нашу предыдущую модель определения цен

Смена режима: как CatBoost свергла нашу предыдущую модель определения цен

·by DealMonitor Team·5 мин чтения
machine-learningaitechupdate

Новый чемпион

В минувшие выходные произошло то, что мы внутри называем «Сменой режима»: наша модель определения цен на основе LightGBM была заменена моделью CatBoost. Звучит технически — так и есть. Но эффект ощутим напрямую: определение цен на страницах ваших товаров стало ещё точнее.

По этому случаю мы хотим заглянуть за кулисы и показать вам, как работает наше определение цен на базе ИИ, как мы обучаем модели и почему CatBoost теперь на первом месте.

Проблема: одно число среди многих

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

Как работает наш пайплайн

Определение цен проходит в несколько этапов:

Этап 1: Сбор кандидатов

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

  • Структурированные данные: Разметка JSON-LD и Schema.org, которую многие магазины предоставляют для поисковых систем.
  • Анализ DOM: Каждый текстовый элемент проверяется на наличие ценовых паттернов — числа с символами валют, десятичными разделителями и т.д.
  • Извлечение из JavaScript: Для магазинов с конфигурируемыми товарами (например, разные размеры) мы извлекаем цены вариантов напрямую из встроенного JavaScript.

Этап 2: Извлечение признаков

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

  • HTML-контекст: Содержит ли окружающий элемент слова вроде «цена», «предложение» или «текущий»? Выделен ли текст визуально (жирный шрифт, крупный размер)?
  • Позиция на странице: Насколько глубоко вложен элемент в DOM? Где он расположен относительно других кандидатов?
  • Статистический контекст: Как значение соотносится с другими числами на странице? Является ли оно выбросом или попадает в типичный ценовой диапазон?
  • Сигналы конкретного магазина: Насколько хорошо модель исторически определяет цены на этом домене? Некоторые магазины сложнее других.

Этап 3: Предсказание

Все кандидаты с их признаками отправляются в наш ML-сервис. Модель оценивает каждого кандидата с вероятностью: «Насколько я уверен, что это реальная цена товара?» Кандидат с наивысшим баллом побеждает.

Обучение: как модель учится

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

Задача: из всех кандидатов на странице, как правило, только один является правильной ценой — соотношение примерно 1:50. Этот дисбаланс необходимо учитывать при обучении, иначе модель просто научится классифицировать всё как «не цена».

Мы регулярно обучаем несколько типов моделей параллельно и сравниваем их производительность на отложенном тестовом наборе. Тестовый набор строго разделён по страницам — модель никогда не тестируется на страницах, которые она видела при обучении.

Почему победила CatBoost

В нашем последнем сравнении моделей CatBoost превзошла предыдущую модель LightGBM (которая была в продакшене с января) по ключевым метрикам:

  • Top-1 точность 80%: Для 4 из 5 страниц товаров модель определяет правильную цену с первой попытки.
  • Top-3 точность 84%: При рассмотрении трёх лучших кандидатов правильная цена почти всегда среди них.

Что делает CatBoost лучше? Выделяются два фактора:

Лучшая обработка дисбаланса классов. CatBoost имеет встроенную стратегию автоматической балансировки весов классов, которая работает надёжнее на практике, чем ручная калибровка, необходимая для LightGBM.

Более умная обработка категориальных признаков. Признаки вроде типа HTML-тега или источника кандидата (JSON-LD vs. текст DOM vs. JavaScript) обрабатываются CatBoost нативно, без необходимости вручную кодировать их в числа. Это уменьшает потерю информации.

Автоматическое переобучение

Наш пайплайн не обучает модели один раз — он делает это непрерывно. Каждый день лучшая текущая модель переобучается на новых данных. Раз в неделю выполняется полное сравнение всех конфигураций моделей — именно так мы обнаружили «Смену режима» на CatBoost.

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

Что это значит для вас

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

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

Попробуйте и создайте свой следующий трекер — CatBoost теперь отвечает за определение цен.

Ready to Never Miss a Deal Again?

Start tracking prices in seconds. No credit card required.

Start for Free

Related Posts

Импортируйте списки желаний — Steam и Amazon в один клик

Импортируйте списки желаний — Steam и Amazon в один клик

4 мин чтения

1 год DealMonitor: от идеи до трекера цен

1 год DealMonitor: от идеи до трекера цен

4 мин. чтения

v0.12: HTTP-First Scraping and the End of Selenium Dependency

v0.12: HTTP-First Scraping and the End of Selenium Dependency

5 min read

The 5 Best Price Comparison Tools in 2026 — Compared

The 5 Best Price Comparison Tools in 2026 — Compared

7 min read

Amazon Price History: How to Track Prices the Right Way

Amazon Price History: How to Track Prices the Right Way

6 min read

v0.11: API Integrations for Etsy, Game Stores, and Multi-Price Tracking

v0.11: API Integrations for Etsy, Game Stores, and Multi-Price Tracking

5 min read

Уже думаете о подарках на Новый год? Да, в марте — самое время.

Уже думаете о подарках на Новый год? Да, в марте — самое время.

5 мин чтения

v0.10: Tackling Amazon and AliExpress with APIs

v0.10: Tackling Amazon and AliExpress with APIs

5 min read

Как интернет-магазины обманом заставляют вас покупать — и как дать отпор

Как интернет-магазины обманом заставляют вас покупать — и как дать отпор

8 мин чтения

DealMonitor выходит в бету: всё, что нового

DealMonitor выходит в бету: всё, что нового

5 мин чтения

Полное руководство по умным покупкам в интернете

Полное руководство по умным покупкам в интернете

7 мин чтения

v0.8: Dark Mode, Error Monitoring, and Our First Blog Posts

v0.8: Dark Mode, Error Monitoring, and Our First Blog Posts

4 min read

v0.7: Web Push Notifications and Dashboard Search

v0.7: Web Push Notifications and Dashboard Search

5 min read

Как ИИ распознаёт цены на любом сайте

Как ИИ распознаёт цены на любом сайте

6 мин чтения

v0.6: Telegram Notifications, Tracker Groups, and Sharing

v0.6: Telegram Notifications, Tracker Groups, and Sharing

4 min read

5 способов экономить с помощью уведомлений о ценах

5 способов экономить с помощью уведомлений о ценах

6 мин чтения

v0.5: Google OAuth and 9 Languages from Day One

v0.5: Google OAuth and 9 Languages from Day One

4 min read

Как отслеживать цены онлайн

Как отслеживать цены онлайн

5 мин чтения

Смена режима: как CatBoost свергла нашу предыдущую модель определения цен