Припустимо, ви керуєте інтернет-магазином на 1С-Бітрікс з тисячою товарів. Щотижня ви замовляєте товар, орієнтуючись на інтуїцію або прості середні. У якийсь момент топ-продукт закінчується за два дні до поставки — ви втрачаєте виручку та клієнтів. Або навпаки: склад забитий неходовим товаром, а гроші заморожені. Предиктивна аналітика продажів перетворює хаос замовлень, кошиків і переглядів на часові ряди — і прогнозує попит з точністю до 90% для товарів з історією. Без машинного навчання, тільки на SQL і PHP.
Ми налаштовуємо цей конвеєр під ваш магазин: від SQL-запитів до бази до дашборду в адмінці. Наш досвід — 15+ років у Бітрікс-розробці, сертифіковані рішення для роздрібу та опту. Гарантуємо точність прогнозу в межах 10% по MAPE за достатньої історії даних. За даними впроваджень, скорочення неліквідів становить 15–30%, а оборотність запасів зростає на 20%. Зниження складських витрат приносить суттєву економію на кожні 1000 товарів.
Як побудувати прогноз продажів на 1С-Бітрікс?
З Бітрікс доступні всі необхідні часові ряди:
- Продажі по днях:
b_sale_order_basketJOINb_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; Чому предиктивна аналітика підвищує рентабельність?
Знижуються витрати на зберігання: ви перестаєте закуповувати товари, які не підуть. Збільшується оборотність: на полиці лежить те, що куплять завтра. Прогноз за ковзною середньою на 70% точніший, ніж інтуїтивне планування за досвідом. Сезонне згладжування дає виграш ще 20% точності для товарів з яскраво вираженою сезонністю. Порівняння методів прогнозування:
| Метод | Коли застосовувати | Точність (MAPE) |
|---|---|---|
| Ковзна середня | Стабільний попит, сезонність слабка | 10–15% |
| Сезонне згладжування | Яскраво виражена сезонність | 8–12% |
| Лінійний тренд | Зростаючий або спадний тренд | 12–20% |
Засновано на матеріалах ковзна середня та сезонне коригування.
Що робити, якщо даних для прогнозу недостатньо?
Якщо історія продажів менше року, прогноз все одно можливий. Використовуємо усічені методи: адаптивне ковзне середнє з коротким вікном (2-4 тижні) та сезонні коефіцієнти на основі середніх по категорії. Точність знижується до 70-80%, але це краще, ніж інтуїтивне замовлення. Через 6 місяців роботи методика перераховується з накопиченими даними.
Що входить у налаштування
- SQL-запити для побудови часових рядів продажів з
b_sale_order_basket - Алгоритми прогнозування (ковзна середня + сезонні коефіцієнти) у PHP-класі
SalesForecastEngine - Агент щотижневого перерахунку прогнозів із записом у
bl_sales_forecast - Дашборд в адміністративному розділі з графіком план/факт
- Інтеграцію прогнозів з модулем управління запасами через
bl_reorder_suggestions
Прості методи прогнозування без 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 тижнів для всіх активних товарів.
Процес роботи
- Аудит даних — перевіряємо історію замовлень, кошиків, переглядів. Оцінюємо глибину та якість.
- Проектування конвеєра — обираємо методи прогнозу під асортимент і частоту продажів.
- Реалізація — пишемо PHP-класи, SQL-запити, агент, дашборд.
- Тестування — порівнюємо прогноз з реальними продажами за останні 2-3 тижні.
- Деплой та інтеграція — заливаємо на бойовий сервер, підключаємо до закупівель.
- Підтримка — моніторимо точність, коригуємо методи при зміні ринку.
Результат
Через 2–3 тижні після старту ви отримуєте працюючий дашборд з прогнозом по кожному товару. Точність — від 80% для товарів зі стабільним попитом. Для нових товарів використовуємо усічені методи.
Отримайте консультацію з налаштування прогнозу для вашого магазину — оцінимо дані за один день. Зв'яжіться з нами, щоб запустити прогноз уже через тиждень.







