Avaliar o ajuste do modelo e os resultados

O objetivo principal da Modelagem de Marketing Mix (MMM) é a estimativa precisa dos efeitos causais do marketing. No entanto, validar diretamente a qualidade da inferência causal é difícil e requer experimentos bem projetados que precisam ser executados corretamente e ter a mesma estimação da MMM. Como você está usando uma MMM, os experimentos provavelmente não são práticos e não é possível avaliar diretamente a inferência causal. Você terá que contar com medidas indiretas.

Recomendamos que suas decisões de modelagem sejam adequadas ao objetivo da inferência causal, e não para minimizar o erro de previsão. Diretrizes importantes:

  • Verifique se o conjunto de controle inclui todas as variáveis confundidoras importantes, que afetam a execução da mídia e a resposta. Para mais informações, consulte Selecionar variáveis de controle.

  • Não inclua variáveis de controle que não sejam confundidoras, já que o excesso de variáveis pode aumentar o risco de overfitting e o viés de especificação incorreta do modelo.

  • Adicione apenas as variáveis de mídia para as quais você quer saber a inferência causal.

  • Use as orientações em Escolher o número de nós para efeitos de tempo no modelo e não tente modelar o tempo com o maior número possível de nós.

Embora esse processo exija alguma autoavaliação do anunciante, deve levar ao melhor ajuste de modelo. Considerando que você planejou sua própria estratégia de mídia, provavelmente sabe ou tem uma boa noção de que variáveis afetaram o planejamento quanto à execução de mídia.

Os resultados precisam fazer sentido. Não inclua valores de referência anormalmente baixos, que costumam ser negativos (consulte Avaliar o valor de referência), nem um canal de mídia que se destaque demais em relação aos outros. O Meridian oferece métricas de previsão fora da amostra que servem como verificação preliminar para garantir que a estrutura do modelo seja adequada e não contenha muitos parâmetros.

Métricas de previsão fora da amostra

O objetivo da Modelagem de Marketing Mix é a inferência causal, e não necessariamente minimizar as métricas de previsão fora da amostra. Pode ser mais seguro ter um modelo que inclua todas as variáveis confundidoras e permita flexibilidade suficiente na estrutura para receber estimativas causais imparciais (como ROI), mesmo que isso signifique overfitting.

É recomendável verificar o ajuste fora da amostra para que a estrutura do modelo seja adequada e sem excesso de parâmetros, mas as métricas de previsão fora da amostra não devem ser a principal forma de avaliar o ajuste do modelo. Para avaliar o ajuste fora da amostra, use o argumento holdout_id em ModelSpec e o método predictive_accuracy do Analyzer.

Acessar as extrações de distribuição a posteriori de todos os parâmetros

Acesse essas extrações no objeto de modelo do Meridian pelo atributo inference_data.

Por exemplo, para conferir os valores da distribuição para alfa (parâmetro de decaimento de Adstock) de cada canal de mídia de um objeto do modelo do Meridian chamado mmm, acesse a propriedade mmm.inference_data.posterior.alpha_m. Lá você pode extrair qualquer percentil da distribuição a posteriori usando uma sintaxe semelhante a esta para o percentil 75:

np.percentile(meridian.inference_data.posterior.alpha_m, 0.75, axis=(0, 1))

Você também pode calcular a probabilidade a posteriori de o ROI ser pelo menos 1:

(meridian.inference_data.posterior.roi_m >= 1).mean(dim=('chain', 'draw'))

Também é possível saber a tendência central e o intervalo de confiança de determinada amplitude para a distribuição a posteriori estimada de um parâmetro. Por exemplo, você pode conferir o intervalo de confiança da média e do percentil 90 para alpha_m usando esta sintaxe:

Analyzer.get_central_tendency_and_ci(mmm.inference_data.posterior.alpha_m, 0.9)

Acesse as distribuições a posteriori dos demais parâmetros de maneira semelhante.

Métodos para ajuste do modelo e resultados

A classe Analyzer tem vários métodos que fornecem muitas das quantidades de interesse pós-modelagem.

Exemplos:

  • Analyzer.media_summary_metrics fornece uma tabela de resumo organizada por canal. As métricas de interesse incluem: impressions, spend, incremental_outcome, pct_of_contribution, ROI, effectiveness e mROI.
  • Analyzer.incremental_outcome permite analisar o impacto de uma origem de mídia específica.
  • Analyzer.roi fornece estimativas de ROI e pode ser personalizado por mídia, período e região geográfica.
  • Analyzer.marginal_roi fornece estimativas de ROI marginal e pode ser personalizado por mídia, período e região geográfica.
  • Analyzer.response_curves retorna os dados usados para representar as curvas de resposta.
  • Analyzer.predictive_accuracy retorna métricas para a precisão preditiva, incluindo R ao quadrado, MAPE e WMAPE.
  • Analyzer.expected_outcome retorna o resultado esperado da distribuição a priori ou a posterior.

Para conferir uma lista completa de métodos e mais informações sobre as possíveis especificações, incluindo a seleção de regiões ou períodos, consulte o código analyzer.py.