RU EN

Мониторинг цен на Wildberries и Ozon: что можно, а что нельзя

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

Почему выгрузка не заменяет слежение

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

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

Как он устроен

Всё сделано на Python. Товар добавляется по артикулу или по ссылке — искать его в каталоге и заполнять форму не нужно. Сервис забирает цену, сравнивает её с предыдущим значением и, если она изменилась, присылает в Telegram сообщение со старой и новой ценой. Это то самое событие, ради которого всё затевалось: сравнивать значения вручную больше не нужно.

История изменений сохраняется и показывается графиком, поэтому видно не только текущее значение, но и как цена двигалась. Данные лежат в SQLite. На PostgreSQL переходим, когда сервисом пользуются несколько человек или несколько магазинов: история становится общей, а права — разными. Выгрузка в Excel делается через openpyxl, уведомления идут через Telegram Bot API.

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

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

Что автоматизируется хорошо

  • Слежение за ценой по списку артикулов без участия человека.
  • Сообщение в Telegram в момент изменения, а не «когда зайдём проверить».
  • История и график по каждому товару — видно не только «сейчас столько», но и когда и насколько менялось.
  • Сводная таблица, куда складываются текущие цены по всему списку: её уже можно открыть в Excel и работать как с обычной таблицей.
  • Две площадки в одном сервисе, а не две отдельные выгрузки, которые нужно сверять глазами.

Чего автоматизировать нельзя

Полный набор полей по Ozon. В нашем сервисе мы его не выкачиваем, и это не недоработка, о которой лучше промолчать. В нашем кейсе это видно на снимке с Ozon: там демо-данные, а из доступного показывается только то, что действительно отдаётся. Если человеку нужны продажи, остатки по всем складам и полная история за несколько лет по каждому артикулу, такой парсер — другой объём работы, и называть его тем же словом неправильно.

Историю цен до того, как вы начали следить. Наш сервис помнит только то, что видел сам. Историю за прошлое дают платные сервисы аналитики маркетплейсов — это отдельный продукт и отдельные деньги.

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

С чего начинается работа

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

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

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

Молчание хуже ошибки

Слежение за ценами отвечает на вопрос «как было и как стало». Но у него есть второй вопрос, который задают реже: а оно вообще работает? Если сбор данных молча перестал, товаров на виду столько же, сообщения привычные, просто цифры не обновляются. Через неделю выглядит так, будто рынок замер, а на самом деле сервис молчал.

Поэтому рабочий мониторинг должен либо сам сообщать о том, что перестал получать данные, либо иметь очень простой способ это заметить. Спросить об этом стоит прямо, вместе с вопросом о том, как часто площадка отдаёт данные вообще. Если исполнитель отвечает «ну там же будет видно», стоит уточнить, что именно будет видно и как часто вы на это посмотрите.

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

Главное ограничение: площадки меняются

Данные, которые отдаёт Wildberries или Ozon, живут во внутренних интерфейсах площадки, и компания может менять их без предупреждения. Парсер, который работает сегодня, не гарантированно работает через полгода: сначала перестаёт приходить часть полей, потом приходит ошибка, и найти причину по логам можно, но это отдельная работа.

Из этого следует честное условие: парсер живёт не один год без присмотра. Лучше проговорить это на старте — заложить обслуживание или принять, что раз в полгода-год что-то придётся чинить, — чем обнаружить в момент, когда мониторинг молчал две недели, а продавец узнал об этом от конкурента.

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

Сколько это стоит и сколько занимает

Готовый мониторинг цен с уведомлениями в Telegram — отдельный продукт: 20 000 ₽ за запуск и 2 000 ₽ в месяц на сопровождение, срок от 7 дней. Это не парсер под одну выгрузку, а работающий сервис, поэтому и цена другая.

Парсер данных с выгрузкой в таблицу — отдельная задача, от 10 000 ₽, срок от 5 дней: на странице услуг это парсеры маркетплейсов, каталоги сайтов и статистика каналов с выгрузкой в Google Таблицы или Excel.

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

Что спросить у исполнителя

  • Что именно он умеет получать по каждой площадке, а что нет. Вопрос про Ozon стоит задать прямо: если в смете написано «Wildberries и Ozon» без оговорок, вопросов будет много.
  • Как выглядит история цен: хранится она или показывается только текущее значение.
  • Что присылает бот, когда цена изменилась, и сколько времени проходит между изменением и сообщением.
  • Кто следит за работоспособностью и что происходит, если сбор данных молча перестал работать.
  • Что будет, когда количество артикулов вырастет в десять раз: срок проверки, хранилище, стоимость содержания.

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

Нужно похожее?

Напишем парсер, который собирает нужные данные и выгружает их в Google Таблицы или Excel: цены и остатки на Wildberries и Ozon, карточки товаров, каталоги сайтов, посты и статистика Telegram-каналов.

Парсер данных — от 10 000 ₽, срок от 5 дней.

← Все статьи

Контакты

Напишите нам — обсудим задачу и предложим план в течение суток.

dmitry.zhdanov@craftpodium.com

Telegram: @signmark