Начните с решения, для которого нужны данные
Задача может звучать так: каждый рабочий день видеть, какие позиции подорожали, появились в наличии или перестали отображаться в каталоге. Для неё нужен набор записей с историей, а не просто список цен без даты.
До разработки согласуйте источник, перечень товаров, частоту обновления и формат результата. Если поставщик предоставляет подходящий API или выгрузку, сначала рассмотрите этот способ получения данных.
Какие поля включить в таблицу
- Идентификатор товара в источнике и ваш артикул, если сопоставление возможно.
- Название, вариант, упаковка и единица измерения.
- Цена, валюта и условия её применения.
- Наличие в том виде, в котором его сообщает источник.
- Ссылка на запись и время успешного сбора.
- Статус проверки: получено, пропуск, ошибка или требуется разбор.
Цена за штуку и цена за упаковку не сравниваются напрямую. Акционная цена тоже может зависеть от количества, региона или условий покупки. Эти различия нужно сохранить в данных.
Как выглядит результат: вымышленный пример
Все товары и значения ниже придуманы для объяснения. Это не цены поставщика и не результат выполненного клиентского проекта.
| Артикул | Было | Стало | Результат |
|---|---|---|---|
| DEMO-01 | 1 000 | 1 050 | Цена выросла на 5% |
| DEMO-02 | 800 | 800 | Цена без изменений |
| DEMO-03 | 1 200 | — | Цена не получена — проверить |
Для первой позиции изменение равно (1 050 − 1 000) / 1 000 × 100% = 5%. Для третьей позиции процент не рассчитывается: отсутствие цены не означает скидку до нуля или отсутствие товара.
Как сопоставлять товары без ложных совпадений
Предпочтителен устойчивый идентификатор: артикул производителя или код товара с учётом варианта. Название само по себе ненадёжно: похожие товары могут отличаться размером, комплектацией или упаковкой.
Неоднозначные совпадения стоит выводить на ручную проверку. Правила удаления дублей и объединения записей согласуются отдельно, чтобы не потерять разные предложения под одним названием.
Что должно происходить при обновлении
- Запуск получает данные и фиксирует время проверки.
- Обработка приводит значения к согласованному формату.
- Проверки выделяют пропуски и необычные изменения.
- Новый успешный результат сравнивается с предыдущим.
- Пользователь получает таблицу или уведомление по выбранным условиям.
Ошибка загрузки должна отличаться от исчезновения товара. Если источник недоступен, сохраняйте последний успешный результат с его реальной датой и отдельно показывайте сбой обновления.
Как принять первый пилот
Начните с одного источника и ограниченной выборки товаров. Включите обычные позиции, варианты, отсутствующие значения и изменившиеся предложения.
- Сверьте выбранные строки с исходными страницами или файлом.
- Проверьте единицы измерения, валюту и время сбора.
- Убедитесь, что разные варианты товара не склеились.
- Проверьте повторный запуск и обработку ошибки источника.
- Зафиксируйте доступные поля, ограничения и порядок сопровождения.
Bi-Metrics разрабатывает сбор данных под согласованный источник. На первом разговоре определим способ получения данных, формат выгрузки и состав пилота. Сроки и стоимость зависят от структуры и доступности источника.
Результат можно использовать в таблице закупщика или передавать в систему под процессы компании. Подробнее об услуге — сбор данных и парсеры.