Recomendação de calibragem de canal e pontuação

As distribuições a priori padrão de ROI do Meridian são moderadamente informativas. Uma das maneiras de melhorar as estimativas do seu modelo do Meridian é calibrar as distribuições a priori de ROI com experimentos de incrementalidade. Esses testes estabelecem informações empíricas experimentais para calibrar as estimativas do Meridian, garantindo que suas métricas de ROI reflitam o impacto causal.

Como realizar experimentos em todos os canais de mídia é logisticamente complexo e caro, o Meridian ajuda a identificar e priorizar para testes os canais em que o modelo apresenta alta incerteza, possível viés ou estimativas de valor de referência irreais. Para isso, ele gera uma recomendação e uma pontuação de calibragem de canal de nível superior para cada canal na sua modelagem do mix de marketing (MMM, na sigla em inglês).

Use as recomendações e pontuações para identificar esses canais e avaliar quais se beneficiariam mais se tivessem a distribuição a priori de ROI calibrada por um experimento de incrementalidade, como os realizados com o Meridian GeoX. Saiba mais sobre como configurar e executar um experimento do Meridian GeoX.

Executar recomendação de calibragem de canal

As recomendações e as pontuações estão disponíveis no relatório de integridade do modelo, que pode ser gerado ao executar este código:

from IPython import display
from meridian.analysis.review import reviewer
from meridian.model import model

mmm = model.Meridian(...)
health_summary = reviewer.ModelReviewer(mmm).run()

filename = 'health_card.html'
health_summary.output_model_health_card(filename=filename, filepath=meridian_root)
display.HTML(filename=f'{meridian_root}{filename}')

Como o Meridian propõe a calibragem para canais

O Meridian calcula uma pontuação composta e sinaliza os canais com pontuações abaixo de 67,5. A pontuação composta é uma medida unificada de quanto um determinado canal se beneficiaria da calibragem. Ela unifica as métricas de ROI improvável, ROI de alta variância e possível viés em uma única pontuação de valor escalar.

Essa pontuação composta permite distinguir entre canais sinalizados de forma semelhante para decidir quais priorizar:

  • Pontuações altas (próximas de 100): considerados mais saudáveis, se beneficiariam menos da calibragem.
  • Pontuações baixas (próximas de 0): considerados menos saudáveis, se beneficiariam mais da calibragem.

A pontuação composta geral de calibragem é definida como a média ponderada de três pontuações de componentes: a pontuação de ROI improvável, a pontuação de ROI de alta variância e a pontuação de possível viés. Essas pontuações são baseadas em quatro critérios individuais de recomendação de canais.

Critérios de recomendação de canais

O Meridian tem quatro verificações ao propor a calibragem de canais de mídia e de alcance e de frequência:

  1. Estimativas de ROI excessivamente altas
  2. Estimativas de ROI excessivamente baixas
  3. Estimativas de ROI com alta variância
  4. Alta possibilidade de viés

Os critérios de ROI excessivamente alto, excessivamente baixo e de alta variância são ponderados pelo gasto para considerar que canais com pouco gasto têm tendência a uma variância maior. Isso pode resultar em estimativas de pontos extremos e distribuições a posteriori amplas. A ponderação pelo gasto também prioriza a calibragem para canais com gasto mais alto devido à maior importância comercial.

A recomendação geral de calibragem é baseada na pontuação de calibragem composta. Se algum critério for sinalizado, ele será rotulado como um fator de recomendação para a calibragem do canal. Cada um dos critérios é explicado nesta seção.

ROI excessivamente alto

O Meridian verifica se um ROI excessivamente alto é um fator que influencia a recomendação de calibragem. Para isso, ele calcula o ROI ponderado pelo gasto e o compara com um limite superior definido, \(T_{\text{high_roi}}\). O canal \(i\) será um fator se a média do ROI ponderado pelo gasto exceder o limite:

\[ \frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\cdot ROI_{i} > T_{\text{high_roi}} \]

em que \(\text{spend}_{i}\) e \(ROI_{i}\) são o gasto e o ROI do canal\(i\), respectivamente, e a soma no denominador é feita em todos os canais de mídia paga e de alcance e frequência.

Por padrão, \(T_{\text{high_roi}}=20\).

ROI excessivamente baixo

Da mesma forma, o Meridian verifica se um ROI excessivamente baixo é um fator de recomendação de calibragem calculando o ROI ponderado pelo gasto recíproco e comparando-o a um limite inferior definido, \(T_{\text{low_roi}}\). O Meridian usa a ponderação pelo inverso do gasto nesse caso porque a desigualdade é um limite inferior. O canal \(i\) será um fator determinante se a média do ROI ponderado pelo gasto recíproco ficar abaixo do limite:

\[ \left(\frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\right)^{-1} \cdot ROI_{i} < T_{\text{low_roi}} \]

em que \(\text{spend}_{i}\) e \(ROI_{i}\) são o gasto e o ROI do canal\(i\), respectivamente, e a soma no denominador é feita em todos os canais de mídia paga e de alcance e frequência.

Por padrão, \(T_{\text{low_roi}}=0.5\).

ROI de alta variância

Esse critério identifica canais em que a estimativa do modelo é muito incerta. O Meridian verifica se há alta variância comparando o comprimento do intervalo de credibilidade do ROI a posteriori do canal com o comprimento do intervalo de credibilidade de ROI padrão a priori do Meridian (que, por padrão, é LogNormal(0,2, 0,9)). Essa verificação compara o comprimento da distribuição a posteriori do intervalo de credibilidade de 80% normalizado e ponderado pelo gasto com o comprimento do intervalo de credibilidade de 80% da distribuição a priori padrão do Meridian (LogNormal(0,2, 0,9)). O canal \(i\) será sinalizado se esse comprimento relativo exceder um limite \(T_{\text{high_variance}}\). Especificamente, considere:

  • \(\text{CI}^{(u)}\) como o limite superior do intervalo de credibilidade do 80º percentil do ROI a posteriori do canal \(i\);
  • \(\text{CI}^{(l)}\) como o limite inferior do intervalo de credibilidade do 80º percentil do ROI a posteriori do canal \(i\);
  • \(\tilde{x} \) como a mediana do ROI a posteriori do canal \(i\);
  • \(\text{CI}_\text{default}^{(u)}=2.64\) como o limite superior do intervalo de credibilidade do 80º percentil do ROI a priori padrão do Meridian;
  • \(\text{CI}_\text{default}^{(l)}=0.11\) como o limite inferior do intervalo de credibilidade do 80º percentil do ROI a priori padrão do Meridian;
  • \(\tilde{x}_\text{default}=1.22\) como a mediana do ROI a priori padrão do Meridian.

Então, a verificação de ROI de alta variância é:

\[ \left(\frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\right)\left(\frac{( \text{CI}^{(u)} - \text{CI}^{(l)} ) / \tilde{ x}}{(\text{CI}_\text{default}^{(u)} - \text{CI}_\text{default}^{(l)}) /\tilde{x}_\text{default} }\right) > T_\text{high_variance} \]

em que \(\text{spend}_{i}\) é o gasto do canal \(i\) , e a soma no denominador é feita em todos os canais de mídia paga e de alcance e frequência.

Por padrão, \(T_\text{high_variance}=1.0\).

Possível viés (canais sem variáveis de confusão)

As estimativas de ROI a posteriori do Meridian podem ser tendenciosas se os modelos não tiverem variáveis de confusão importantes. Por exemplo, se um modelo não tiver um confundidor para um período de feriado, ele poderá estimar incorretamente que os aumentos naturais nas vendas foram causados por canais que aumentaram os gastos durante esse mesmo período. A calibragem baseada em experimentos ajuda a corrigir esse viés, fundamentando as estimativas de ROI do modelo em dados causais reais.

Para cada canal de mídia paga e de alcance e frequência, o Meridian verifica se há um possível viés calculando a correlação absoluta máxima com qualquer variável de controle em todas as regiões e comparando-a com um limite \(T_\text{bias}\).

Para um determinado canal de mídia paga ou de alcance e frequência \(i\), considere\(E_{g,t,i}\) como o nível de execução:

\[ E_{g,t,i} = \begin{cases} x^{[M]}_{g,t,i} & \text{for paid media channels} \\ r^{[RF]}_{g,t,i} \cdot f^{[RF]}_{g,t,i} & \text{for paid reach and frequency channels} \end{cases} \]

em que \(x^{[M]}_{g,t,i}\) é a execução do canal de mídia paga \(i\) na região \(g\) no período \(t\) , e \(r^{[RF]}_{g,t,i}\) e\(f^{[RF]}_{g,t,i}\) são o alcance e a frequência do canal \(i\) na região \(g\) no período \(t\), respectivamente.

A verificação sinaliza o canal \(i\) se a correlação absoluta máxima dele com qualquer variável de controle \(j\) em todas as regiões for menor que o limite:

\[ \max_{j, g} |\text{corr}_t (E_{g,t,i}, z^{[C]}_{g,t,j}) | < T_\text{bias} \]

em que \(\text{corr}_t(E_{g,t,i}, z^{[C]}_{g,t,j})\) é a correlação ao longo do tempo entre a execução do canal e a variável de controle\(z^{[C]}_{g,t,j}\) na região \(g\).

Por padrão, \(T_\text{bias}=0.1\).

Como funciona a pontuação composta do Meridian para recomendação de canais

A pontuação composta é uma média ponderada de uma pontuação de ROI improvável, uma pontuação de ROI de alta variância e uma pontuação de possível viés. As três pontuações de componentes individuais são definidas pela transformação das flags binárias de driver em pontuações contínuas que variam de zero a 100. A pontuação de ROI improvável recebe um peso de 0,5, já que abrange o ROI excessivamente baixo e o excessivamente alto. Já a pontuação de ROI de alta variância e a pontuação de possível viés recebem pesos de 0,25:

\[ \begin{align} \text{composite_calibration_score}\;=\;& 0.5 \cdot \text{implausible_roi_score} \\ +\;& 0.25 \cdot \text{high_variance_roi_score} \\ +\;& 0.25 \cdot \text{potential_bias_score} \end{align} \]

Pontuação de ROI improvável

Essa métrica conjunta combina as verificações de ROI excessivamente baixo e excessivamente alto em uma única pontuação. O Meridian usa a distância do centro geométrico dos limites de ROI baixo e alto para definir a pontuação. Quanto mais longe do centro, menor a pontuação. A pontuação diminui rapidamente quando os limites de ROI alto ou baixo são ultrapassados e se aproxima de zero à medida que o ROI vai para zero ou infinito.

Mapa de calor da pontuação em curva normalizada para ROI improvável.

Para mais detalhes, consulte Pontuação de ROI improvável no apêndice.

Pontuação de ROI de alta variância

É uma versão unilateral da pontuação de ROI improvável com base no comprimento do intervalo de credibilidade do ROI a posteriori. A pontuação será definida como 100 se o intervalo confiável relativo ponderado pelo gasto for menor que 0,5. À medida que o intervalo confiável relativo ponderado pelo gasto aumenta, a pontuação diminui.

Mapa de calor da pontuação em curva normalizada para ROI de alta variância.

Para mais detalhes, consulte Pontuação de ROI de alta variância no apêndice.

Pontuação de possível viés

Ela avalia a correlação máxima entre canais e controles. É definida de acordo com uma relação de eficiência com base na correlação máxima (em valor absoluto) e em um expoente.

Função de eficiência para a pontuação de possível viés.

Para mais detalhes, consulte Pontuação de possível viés no apêndice.

Como funciona a pontuação composta de calibragem no nível do modelo

Ela é a média das pontuações de cada canal. Os canais calibrados têm pontuações definidas como 100 em média, o que reflete que estão calibrados.

Se você não estiver usando CalibrationBuilder, mas quiser sinalizar canais como calibrados para calcular com precisão a pontuação composta no nível do modelo, use a classe CalibratedDistribution diretamente:

import numpy as np
import tensorflow_probability.substrates.jax as tfp_jax
from meridian.model.calibration import base
from meridian.model import prior_distribution

# Two media channels. The second channel is self-calibrated
distributions = tfp_jax.distributions.LogNormal(
    np.array([0.2, 0.3], dtype=np.float64),
    np.array([0.9, 0.7], dtype=np.float64),
)
roi_m_prior = base.CalibratedDistribution(
    distributions,
    is_calibrated=[False, True],
)
prior = prior_distribution.PriorDistribution(
    roi_m=roi_m_prior,
)
# Pass prior to ModelSpec and continue with modeling

Apêndice matemático

Nesta seção, descrevemos os detalhes técnicos da pontuação de ROI improvável, da pontuação de ROI de alta variância e da pontuação de possível viés. Para mais detalhes sobre a notação matemática usada abaixo, consulte esta referência.

Pontuação de ROI improvável

O Meridian usa uma formulação em curva normalizada que combina os critérios de ROI baixo e alto para priorizar a parcimônia e a compreensão do usuário. Essa formulação calcula a escala logarítmica normalizada a partir do centro geométrico da região não sinalizada. Estas são as etapas para calcular a pontuação:

  1. O centro geométrico dos limites baixo e alto é estabelecido.
  2. A distância do ROI do canal até esse centro é calculada em relação aos limites.
  3. A pontuação resultante é definida em formato de curva, em que um hiperparâmetro k define a inclinação.

Especificamente, considere \(z = \log \left(r / M \right)\) como a distância logarítmica do centro geométrico dos limites de ROI baixo e alto \(M = \sqrt{T_{\text{low_roi}} \cdot T_{\text{high_roi}}} = \sqrt{10}\). Em seguida, para qualquer percentual de gasto \(S_{\%}\), a distância de \(M\) até o limite superior e inferior é \(\pm D\) , em que:

\[ D = \log \left(\frac{1}{S_{\%}}\sqrt{\frac{T_{\text{high_roi}}}{T_{\text{low_roi}}}}\right) \]

para que a proporção \(z / D\) defina uma distância logarítmica normalizada para os limites. Em seguida, definimos a pontuação em curva normalizada como:

\[ S_\text{bowl} = 100 \cdot \exp \left( - k \left(\frac{z}{D}\right)^2\right) \]

em que \(k\) é um hiperparâmetro que define a inclinação da curva. Selecionamos \(k = \log (2)\) para que \(S_\text{bowl} = 1/2\) nos limites.

Pontuação de ROI de alta variância

É uma versão unilateral da curva normalizada usada na pontuação de ROI improvável. Como o ponto de referência para a variância é zero, a abordagem logarítmica padrão usada na curva normalizada fica mal definida perto do ponto de referência.

Para resolver isso, o Meridian usa uma formulação em meia-curva normalizada com base na formulação em curva normalizada da verificação de ROI improvável. Essa formulação em meia-curva é uma função do intervalo de credibilidade relativo da distribuição a posteriori: o intervalo de credibilidade do 80º percentil do ROI a posteriori normalizado e ponderado pelo gasto em relação ao comprimento do intervalo de credibilidade do 80º percentil do ROI a priori padrão do Meridian, (LogNormal(0,2, 0,9)). O intervalo de credibilidade é considerado o de maior densidade.

Uma região ideal de referência é definida para o intervalo de credibilidade relativo: se o comprimento do intervalo de credibilidade relativo ponderado pelo gasto for menor que 0,5, a pontuação será definida como 100. À medida que o intervalo de credibilidade relativo aumenta além do ponto ideal, a pontuação diminui seguindo a meia-curva. Especificamente, para cada valor de \(S_{\%} \cdot \text{RCI} < T_{\text{ideal}} = 0.5\), em que RCI é o intervalo de credibilidade relativo do ROI a posteriori, a pontuação é definida como 100:

\[ S_{\text{half_bowl}}(\text{RCI}, S_{\%}) = \begin{cases} 100, & S_{\%} \cdot \text{RCI} \le T_{\text{ideal}} \\ 100 \cdot \exp\left(-k \left(\frac{\ln(S_{\%} \cdot \text{RCI}/T_{\text{ideal}})}{\ln(T_{\text{high_variance}}/T_{\text{ideal}})}\right)^2\right), & S_{\%} \cdot \text{RCI} > T_{\text{ideal}} \end{cases} \]

Como na pontuação de ROI improvável, \(k = \log(2)\) é usado.

Pontuação de possível viés

Ela é uma função da correlação máxima entre canais e controles. É definida de acordo com uma relação de eficiência com base na correlação máxima (em valor absoluto) e em um expoente. O expoente é selecionado explicitamente para que a pontuação de possível viés seja exatamente igual a 50 no limite de correlação de 0,1.

  • A penalidade aumenta drasticamente de uma correlação máxima de 0,0 para 0,1, em que a pontuação é avaliada como 50.
  • Quando passa de 0,1, a pontuação aumenta gradualmente até atingir a penalidade máxima em uma correlação de 100.

Especificamente, a pontuação de possível viés tem uma relação de eficiência:

\[ C_\text{bias} = 100 \cdot \left(b_\text{max}\right) ^ p, \]

em que \(b_\text{max}\) é a correlação absoluta máxima para o canal em questão entre a execução dele e qualquer variável de controle em todas as regiões geográficas:

\[ b_\text{max} = \max_{j, g} |\text{corr}_t (E_{g,t,i}, z^{[C]}_{g,t,j}) | \]

com \(E_{g,t,i}\) sendo \(x^{[M]}_{g,t,i}\) para canais de mídia paga ou\(r^{[RF]}_{g,t,i} \cdot f^{[RF]}_{g,t,i}\) para canais de alcance e frequência pagos. Aqui, \(p\) é um expoente. \(p=\log(0.5) / \log(T_\text{bias})\)é selecionado para que a pontuação de possível viés seja 50 no limite da verificação de possível viés, \(T_\text{bias} = 0.1\).