# Номенклатурный производственный план на основе прогнозов (mklab_forecast_mrp) --- ## Описание Модуль автоматизирует цикл планирования производства на основе анализа истории продаж: - **Прогнозирование спроса** — анализирует заказы продаж за последние 12 месяцев с учётом дня недели и месяца года (сезонность). Нормализует исторические данные по прошедшим акциям и применяет ожидаемый рост, если на прогнозируемую дату запланирована маркетинговая акция. - **Планирование производства** — по готовому прогнозу одним действием создаёт заказы на производство (`mrp.production`) для всех позиций. - **Автоподбор ведомости материалов** — для каждого продукта автоматически находит спецификацию (BOM), для которой все компоненты есть на складе в нужном количестве. - **Маркетинговые акции** — ведёт реестр акций с датами отгрузки и продаж на полке, привязывает к акции продукты (со скидками и ожидаемым ростом) и контрагентов. - **Анализ влияния скидок** — мастер-форма для расчёта фактического роста продаж при заданной паре скидок (наша скидка + скидка на полке) на основе реальной истории заказов. --- ## Установка ### Требования - Odoo 19.0 - PostgreSQL 16+ - Python 3.10+ ### Ручная установка 1. Скопировать папку `mklab_forecast_mrp` в директорию `addons` вашего Odoo. 2. В `odoo.conf` добавить путь к папке в `addons_path`. 3. Перезапустить Odoo. 4. Настройки → Приложения → убрать фильтр "Приложения" → найти **mklab_forecast_mrp** → Установить. --- ## Как пользоваться После установки в главном меню появится раздел **План** с тремя подразделами. ### Стимулирующие мероприятия Перед работой с прогнозами заведите акции. **План → Стимулирующие мероприятия → Мероприятия → Создать** | Поле | Описание | |---|---| | Дата начала/окончания отгрузок | Период, когда товар отгружается по акции | | Дата начала/окончания продаж на полке | Период продаж у покупателя | | Продукты | Список товаров с размером скидки и ожидаемым ростом продаж (%) | | Контрагенты | Если заполнено — акция действует только для указанных контрагентов | --- ### Прогнозирование и план производства **План → Планирование → Прогнозы → Создать** **Шаг 1.** Указать дату прогноза и при необходимости ограничить список контрагентов. **Шаг 2.** Нажать **Заполнить строки** — автоматически добавятся все продукты с флагом "Участвует в прогнозах" (настраивается на карточке продукта). **Шаг 3.** Для каждой строки доступны действия: - **Прогноз** — рассчитать прогнозное количество на основе истории продаж - **Факт** — подтянуть фактические данные по заказам и отгрузкам за эту дату - **Подобрать ВМ** — найти ведомость материалов, для которой все компоненты есть на складе **Шаг 4.** Включить флаг **Отправить на расчёт** — фоновый cron пересчитает строки автоматически (по 5 штук за итерацию). **Шаг 5.** Нажать **Создать заказы на производство** — для всех строк с заполненным прогнозом и ведомостью материалов будут созданы заказы на производство. **Шаг 6.** Нажать **Утвердить** для фиксации прогноза. > Поле **Ожидаемый рост при акции, %** — применяется как коэффициент роста, если на прогнозируемую дату найдена акция, но продукт не указан в её составе явно. --- ### Анализ влияния скидок **План → Анализ данных → Мастер анализа данных** Позволяет оценить, насколько реально выросли продажи при заданной паре скидок в указанный период. 1. Указать период анализа и точность сопоставления скидок (±%). 2. Добавить строки: продукт + наша скидка + скидка на полке. 3. Нажать **Расчёт** — система сравнит средние продажи в дни акции и без акции и выведет процент роста. --- ### Настройка продуктов На карточке продукта (Инвентарь → Продукты) доступны дополнительные поля: - **Участвует в прогнозах** — продукт будет включён при автозаполнении строк прогноза На карточке ведомости материалов: - **Виртуальная** — пометить BOM как сгенерированный автоматически (такие BOM пропускаются при автоподборе)