Ibp1
Изменена логика формирования плана продаж¶
Описание¶
-
Изменен процесс формирования плана продаж. История продаж и План продаж разделены на параметры:
demand__sellin_history_weekly,demand__sellin_history_drivers_weekly,demand__sellin_plan,demand_sellin_plan_drivers. -
При внесении изменений в
demand__sellin_history_drivers_weeklyтриггер агрегирует и переносит данные в параметрdemand__sellin_history_weekly. -
При внесении изменений в
demand__sellin_plan_driversтриггер агрегирует и переносит данные в параметрdemand__sellin_plan. -
demand__sellin_plan,demand_sellin_plan_driversзаданы по тех неделям.
Установка¶
-
Добавить переменную
MODULE_IBP=ibp1в.envфайл -
Добавить тех недели в календарь:
python manage.py generatecalendar 2021-01-01 2027-12-31 true
python manage.py collectscripts
python manage.py loadparameters ibp_base_dimensions ibp_base_parameters
python manage.py loaddata ibp_base_parameter_measure_scripts
python manage.py loaddata ibp_base_triggers
-
Подготовить вспомогательные параметры для тех недель:
-
Параметр
working_days_calendar— создается и заполняется скриптом "Заполнить календарь рабочих дней", начало/окончание выбрать в соответствии с началом/окончанием сгенерированного ранее календаря. -
Параметр
week_weight_tech_week— заполняется на основеworking_days_calendarкомандой:python manage.py fill_week_weight_tech_week --flush --year 2025 2026 2027
Для разработчика¶
- Преобразование week -> tech_week
from planiqum.apps.ibp.scripts.plan_actions import distribute_to_tech_week
data = distribute_to_tech_week(df=plan_df, measure="fcst_eff", horizon_dim="horizon__month")
- Преобразование tech_week -> week
from planiqum.core.parameters.libs.import_data import get_param_df
columns = {
"product__plan_level": ["product__plan_level"],
"client__plan_level": ["client__plan_level"],
"horizon__tech_week": ["horizon__week"],
}
get_param_df(..., columns=columns)
- Импорт данных в детальные параметры по драйверам
from planiqum.core.parameters.libs.import_data import import_data
import_data(..., execute_triggers=True)
Изменен расчет прогноза - добавлена опция подготовки истории¶
Описание¶
-
В скрипт
build_forecast_fullдобавлена опцияprepare_history_for_forecast(True), контролирующая подготовку истории для расчета прогноза. -
При расчете с клиента шаг подготовки истории выполняется.
-
В цикле планирования для увеличения скорости расчета подготовка истории для прогноза делается заранее отдельным скриптом
prepare_history_for_forecast. -
Скрипт подготовки истории для прогноза -
planiqum.apps.ibp__prepare_history_for_forecast: - Удаляет данные из параметра "Первичные продажи - история для прогноза (недели)"
- Агрегирует историю продаж до уровня прогнозирования