Как с помощью парсинга доступности товаров, сроков доставки, цен, позиций в поисковой выдаче по 800+ товарам и 100+ городам мы настроили регулярный мониторинг по 6 ключевым маркетплейсам и Интернет магазинам для международного бренда, а также настроили аналитику по конкурентам.
Клиент
Хотим обратить внимание на то, что мы работаем в соответствии с Соглашением о неразглашении (NDA) с нашими партнерами и клиентами. Поэтому мы обязаны соблюдать конфиденциальность, и не всегда можем раскрыть название компании и некоторые детали, связанные с нашим сотрудничеством. Соблюдение NDA является нашим приоритетом, чтобы защитить интересы и конфиденциальность наших деловых партнеров и клиентов.
Наш заказчик является одним из лидеров мирового рынка потребительских товаров.
Компания специализируется на производстве и продаже широкого ассортимента товаров для здоровья, средств личной гигиены, косметики, моющих и чистящих средств, товаров для детей и бытовой техники, продукция продаётся в 180 странах.
Цель проекта
В рамках стратегии развития продаж в онлайн канале заказчику необходимо настроить собственную независимую аналитику для контроля важных бизнес-показателей:
- Контроль доступности товаров в каждом городе On Shelf Availability (OSA) - наличие на полке и возможность купить.
- Контроль доли товаров “нет в наличии” (Out of Stock (OOS)) - доля товаров, которых нет в наличии на полке.
- Контроль уровня потери продаж из-за OOS, расчет в деньгах.
- Контроль доли в поисковой выдаче (Share in Search (SIS)).
- Контроль сроков доставки товаров в каждом регионе.
- Контроль позиций товаров бренда и конкурентов в поисковой выдаче.
- Контроль цен ключевых товаров конкурентов.
По этим метрикам бренд оценивает качество своего присутствия на онлайн полках в ключевых клиентах (маркетплейсы и ритейлеры), а также корректирует свою деятельность.
Также важный параметр проекта - высокая частота сбора данных. Данные собираются 14 раз в сутки. Это необходимо для более точной оценки KPI не только по дням, но и по часам внутри дня.
Маркетплейсы и магазины для мониторинга - OZON, OZON Fresh, Wildberries, Яндекс Маркет, Самокат, Яндекс Лавка.
При этом во всех каналах товары заказчика анализируются только продающиеся по модели 1P (товары партнеров бренда по модели 3Р не анализируются). Это связано с тем, что бренд активно взаимодействует с данными площадками и анализирует эффективность прямого сотрудничества (продажи, маркетинг, логистика).
Задачи
- Научиться парсить огромные массивы данных с высокой частотой - миллиарды строк данных в месяц.
- Обеспечить обходы блокировок сайтов при сборе данных.
- Выдерживать жесткий SLA по полноте и точности данных.
- Научиться парсить данные по широкому ГЕО в определенное время по местному часовому поясу - это нужно чтобы сопоставимо оценивать данные, например, на 11.00 по местному времени всех регионов - на Камчатке, в Москве итд.
- Научиться в короткие сроки обновлять данные для сбора при получении новых матриц ключевых слов, товаров клиента и конкурентов.
- Организовать хранение огромного массива данных
- Организовать доступ и обмен собранными данными с заказчиком
Реализация
Как настраивали и запускали парсинг
Проект по традиции начался с оценки масштабов сбора. Уже по этим вводным данным стало понятно что проект не типовой, а очень масштабный, сложный и интересный.
Мы получили от заказчика такие вводные для настройки сбора данных:
- Список маркетплейсов и онлайн-магазинов - 5 источников
- Списки ключевых слов и фраз для сбора списков товаров по ним и расчета Share in Search(SIS) - от 400 до 600 ключей для каждого источника
- Списки URL или Product ID для товаров заказчика - от 700 до 1100 товаров для каждого магазина.
- Списки URL для товаров конкурентов - от 200 до 400 SKU конкурентов.
- Списки адресов для сбора данных по товарам и ключевым словам - от 100 до 2200 адресов на территории страны.
- Частота сбора данных по товарам - 5 раз в сутки по местному времени.
- Частота сбора по ключевым словам - 14 раз в сутки по местному времени.
С учетом этих параметров, мы оценили что в месяц будет собираться не менее 4 млрд. строк данных.
Под строкой понимается одна запись в базе данных по товару, включая все нужные для анализа данные, такие как:
- Тип сбора поиск / товар
- Дата сбора
- Час сбора
- Признак карточки с продвижением да/нет (для Wildberries)
- Название товара
- Название категории
- Название источника
- Бренд
- Поисковый запрос (для сбора по ключевым запросам)
- Название продавца
- Позиция в выдаче (для поиска по ключам)
- Цена товара без скидки
- Цена товара со скидкой
- Платформа WEB/APP
- Город
- Адрес в городе
Масштаб проекта накладывал высокие требования по мощности серверов, необходимому кол-во прокси, выбору БД для записи и обработки, хранилищу данных, способу обмена данными с BI-системой заказчика.
Проект запускался в 2 этапа:
- Сначала настроили логику сбора, соответствие формата записи данных требования заказчика, и протестировали на 10% собираемых данных. Этот этап занял порядка 1 календарного месяца работы команды разработчиков.
- Далее уже масштабировали под полные параметры - добавляли нужное количество прокси, серверные мощности для сбора нужного объема с нужной частотой. Этот этап потребовал тоже порядка 1-1,5 месяца в зависимости от магазина.
В течение всего периода настройки и отладки, конечно, возникало много нюансов, связанных со сбором такого объема, поэтому вся команда работала практически без выходных весь период настройки и масштабирования.
За это время мы придумали довольно много уникальных интересных решений, которые позволили эффективно решать задачу клиента.
Сначала настраивали источник и логику сбора, далее масштабировали на все параметры.
В таких проектах полнота и точность собираемых данных - это фундамент всего проекта. Иначе аналитика будет неполной и/или неточной.
Пример как выглядят собранные данные:
И конечно же в таком проекте никуда без автоматизации мониторинга собранных данных. Он был настроен после выполнения этапа масштабирования и включает в себя контроль полноты собранных данных, анализ отклонений и подсветку проблем.
Таким образом, как только есть проблемы со сбором, такие как, изменения кода страниц на сайте или в приложении, что влечет, как правило, сбой в сборе данных, мы автоматически из выявляем и оперативно решаем проблему.
По опыту, в среднем все сбои решаются в течение 1-2 дней, иногда достаточно нескольких часов.
В процессе реализации также возникало много нюансов, которые не были очевидны заказчику на этапе подготовки ТЗ, и мы совместно обсуждали на еженедельных встречах статусы, проблемы, и подстраивали работу под принятые решения и изменения.
Примерно через 2 месяца с даты старта проекта по сути все ключевые задачи были успешно решены и проект перешел в рабочий режим.
Настройка аналитики
У заказчика своя корпоративная BI-система и все KPI и оценку их выполнения заказчик настраивает сам.
Самое главное для него было организовать получение качественных данных, что мы собственно, и успешно сделали.
Результаты
- Ключевой результат запущенного проекта - заказчик получил гигантский объем бизнес-аналитики для более качественного мониторинга и оценки качества присутствия товаров в онлайн каналах продаж.
- Заказчик настроил контроль KPI согласно своих целей. Аналитика дала возможность оценивать тренды и выявлять проблемы, быстрее реагировать.
- Заказчик высоко оценил наши знания и компетенции в процессе запуска проекта.
Если вы хотите также, как и наши клиенты получать свежие и точные данные, смотреть аналитику и применять её для повышения эффективность своего бизнеса, то оставляйте заявку на бесплатную консультацию с нашим специалистом и мы поможем вам.