Настройка дашборда сравнения цен с конкурентами 1С-Битрикс

Категорийный менеджер тратит до 30% времени на ручную проверку цен — открывает карточку товара, сверяется с конкурентами, повторяет по циклу. При каталоге в 50 000 SKU это сотни человеко-часов в месяц, которые можно было бы потратить на стратегическое ценообразование. Мы ставим дашборд, который за 3
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка дашборда сравнения цен с конкурентами 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1457
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1162

Категорийный менеджер тратит до 30% времени на ручную проверку цен — открывает карточку товара, сверяется с конкурентами, повторяет по циклу. При каталоге в 50 000 SKU это сотни человеко-часов в месяц, которые можно было бы потратить на стратегическое ценообразование. Мы ставим дашборд, который за 30 секунд показывает проблемные позиции, разницу в долларах и процентах, и позволяет изменить цену прямо на экране. Такой подход сокращает время анализа в 10 раз по сравнению с ручной сверкой и снижает вероятность ошибок при копировании данных.

На одном из проектов с каталогом 120 000 товаров мы внедрили дашборд за 8 дней. После запуска менеджеры сократили время на ценовой анализ с 4 часов до 15 минут в день. Средняя экономия времени на ценовом анализе — 30%, окупаемость внедрения составляет 2–3 месяца за счёт сокращения ручного труда. Оценим ваш проект за 1 день и дадим смету без переплат. Свяжитесь с нами для консультации.

Источники данных

Дашборд строится на трёх таблицах:

  • bl_competitor_prices — актуальные цены конкурентов
  • bl_product_price_position — агрегаты (мин/макс/среднее конкурентов, наш ранг)
  • b_catalog_price — наши текущие цены

Данные в агрегатную таблицу обновляются агентом после каждой синхронизации цен конкурентов. Для ускорения запросов мы добавляем индексы по полям product_id, rank и updated_at. Оптимизация SQL позволяет обрабатывать каталоги до 1 млн товаров без заметных задержек. При каталогах свыше 500 000 SKU дополнительно настраиваем партиционирование таблиц и кэширование тегированное через Bitrix Cache.

Почему тепловая карта по разделам — ключ к быстрой диагностике?

Вместо того чтобы листать бесконечные товары, менеджер видит сразу, какой раздел каталога «горит». Мы формируем карту: зелёный (>70% на 1-м месте), жёлтый (50–70%), красный (<50%). Это сокращает время анализа в 10 раз по сравнению с ручной проверкой.

// Запрос агрегатов по разделам $sectionStats = \Bitrix\Main\Application::getConnection()->query(" SELECT s.NAME as section_name, COUNT(*) as total_products, COUNT(CASE WHEN ppp.rank = 1 THEN 1 END) as on_first_place, ROUND(AVG(ppp.rank), 1) as avg_rank, COUNT(CASE WHEN ppp.our_price > ppp.min_comp THEN 1 END) as losing_count FROM bl_product_price_position ppp JOIN b_iblock_element ie ON ie.ID = ppp.product_id JOIN b_iblock_section s ON s.ID = ie.IBLOCK_SECTION_ID GROUP BY s.ID, s.NAME ORDER BY losing_count DESC ")->fetchAll(); 

Какие метрики показывает дашборд?

Ценовая позиция — распределение товаров по местам:

SELECT rank, COUNT(*) as product_count FROM bl_product_price_position WHERE updated_at > NOW() - INTERVAL '24 hours' GROUP BY rank ORDER BY rank; 

Отображается как bar chart: «1 место — 34 товара, 2 место — 87, 3 место — 124...» Товары, где мы дороже минимальной цены конкурента:

SELECT ie.ID, ie.NAME, ppp.our_price, ppp.min_comp as competitor_min, ROUND((ppp.our_price - ppp.min_comp) / ppp.min_comp * 100, 1) as diff_pct, ppp.rank FROM bl_product_price_position ppp JOIN b_iblock_element ie ON ie.ID = ppp.product_id WHERE ppp.our_price > ppp.min_comp AND ppp.min_comp > 0 ORDER BY diff_pct DESC LIMIT 50; 

Упущенная выручка (оценка):

SELECT SUM( (ppp.our_price - ppp.min_comp) / ppp.our_price * oe.order_count * ppp.our_price ) as estimated_lost_revenue FROM bl_product_price_position ppp JOIN ( SELECT product_id, COUNT(DISTINCT order_id) as order_count FROM b_sale_basket WHERE date_insert > NOW() - INTERVAL '30 days' GROUP BY product_id ) oe ON oe.product_id = ppp.product_id WHERE ppp.our_price > ppp.min_comp; 

Как обновляются данные без перезагрузки?

Кнопка «Обновить данные» запускает AJAX-запрос к бэкенду, который синхронизирует данные с источником цен и пересчитывает агрегаты. Интерфейс остаётся отзывчивым — никаких F5.

document.getElementById('refresh-btn').addEventListener('click', function() { this.disabled = true; fetch('/bitrix/services/main/ajax.php?action=PriceDashboard:refresh', { method: 'POST', headers: {'X-Bitrix-Csrf-Token': BX.bitrix_sessid()} }) .then(r => r.json()) .then(data => { if (data.status === 'ok') location.reload(); }); }); 

Структура страницы дашборда

Страница в /bitrix/admin/price_dashboard.php состоит из трёх блоков: Верхний блок — сводные KPI:

  • Всего товаров под мониторингом: N
  • Из них дороже конкурентов: N (XX%)
  • Средняя ценовая позиция: X.X место
  • Товаров на 1-м месте: N

Средний блок — тепловая карта по разделам каталога (описана выше). Нижний блок — таблица проблемных товаров с колонками:

Товар Арт Наша цена Мин. конкурент Разница Rank [Изменить цену]

Кнопка «Изменить цену» — инлайн-редактирование с сохранением через AJAX в b_catalog_price. При сохранении в лог bl_price_change_log записывается: кто, когда, с какой цены, на какую.

Детали реализации инлайн-редактирования Для инлайн-редактирования используется компонент `bitrix:main.ui.grid` с кастомным экшеном. После изменения цены отправляется запрос на `/bitrix/services/main/ajax.php?action=PriceDashboard:updatePrice`, который валидирует данные, записывает в `b_catalog_price` и лог. Если цена выходит за допустимые границы, пользователь получает сообщение об ошибке.

Процесс работы

  1. Анализ — изучаем текущий каталог, источники конкурентных цен, типовые запросы менеджеров. Определяем ключевые метрики.
  2. Проектирование — проектируем структуру HL-блоков, агентов, SQL-запросов и интерфейса.
  3. Реализация — пишем код: агрегатные запросы, дашборд с Chart.js, инлайн-редактирование, экспорт.
  4. Тестирование — проверяем на боевых данных, замеряем производительность, исправляем узкие места.
  5. Запуск — деплоим на продакшн, проводим обучение менеджеров, передаём документацию.

Экспорт в Excel

Кнопка «Выгрузить в Excel» формирует отчёт через \PhpOffice\PhpSpreadsheet: все товары с ценами конкурентов по столбцам (каждый конкурент — отдельный столбец), нашей ценой, позицией, рекомендованной ценой (если настроен репрайсер).

Что входит в работу (deliverables)

  • Настроенные агрегатные таблицы с оптимизированными индексами
  • SQL-запросы для KPI, тепловой карты и списка проблем
  • Интерфейс дашборда (PHP + JS + Chart.js)
  • Инлайн-редактирование цен с логированием
  • Экспорт в Excel
  • Инструкция для менеджеров по работе с дашбордом
  • Гарантия 30 дней на стабильную работу

Сроки

Этап Срок
Агрегатные запросы и оптимизация 2 дня
Верхний блок KPI + chart.js 1 день
Тепловая карта по разделам 1 день
Таблица проблемных товаров + инлайн-редактирование 2 дня
Экспорт Excel 1 день
Тестирование 1 день
Итого 8–9 дней

Типичные ошибки при внедрении дашборда

Игнорирование индексов. Без правильных индексов (особенно по product_id и rank) запросы на каталоге 100 000 товаров выполняются минутами. Мы всегда проверяем EXPLAIN и добавляем композитные индексы.

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

Отсутствие логирования изменений. Без лога bl_price_change_log невозможно отследить, кто и когда менял цены. Это критично для отчётов и аудита.

С нашим опытом (более 50 внедрений дашбордов на Битрикс) мы избегаем этих граблей. Сертифицированные специалисты с 7+ годами работы с 1С-Битрикс гарантируют стабильное решение. Закажите настройку дашборда под ключ.

Получите консультацию — свяжитесь с нами, мы оценим ваш проект и подготовим дорожную карту. Ваш коммерческий менеджер получит инструмент, который реально экономит время. Для подробностей о работе с HL-блоками обратитесь к официальной документации 1С-Битрикс по Highload-блокам.