BI-кабинет для управленческой и финансовой отчетности продавцов на маркетплейсах
О клиенте
Наш клиент — компания, которая помогает магазинам на Wildberries расти и зарабатывать больше. За годы работы они накопили собственную базу клиентов, которая доверяет их рекомендациям. В процессе работы появилась задача: на рынке нет удобного инструмента, который бы позволял предпринимателям получать действительно точную и глубокую отчетность. Существующие сервисы либо давали слишком поверхностные данные, либо требовали от пользователей слишком много ручной работы.
Клиент понял, что эта проблема мешает бизнесам принимать быстрые и обоснованные решения. Поэтому они решили предложить своим клиентам собственное решение — современный сервис аналитики, который автоматизирует сбор данных, упрощает работу с отчетами и позволяет видеть реальную картину прибыльности.
О проекте
Проект выполнялся полностью с нуля. Задача — создать веб-сервис (BI-кабинет), который собирает и объединяет данные из Wildberries с пользовательскими. В результате продавцы получают прозрачную аналитику по магазину: прибыльность, движение товара, расходы и ROI.
Работа над проектом стартовала в июне, MVP вышел осенью 2025 года. Сейчас сервис продолжает развиваться, в планах — поддержка других маркетплейсов (например, Озон) и новые аналитические функции.
Цели
Автоматизировать сбор и валидацию данных по магазинам Wildberries;
Объединить выгрузки данных из WB с дополнительной информацией от пользователей (например, себестоимость или маркетинговые расходы);
Построить систему аналитики PnL, которая будет точнее, чем готовые решения на рынке;
Создать удобный, красивый и современный интерфейс, который будет приятно использовать.
Решение
Мы разработали веб-сервис с личным кабинетом, страницами «Магазины», «Отчеты», «Дашборд» и удобной системой Excel-шаблонов.
Ключевые функции MVP:
- Авторизация и роли — регистрация, вход с подтверждением, права администратора.
- Менеджер магазинов — подключение магазина по API-ключу, проверка его срока и прав, автоматические напоминания о продлении.
- Интеграция с WB — синхронизация пяти потоков данных (продажи, приемка, хранение, карточки товаров, реклама).
- Excel-шаблоны — генерация файлов под каждый магазин, автоматическая проверка правильности заполнения и загрузка в систему.
- ETL и хранение данных — объединение выгрузок данных из WB и пользовательских файлов, расчет PnL по ~90 показателям.
- Дашборд — 17 виджетов, графики и сравнение периодов.
Дашборд
Центральным элементом сервиса стал дашборд. Мы сделали его отправной точкой для работы пользователя: сразу после входа открывается главная панель, где собраны ключевые показатели бизнеса. Здесь можно сравнивать периоды, отслеживать динамику продаж и отслеживать 17 интерактивных виджетов с графиками. Такой подход позволяет предпринимателю буквально за минуту оценить, что происходит в магазине, и понять, куда движется бизнес. Дополнительным удобством стал «менеджер магазинов»: система показывает статус подключений, отслеживает актуальность API-ключей и сама напоминает, когда их нужно обновить. Это снимает с пользователя необходимость контролировать технические детали и снижает количество ошибок.
PnL-отчет
Вторая важная часть системы — это модуль PnL-отчетности. Мы объединили в нем как автоматическую интеграцию с Wildberries, так и пользовательские данные, которые можно ввести вручную. Чтобы сделать ввод привычным и быстрым, мы использовали Excel-шаблоны: сервис сам формирует файл под конкретный магазин, а предприниматель просто дополняет его своими цифрами. После загрузки система проверяет корректность данных и объединяет их с выгрузками Wildberries. Это оказалось удобным способом организовать ввод, не перегружая интерфейс лишними формами.
Внутри PnL-отчета мы реализовали гибкую логику, которая защищает от ошибок и пропусков. Если предприниматель не заполнил себестоимость, система автоматически подставляет последнее известное значение. Для налогов предусмотрено хранение параметров с привязкой к датам — благодаря этому отчет всегда корректен, даже если пересчитать его за прошлый год. В результате пользователи получают прозрачную картину прибыльности, где все цифры складываются в единую систему, и им не нужно вручную сводить данные из разных источников.
Вызовы
Главная сложность — параллельный процесс проектирования и разработки. Начали работать с кодом, пока еще шли обсуждения интерфейсов и логики. Мы использовали agile-практики, которые позволили вести параллельно проектирование, разработку и тестирование. Это дало возможность запускать функционал частями, проверять его на реальных сценариях и тут же вносить правки. Такой гибкий процесс стал ценностью проекта: мы не только сохранили сроки, но и помогли клиенту обкатать свои идеи прямо в продукте.
Технически самым сложным моментом стала синхронизация с WB API — при первом подключении очередь запросов перегружала систему. Мы настроили контроль потоков и доработали архитектуру, чтобы сервис стабильно справлялся с нагрузкой.
Также сложности разработки были связаны с изменением требований к расчетам: показатели переименовывались, формулы пересматривались, а объем вычислений вырос до ~230 финансовых метрик. Кроме того, в процессе разработки изменились сами API-возможности, например, Wildberries — появилась полноценная API-выгрузка, и нам пришлось перестраивать архитектуру. Отдельно был реализован расширенный расчет рекламных бюджетов — показатель, который аналогичные сервисы обычно не считают.
Технологии
- Backend:8.2 (Symfony 7.3), Frontend: React.js 19.1, Symfony\Bundle\FrameworkBundle\Test, CI/CD: GitLab, Docker, Grafana
Годы работы
2025 — настоящее время