Настройка предиктивной аналитики продаж на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка предиктивной аналитики продаж на 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка предиктивной аналитики продаж на 1С-Битрикс

Предиктивная аналитика продаж — это прогноз будущих продаж на основе исторических данных. Для интернет-магазина это отвечает на вопросы: сколько единиц товара X продастся в следующем месяце, в какой период ожидать пик продаж, какие товары нужно закупить заранее. В Битрикс исторические данные есть — нужно построить конвейер их обработки.

Данные для прогноза

Из Битрикс доступны все необходимые временные ряды:

  • Продажи по дням: b_sale_order_basket JOIN b_sale_order с группировкой по DATE_INSERT::date
  • Просмотры товара: b_catalog_viewed_product по DATE_VISIT::date
  • Добавления в корзину: b_sale_basket по DATE_INSERT::date
  • Конверсия: отношение заказов к просмотрам по периодам

Базовый запрос для временного ряда продаж по товару:

SELECT
    DATE(o.DATE_INSERT) AS sale_date,
    SUM(ob.QUANTITY)    AS qty_sold,
    SUM(ob.PRICE * ob.QUANTITY) AS revenue
FROM b_sale_order_basket ob
JOIN b_sale_order o ON o.ID = ob.ORDER_ID AND o.CANCELED = 'N'
WHERE ob.PRODUCT_ID = :product_id
  AND o.DATE_INSERT >= NOW() - INTERVAL '365 days'
GROUP BY DATE(o.DATE_INSERT)
ORDER BY sale_date;

Простые методы прогнозирования без ML

Скользящее среднее — прогноз на следующий период = среднее продаж за последние N недель аналогичного периода. Реализуется чистым SQL.

Сезонное сглаживание — умножаем базовый прогноз на сезонный коэффициент. Коэффициент считается как отношение продаж конкретного месяца к среднемесячным за год по историческим данным.

Линейный тренд — если продажи растут на 5% каждый месяц, экстраполируем тренд. Коэффициент тренда: регрессия методом наименьших квадратов по исторической выборке.

Эти алгоритмы реализуются в PHP без внешних библиотек — достаточно массивов данных из БД.

Хранение прогнозов

Создайте таблицу bl_sales_forecast:

Поле Тип Описание
product_id INT ID товара
forecast_date DATE Дата прогноза
predicted_qty FLOAT Прогнозируемое количество
predicted_revenue FLOAT Прогнозируемая выручка
confidence_low FLOAT Нижняя граница доверительного интервала
confidence_high FLOAT Верхняя граница
method VARCHAR Метод прогнозирования
created_at TIMESTAMP Дата расчёта

Агент раз в неделю пересчитывает прогнозы на следующие 4–8 недель для всех активных товаров.

Дашборд прогнозов в административном разделе

В разделе «Магазин → Аналитика» добавьте страницу прогнозов. Компонент читает bl_sales_forecast и отображает:

  • График план/факт для выбранного товара за последние 3 месяца
  • Топ-20 товаров с наибольшим прогнозируемым спросом на следующую неделю
  • Товары, у которых прогнозируемый спрос превышает текущий остаток — сигнал к закупке

График строится через Chart.js или ApexCharts, данные подгружаются AJAX из контроллера AdminForecastController.

Интеграция с управлением запасами

Когда прогноз показывает, что через 2 недели потребуется 50 единиц товара, а на складе только 10 — создаётся рекомендация к закупке. Агент сравнивает bl_sales_forecast.predicted_qty с b_catalog_store_product.AMOUNT и записывает рекомендации в bl_reorder_suggestions — эта же таблица используется в услуге автоматического заказа у поставщиков.

Что настраиваем

  • SQL-запросы для построения временных рядов продаж из b_sale_order_basket
  • Алгоритмы прогнозирования (скользящее среднее + сезонные коэффициенты) в PHP-классе SalesForecastEngine
  • Агент еженедельного пересчёта прогнозов с записью в bl_sales_forecast
  • Дашборд в административном разделе с графиком план/факт
  • Интеграцию прогнозов с модулем управления запасами через bl_reorder_suggestions