ИИ может быстро собрать цены конкурентов, но готовая таблица часто смешивает разные варианты товара, старые акции и доставку с неизвестной стоимостью. Перед выводом «мы дороже рынка» проверьте каждую строку по одинаковым правилам: какой товар сравнивается, что входит в цену, когда открыта страница и можно ли оформить заказ на этих условиях.
Ниже — протокол для одной категории и учебный CSV. Результатом станет таблица, где строка получает статус PASS, IDENTITY_MISMATCH, UNKNOWN_DELIVERY, STALE или другое конкретное замечание. Такой файл можно передать маркетологу, закупкам или руководителю вместе с доказательствами.
Сначала определите единицу сравнения
Название товара редко достаточно. Один продукт продаётся в нескольких цветах, объёмах памяти, комплектациях и состояниях. Цена может относиться к витринному образцу, подписке, набору или версии без части аксессуаров.
Для каждой строки сохраните:
| Поле | Что фиксировать | Зачем |
|---|---|---|
brand, model | бренд и модель | отделить похожие товары |
variant | цвет, размер, память, комплект | сравнивать одинаковую конфигурацию |
condition | новый, восстановленный, витринный | не смешивать разные состояния |
sku_or_gtin | SKU, GTIN или другой доступный ID | подтвердить соответствие варианта |
url | прямая страница предложения | открыть доказательство повторно |
captured_at | дата, время и часовой пояс | понимать свежесть цены |
Документация Google о вариантах товара разделяет родительскую группу и конкретные варианты по цвету, размеру, SKU и GTIN. Это полезная модель и для ручного исследования: две строки с разными вариантами нельзя автоматически считать одним предложением.
Если идентификатора нет, сравните модель, вариант и комплектацию вручную. В таблице оставьте причину сопоставления. Формулировка «ИИ решил, что это тот же товар» не позволяет повторить проверку.
Разделите цену и обязательные доплаты
Запишите цену товара, валюту, доставку в нужный регион и обязательные сборы отдельными колонками. Затем посчитайте сопоставимую сумму:
итого = цена товара + доставка + обязательные сборы
Для Минска результат удобно хранить в BYN. Если исходная валюта другая, сохраните исходную сумму, код валюты, курс, дату курса и источник. Порядок такого пересчёта разобран в материале «Как пересчитать рекламные расходы в BYN и сохранить курс».
Если доставка неизвестна, итоговую сумму не вычисляйте. Ноль означает подтверждённую бесплатную доставку, пустое значение — отсутствие данных. Это разные факты.
Google Merchant Center требует согласовывать цену с посадочной страницей и оформлением заказа, а дополнительные обязательные платежи учитывать отдельно от цены товара. Эти правила описывают товарные данные Google, но сама логика полезна и для конкурентной таблицы: сравнение должно отражать сумму, доступную покупателю на проверенном маршруте.
Проверьте доступность и условия цены
Цена без статуса наличия может относиться к товару, который нельзя купить. Сохраните одно из согласованных значений: in_stock, out_of_stock, preorder, backorder или unknown. Словарь можно расширить, но значения должны иметь однозначный смысл.
Отдельно отметьте условие цены:
- доступна всем покупателям;
- действует только по промокоду;
- требует карты лояльности или платной подписки;
- относится к минимальному количеству;
- ограничена датой;
- появляется только в корзине.
Google описывает цену предложения как сумму и валюту, которые совпадают на странице и при оформлении; скидка должна быть действительно доступна на заявленных условиях. Для исследования конкурентов это источник структуры проверки, а не подтверждение конкретной цены магазина.
Сохраните доказательство, которое можно открыть
Минимум для одной строки — URL, время проверки, короткая цитата или выписанные поля и тип доказательства: видимая страница, корзина или публичная структурированная разметка. Скриншот помогает увидеть состояние интерфейса, но не заменяет адрес и время.
Не помещайте в файл персональные данные, содержимое закрытых кабинетов и информацию, полученную в обход ограничений сайта. Если цена появляется только после авторизации или зависит от персонального предложения, пометьте строку как несопоставимую с публичной ценой.
Структурированные данные могут ускорить сбор. Offer в Schema.org содержит цену, валюту, наличие, SKU и сведения о доставке. Эти поля нужно сверять с видимой страницей: разметка может устареть или описывать другой вариант.
Строка допускается к сравнению только после проверки товара, суммы, доступности и свежести доказательства.
Учебный пример
В файле competitor-prices-sample.csv пять вымышленных продавцов сравнивают наушники Sonic P2, чёрный цвет, новое состояние. Числа и адреса учебные.
| Продавец | Цена | Доставка | Что найдёт проверка |
|---|---|---|---|
| A | 349 BYN | 15 BYN | сопоставимо, итог 364 BYN |
| B | 359 BYN | 0 BYN | сопоставимо, итог 359 BYN |
| C | 329 BYN | 20 BYN | белый вариант вместо чёрного |
| D | 339 BYN | неизвестно | итог считать нельзя |
| E | 345 BYN | 10 BYN | снимок старше допустимого порога |
Самая низкая видимая цена принадлежит строке C, но она описывает другой вариант. Строка D может оказаться выгоднее после уточнения доставки, однако имеющихся данных для вывода недостаточно. Среди свежих и полностью сопоставимых предложений в учебном наборе остаются A и B; меньший итог у B.
Автоматизируйте первичную приёмку
Скрипт audit_competitor_prices.py использует стандартную библиотеку Python. Он проверяет обязательные поля, HTTPS-адрес, дату со смещением часового пояса, валюту, доставку, свежесть снимка и соответствие идентичности внутри одной группы сравнения.
python audit_competitor_prices.py competitor-prices-sample.csv \
--as-of 2026-10-10T14:00:00+03:00 \
--max-age-hours 24 \
--output competitor-prices-audit.csvКод вычисляет total_byn только для строк в BYN с известной доставкой и обязательными сборами. Он не открывает сайты и не решает, действительно ли два товара одинаковы по фотографии или описанию. Эту часть подтверждает человек по исходным страницам.
После запуска отфильтруйте PASS и отсортируйте total_byn. Остальные статусы превращаются в очередь проверки:
| Статус | Действие |
|---|---|
IDENTITY_MISMATCH | сверить вариант, ID и комплектацию |
UNKNOWN_DELIVERY | проверить доставку до выбранного региона |
STALE | открыть страницу заново и обновить время |
NEEDS_RATE | добавить курс и дату пересчёта |
MISSING_EVIDENCE | сохранить URL и выписку с условиями |
Как принять готовую таблицу
Перед решением о цене или оффере возьмите 10–20 строк с минимальной ценой и повторите проверку вручную. Для каждой откройте URL, подтвердите вариант, доступность, сумму на странице и обязательные доплаты. Сохраните долю ошибок по типам: другой товар, старая цена, неизвестная доставка, закрытое условие.
Таблица готова к использованию, когда:
- строки одной группы описывают одинаковый товар или явно помеченные аналоги;
- цена, валюта и обязательные доплаты находятся в отдельных полях;
- нулевая и неизвестная доставка различаются;
- у каждой строки есть URL и время проверки;
- старые и несопоставимые записи исключены из рейтинга;
- вывод можно пересчитать из сохранённого CSV.
Общий поиск запросов, объявлений и посадочных страниц продолжайте по статье «Как анализировать рекламу конкурентов». Если ИИ подготовил ещё и выводы по таблице, проверьте их по методике о качестве ответов ИИ: отдельно факты, вычисления, вывод и готовность к действию.
Источники
Материал подготовлен редакцией WiseLab с помощью AI. Источники и фактические утверждения проверены при подготовке.
Что думаете?
Загружаем комментарии…