Фото: Freepik

В ходе совместного проекта с крупным поставщиком маркетплейсов мы разработали real-time сервис для настройки ценового предложения (Configure, price and quote – CPQ). Сервис работает на базе open source технологий и позволяет ежечасно обновлять витрину данных, «подтягивая» самые свежие данные из всех возможных источников: из API маркетплейсов, XAPI, личных кабинетов на маркетплейсах, 1С, фронт-офисных систем заказчика, графиков производства и поставок и пр. Это позволяет получать самые точные и актуальные данные. Система обеспечивает в том числе учет изменений «задним числом» и оптимальное хранение данных.

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

Сервис автоматического ценообразования интегрирован с личным кабинетом поставщика. Заказчик управляет системой и получает всю информацию через Telegram-бот. При этом для интеграции достаточно предоставить нам только логин и пароль от личного кабинета, а также ключ API.

Представитель заказчика:

«Нам необходимо было ежедневно понимать ситуацию с продажами, но без этой разработки приходилось собирать информацию из сотен Excel-файлов, что в ручном режиме просто невозможно делать оперативно.

В компании Raisk нас привлекли широчайший стек технологий и компетенция. Начали с прямой загрузки данных API в файл Excel, а закончили сотнями гигабайтов данных, автоматическими расчетами, очисткой данных и пр. Финал всего этого – глубоководное озеро данных, которое визуализируется в Power BI».

Как решаются проблемы с данными

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

При этом фактический URL, по которому реально можно получить данные, другой:

Все данные, получаемые из API, мы проверяем на Data Quality. Для этого используются неструктурированные источники данных, например внутренние хранилища в Excel, парсинг внешних данных, автоматизированная выгрузка данных из личных кабинетов в контролируемо ручном режиме. Мы консолидируем и синхронизируем всю эту разрозненную информацию для получения «чистых» данных, на основе которых и делаем расчеты. Для сбора информации мы разработали в том числе сверхбыстрый парсер данных из Excel в Postgres с встроенной технологией авто-ORM (Object-Relational Mapping).

Подробнее о расчетах

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

Ежедневно меняющиеся данные от маркетплейсов о заказах, продажах, остатках и пр., а также внутренние файлы компании по производству, поставкам, планам консолидируются в хранилище на базе PostgreSQL. На основе этих файлов формируются витрины данных, учитывающие все потребности бизнеса. В системе хранится около 0,25 ТБ данных только о заказах и продажах. Все данные (около 20 срезов информации ежедневно) обновляются в режиме реального времени и могут быть предоставлены в любой момент по запросу.

Ежечасно делается полная выгрузка данных из API и личного кабинета. Кроме того, каждую ночь на серверах заказчика происходит автоматический расчет ценообразования в SQL и Power Query, а к 8 часам утра система предоставляет готовые данные «под ключ», обновляя информацию в витрине и внешних источниках. Это позволяет сотрудникам заказчика каждый день экономить несколько часов, которые они раньше тратили на обработку «грязных» данных.

Данные «подтягиваются» не только через API, но и непосредственно с портала маркетплейса. При этом сотрудники заказчика видят реальную маржу за любой период, а не условные «столбцы», из которых вычитаются расходы в других отчетных периодах. Прогноз поставок делается исходя из данных об остатках за расчетный период (напомним, что в личных кабинетах на популярных маркетплейсах предоставляются данные об остатках только на момент запроса).

Сервис интегрирован с Telegram-ботом. В Telegram можно не только получать всю отчетность в реальном времени, но и управлять системой, оперативно отслеживать изменение ситуации с продажами, поставками и т.п.

В Telegram происходит и автозагрузка цен — несколько раз в день. Цены меняются автоматически при изменении спроса, в том числе резком. Скидки для покупателей тоже рассчитываются автоматически исходя из колебаний спроса — например, исходя из данных о продажах по всем личным кабинетам. Установив продвинутые настройки бота, можно рассчитать цену, которая учитывает спрос на каждую позицию за последние 30 дней и количество товаров этой позиции, которое есть в наличии.

Очевидно, что в «ручном» режиме все эти инструменты недоступны. За счет технологий, которые позволяют быстро перейти непосредственно к бизнес-логике, нам удается реализовывать сложные расчетные блоки максимально оперативно.

Использование сервиса позволило достичь роста выручки по востребованным позициям не менее 20 процентов. Экономия времени сотрудников — не менее 30 часов ежемесячно.

Представитель заказчика:

«За первый год после внедрения наработок проект вырос в 5 раз, а затем ежегодный прирост составил примерно 30%. На начальном этапе система позволила предотвращать “вымывание” остатков товара за счет повышения цены, и это было главное ее достижение. На данном этапе мы скальпируем маржу в зависимости от изменений спроса на площадках».