meridian.analysis.optimizer.BudgetOptimizer

Ejecuta y muestra situaciones de optimización del presupuesto en tu modelo.

Encuentra la asignación de presupuesto óptima que maximiza el resultado en función de varias situaciones en las que el presupuesto, los datos y las restricciones se pueden personalizar. Los resultados se pueden ver como diagramas y en una página de resumen en formato HTML.

Métodos

optimize

Ver código fuente

Encuentra la asignación de presupuesto óptima que maximiza el resultado.

Por lo general, el resultado son los ingresos, pero cuando el KPI no son los ingresos y los datos de "ingresos por KPI" no están disponibles, Meridian define el resultado como el KPI en sí.

Args
use_posterior Booleano. Si es True, el presupuesto se optimiza en función de la distribución de probabilidad a posteriori del modelo. De lo contrario, se usa la distribución de probabilidad a priori.
selected_times Tupla que contiene las coordenadas temporales de inicio y finalización para el período durante el cual se ejecutará la optimización. Los valores temporales seleccionados deben alinearse con las coordenadas de la dimensión temporal de Meridian en el modelo subyacente. De forma predeterminada, se utilizan todos los períodos. Cualquier componente de hora de inicio o de finalización puede ser None para representar la primera o la última coordenada de tiempo, respectivamente.
fixed_budget Es un valor booleano que indica si se trata de una optimización de presupuesto fijo o flexible. El valor predeterminado es True. Si es False, debes especificar target_roi o target_mroi.
budget Es un número que indica el presupuesto total para la situación de presupuesto fijo. El valor predeterminado es el presupuesto histórico.
pct_of_spend Es una lista numérica de tamaño n_total_channels que contiene los porcentajes de la inversión asignada para todos los canales de medios y RF. El orden debe coincidir con el de InputData.media con valores entre 0 y 1, que sumen 1 en total. De forma predeterminada, se usa la asignación histórica. El presupuesto y la asignación se usan en conjunto para determinar la inversión en medios no optimizada, que, a su vez, se utiliza para calcular las métricas de rendimiento no optimizadas (por ejemplo, el ROI). Esto permite definir el rango factible de inversión en medios teniendo en cuenta las restricciones de inversión.
spend_constraint_lower Es una lista numérica de tamaño n_total_channels o número de punto flotante (misma restricción para todos los canales) que indica el límite inferior de la inversión a nivel de los medios. El límite inferior de la inversión a nivel de los medios es (1 - spend_constraint_lower) * budget * allocation). El valor debe estar entre 0 y 1. El valor predeterminado es 0.3 para el presupuesto fijo y 1 para el presupuesto flexible.
spend_constraint_upper Es una lista numérica de tamaño n_total_channels o número de punto flotante (misma restricción para todos los canales) que indica el límite superior de la inversión a nivel de los medios. El límite superior de la inversión a nivel de los medios es (1 + spend_constraint_upper) * budget * allocation). El valor predeterminado es 0.3 para el presupuesto fijo y 1 para el presupuesto flexible.
target_roi Es un número de punto flotante que indica la restricción del ROI objetivo. Solo se usa para situaciones de presupuesto flexible. El presupuesto se limita hasta que el ROI de la inversión total alcance target_roi.
target_mroi Es un número de punto flotante que indica la restricción del ROI marginal objetivo. Solo se usa para situaciones de presupuesto flexible. El presupuesto se limita hasta que el ROI marginal de la inversión total alcance target_mroi.
gtol Es un número de punto flotante que indica el error relativo aceptable para el presupuesto que se usa en la configuración de la cuadrícula. El presupuesto se redondeará en 10*n, donde n es el número entero más pequeño de modo que (budget - rounded_budget) sea menor o igual que (budget * gtol). gtol debe ser menor que 1.
use_optimal_frequency Si es True, usa optimal_frequency calculada por el modelo de Meridian entrenado para la optimización. Si es False, usa la frecuencia histórica.
use_kpi Si es True, ejecuta la optimización en el KPI. El valor predeterminado es el de los ingresos.
confidence_level Es el umbral para calcular los intervalos de confianza.
batch_size Indica las extracciones máximas por cadena en cada lote. El cálculo se ejecuta en lotes para evitar el agotamiento de la memoria. Si se produce un error de memoria, intenta reducir batch_size. Por lo general, el cálculo será más rápido con valores de batch_size más grandes.

Returns
Un objeto OptimizationResults que contiene conjuntos de datos sobre la asignación optimizada del presupuesto, junto con algunos de los valores intermedios que se usaron en el proceso.