meridian.analysis.optimizer.BudgetOptimizer

Executa e gera cenários de otimização de orçamento no modelo.

Encontra a alocação de orçamento ideal que maximiza o resultado com base em vários cenários em que o orçamento, os dados e as restrições podem ser personalizados. Os resultados podem ser mostrados como gráficos e como uma página HTML de saída de resumo.

Métodos

optimize

Ver código-fonte

Encontra a alocação de orçamento ideal que maximiza o resultado.

O resultado normalmente é a receita, mas, quando o KPI não é a receita e os dados de receita por KPI não estão disponíveis, o Meridian define o resultado como o próprio KPI.

Args
use_posterior Booleano. Se for True, o orçamento será otimizado com base na distribuição a posteriori do modelo. Caso contrário, a distribuição a priori será usada.
selected_times Tupla que contém as coordenadas da dimensão do horário de início e de término para o período em que a otimização será executada. Os valores de tempo selecionados precisam estar alinhados às coordenadas da dimensão de tempo do Meridian no modelo subjacente. Por padrão, todos os períodos são usados. O componente de horário de início ou de término pode ser None para representar a primeira ou a última coordenada de tempo, respectivamente.
fixed_budget Booleano que indica se é uma otimização de orçamento fixo ou flexível. O valor padrão é True. Se for False, é obrigatório especificar target_roi ou target_mroi.
budget Número que indica o valor total do cenário de orçamento fixo. O padrão é o orçamento histórico.
pct_of_spend Lista numérica de tamanho n_total_channels que contém a alocação percentual do gasto para todos os canais de mídia e de RF. A ordem tem que corresponder a InputData.media com valores entre 0 e 1, com soma de 1. Por padrão, a alocação histórica é usada. O orçamento e a alocação são usados juntos para determinar o gasto não otimizado da mídia, que é a base para calcular as métricas de performance não otimizadas (por exemplo, ROI) e construir um intervalo viável de gastos da mídia com restrições.
spend_constraint_lower Lista numérica de tamanho n_total_channels ou ponto flutuante (mesma restrição para todos os canais) que indica o limite inferior do gasto de mídia. Esse limite é (1 - spend_constraint_lower) * budget * allocation). O valor deve ser entre 0 e 1. O padrão é 0.3 para orçamento fixo e 1 para flexível.
spend_constraint_upper Lista numérica de tamanho n_total_channels ou ponto flutuante (mesma restrição para todos os canais) que indica o limite superior do gasto de mídia. Esse limite é (1 + spend_constraint_upper) * budget * allocation). O padrão é 0.3 para orçamento fixo e 1 para flexível.
target_roi Ponto flutuante que indica a restrição de ROI desejado. Usado apenas para cenários de orçamento flexível. A restrição é aplicada quando o ROI do gasto total atinge target_roi.
target_mroi Ponto flutuante que indica a restrição de ROI marginal desejado. Usado apenas para cenários de orçamento flexível. A restrição é aplicada quando o ROI marginal do gasto total atinge target_mroi.
gtol Ponto flutuante que indica o erro relativo aceitável para o orçamento usado na configuração da grade. O orçamento será arredondado por 10*n, em que n é o menor número inteiro para que (budget - rounded_budget) seja menor ou igual a (budget * gtol). gtol precisa ser menor que 1.
use_optimal_frequency Se for True, usa optimal_frequency calculado pelo modelo do Meridian treinado para otimização. Se for False, usa a frequência histórica.
use_kpi Se True, executa a otimização no KPI. O padrão é a receita.
confidence_level O limite para calcular os intervalos de confiança.
batch_size Número máximo de extrações por cadeia em cada lote. O cálculo é executado em lotes para evitar o esgotamento da memória. Se ocorrer um erro de memória, tente reduzir o batch_size. O cálculo costuma ser mais rápido com valores de batch_size maiores.

Retorna
Um objeto OptimizationResults que contém conjuntos de dados de alocação de orçamento otimizada e alguns dos valores intermediários usados para extrair esses dados.