Exabit Logo

Парсинг цен конкурентов: как автоматизировать мониторинг и перестать принимать решения по вчерашним данным

11 октября 2025 · 4 мин чтения ·
Парсинг цен конкурентов: как автоматизировать мониторинг и перестать принимать решения по вчерашним данным

В одном проекте для оптового продавца электроники менеджер два дня в неделю сводил цены конкурентов в Excel. Пока таблица доходила до руководителя, часть акций уже заканчивалась, а по трем ходовым позициям рынок успевал уйти вниз на 5-8%. Самая дорогая часть процесса была не в ручной работе, а в задержке решения.

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

Excel ломается раньше, чем кажется

Пока в каталоге 30-50 SKU, ручной мониторинг выглядит разумно. Потом приходит реальный объем: 400 SKU, 6-8 конкурентов, скидки, региональные цены, разные продавцы внутри маркетплейса. В этот момент процесс начинает съедать время как скрытый налог.

Если на одну позицию уходит 1-2 минуты, то проход по 300 SKU - это уже 5-10 часов. Три прохода в неделю дают до 40 часов в месяц. Давайте посчитаем: даже при стоимости часа сотрудника 700 ₽ это 28 000 ₽ в месяц только на сбор, без учета ошибок и управленческих задержек.

Ошибки почти всегда бытовые: другой объем, пропущенная акция, цена по карте, не та комплектация. Мы видели кейс, где команда три недели сравнивала профессиональный инструмент с бытовой линейкой конкурента. Таблица была аккуратная, а решение - мимо рынка.

Когда мониторинг занимает полдня, данные начинают стареть еще до того, как их открыли.

Мини-диалог там был короткий:

  • «У нас пока вручную, каталог не такой большой».
  • «Сколько реально смотрите?»
  • «Около 400 позиций».

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

Ценность дает не выгрузка, а ритм обновления

Парсинг цен - это регулярный сбор данных со страниц: цена, скидка, наличие, артикул, дата обновления. Бизнесу не нужен технический туман. Ему нужен поток, который приходит по расписанию и не зависит от того, кто сегодня в отпуске.

Я обычно начинаю с Python 3.12 + Scrapy 2.12. Если цена появляется только после JavaScript, беру Playwright 1.49. Дальше схема простая: собрать, нормализовать, сравнить, отправить сигнал.

0 */6 * * * run_price_monitoring
collect_prices
normalize_items
save_to_postgres
check_alert_rules
send_telegram_alerts

В прошлом году для e-commerce проекта на 900 SKU мы поставили обновление каждые 6 часов, данные складывали в PostgreSQL 16, а алерты отправляли в Telegram. Через 2 недели команда увидела, что два конкурента демпингуют только по вечерам и только по 20 ходовым позициям. До этого всем казалось, что категория просто просела целиком.

Как часто обновлять цены?
Если у вас спокойный B2B-каталог, часто хватает одного-двух запусков в день. Для розницы, маркетплейсов и акционных категорий я бы смотрел интервал 3-6 часов, иначе теряется смысл автоматизации.

Инструмент выбирают по цене ошибки, а не по стартовому чеку

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

Подход Срок запуска Когда подходит Ограничения
Бесплатный парсер 1-3 дня Проверить 1-2 сайта Лимиты, мало контроля
Облачный парсер 1-2 недели 3-5 конкурентов, до 1000 SKU Средняя гибкость
Кастомная система 4-8 недель Большой каталог, ERP, CRM, PIM Выше входной бюджет

Мы предпочитаем кастомный стек, когда каталог большой и цена решения уже заметна в деньгах. Обычно это Python + FastAPI, Redis 7 для очередей, Docker для деплоя. Причина простая: при динамическом ценообразовании быстро приходят прокси, ротация User-Agent, контроль аномалий и ремонт после изменений верстки.

Сбор без реакции быстро становится дорогой игрушкой

Самая частая ошибка - собрать все и не решить, кто и что делает дальше. По сути, вы меняете способ сбора, но не меняете способ реакции.

У данных должен быть владелец и простое правило. Для сигнала хватает Telegram или email, для витрины - Google Sheets, BigQuery или Looker Studio. Полезнее мониторить не весь каталог, а то, что реально двигает выручку:

  • хиты продаж
  • товары с высокой маржой
  • позиции, где клиент легко сравнивает цену
  • SKU, на которых конкурент часто запускает акции

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

Что считать первым рабочим сценарием?
Я бы начинал с правила вроде «алерт, если конкурент дешевле нас на 7%+» по 20-50 ключевым SKU. Это дешевле, чем сразу строить большую витрину, и быстрее показывает, есть ли у мониторинга реальный ROI.

Источник данных меняет стоимость поддержки

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

Вторая половина задачи - нормализация. Один и тот же товар может называться по-разному, и без сопоставления по артикулу, штрихкоду (EAN) или хотя бы по бренду, модели и объему вы получите красивую, но кривую аналитику. На практике узкое место чаще всего именно здесь, а не в самом сборе.

Если хотите проверить идею без большой разработки, начните узко: 20-50 SKU, 3-5 конкурентов, обновление раз в 3-6 часов и один ответственный за реакцию. У того оптовика из начала статьи Excel был собран идеально - проблема была в том, что рынок жил быстрее таблицы. В мониторинге цен платят не за данные, а за право успеть раньше следующего движения рынка.

Нужна помощь с реализацией?

Расскажите о задаче - предложим решение и дадим оценку сроков.