Перейти к содержимому
Price-intelligence platform UI: supplier price-list import with field mapping, live exchange rates, and competitor crawl schedule

Платформа мониторинга цен для интернет-магазина

2018 — 2019
2 минуты чтения

Разработал внутреннюю платформу мониторинга цен для интернет-магазина, терявшего продажи из-за цен конкурентов — она отслеживает цены конкурентов, импортирует прайс-листы поставщиков и автоматически обновляет цены в работающем магазине.

Проблема

Каталог магазина насчитывал более 21 000 товаров, а конкуренты предлагали цены ниже. Отслеживать вручную 10 сайтов конкурентов при таком масштабе невозможно — ценовые решения отставали от рынка.

Моя роль

Спроектировал и построил платформу целиком (2018–2019).

Что я построил

  • Парсер цен конкурентов по 10 магазинам — параллелизация через worker-farm, разбор страниц на Cheerio, MongoDB как кэш обхода, MySQL как хранилище каталога. Для каждого сайта — свой парсер под его HTML, товары и структуру каталога.
  • Аккуратный и устойчивый скрапинг — прогрессивная пауза-«кулдаун» между запросами, чтобы парсеры не перегружали чужие сайты, и обход анти-скрапинговых мер.
  • Сопоставление товаров — привязка артикулов и страниц конкурентов к нашему каталогу на 21 000+ позиций. Самое сложное: названия, единицы измерения и структура различаются на каждом сайте.
  • Импорт прайс-листов поставщиков — у каждого поставщика свой формат XLS. Веб-интерфейс сопоставления колонок прайса с полями каталога, живой предпросмотр значений и подключаемые обработчики полей: очистка пробелов, извлечение UPC-кодов из названий, определение валюты по знаку с конвертацией по актуальному курсу, суммирование остатков по нескольким складам и интерпретация правила «пусто = в наличии».
  • Безопасная автоматическая перенаценка — цены пересчитываются и обновляются на сайте по расписанию, без ручной работы. Добавил проверку на аномалии: если цена подскакивает слишком резко, она не публикуется сразу, а уходит менеджеру на подтверждение. Так ошибка в данных не попадает на витрину.
  • Инфраструктура и эксплуатация — полностью настроил интеграцию и деплой end-to-end: настройка Linux-сервера, развёртывание приложения в Docker (docker-compose) и резервное копирование докеризованного приложения и его данных.

Результаты

  • Более года в продакшене — первые полгода лично занимался поддержкой и сопровождением.
  • Автоматическая корректировка цен сохранила конкурентность магазина и привлекла заметно больше покупателей.
  • Мониторинг цен всего ассортимента стал задачей одного администратора; импорт прайсов значительно ускорился — с конвертацией по актуальному курсу валют и защитой от ошибочного завышения или занижения цены продажи.

Стек

Node.js · Express · Sequelize / MySQL · MongoDB · Cheerio · worker-farm · OpenCart · XLSX · Docker · Linux

Поделиться этой публикацией