Recommandation et score de calibrage des canaux

Les a priori de ROI par défaut de Meridian sont modérément informatifs. L'un des moyens les plus utiles d'améliorer les estimations de votre modèle Meridian consiste à calibrer les a priori de ROI à l'aide de tests d'incrémentalité. Ces tests établissent une vérité terrain expérimentale pour calibrer les estimations de Meridian, ce qui garantit que vos métriques de ROI reflètent l'impact causal.

L'exécution de tests sur tous les canaux média étant coûteuse et complexe d'un point de vue logistique, Meridian vous aide à identifier les canaux pour lesquels le modèle présente une forte incertitude, un biais potentiel ou des estimations de référence irréalistes, afin de les prioriser pour les tests. Pour cela, un score et une recommandation de calibration de premier niveau sont générés pour chaque canal de votre MMM.

Vous pouvez utiliser ces recommandations et ces scores pour identifier ces canaux et évaluer ceux qui bénéficieraient le plus d'une calibration de leur a priori de ROI par un test d'incrémentalité, comme ceux exécutés avec Meridian GeoX. Pour en savoir plus sur la configuration et l'exécution d'un test Meridian GeoX, consultez Meridian GeoX.

Exécuter les recommandations de calibration des canaux

Les recommandations et les scores de calibration des canaux Meridian sont accessibles dans le rapport sur l'état du modèle, qui peut être généré en exécutant :

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}')

Comprendre comment Meridian propose des canaux pour la calibration

Meridian propose des canaux pour la calibration en calculant un score de calibration composite et en signalant les canaux dont le score est inférieur à 67,5. Le score de calibration composite est une mesure unifiée de l'avantage qu'un canal donné tirerait d'une calibration. Il unifie les métriques de ROI improbable, de ROI à forte variance et de biais potentiel en un seul score scalaire.

Ce score composite vous permet de distinguer les canaux signalés de manière similaire afin de décider lesquelles prioriser :

  • Scores plus élevés (proches de 100) : considérés comme plus sains, ils tireraient moins profit d'une calibration.
  • Scores faibles (proches de 0) : considérés comme moins sains, ils tireraient davantage profit d'une calibration.

Le score de calibration composite globale est défini comme la moyenne pondérée de trois scores de composants : le score de ROI improbable, le score de ROI à forte variance et le score de biais potentiel. Ces scores reposent sur quatre critères individuels de recommandation de canaux.

Critères de recommandation de canaux

Meridian effectue quatre vérifications lorsqu'il propose des canaux média, de couverture et de fréquence pour la calibration :

  1. Estimations du ROI anormalement élevé
  2. Estimations du ROI anormalement faible
  3. Estimations du ROI à forte variance
  4. Biais potentiel élevé

Les critères de ROI anormalement élevé, de ROI anormalement faible et de ROI à forte variance sont pondérés en fonction des dépenses. Cette pondération permet de tenir compte de la tendance des canaux à faibles dépenses à présenter une variance plus élevée, ce qui peut entraîner des estimations ponctuelles extrêmes et de larges distributions a posteriori. Elle privilégie également la calibration des canaux à dépenses plus élevées en raison de leur plus grande importance commerciale.

La recommandation de calibration globale repose sur le score de calibration composite. Si des critères sont signalés, ils sont identifiés comme des facteurs déterminants de la recommandation de calibration des canaux. Chacun de ces critères est expliqué dans cette section.

ROI anormalement élevé

Meridian vérifie si un ROI anormalement élevé justifie une recommandation de calibration en calculant le ROI pondéré par les dépenses et en le comparant à un seuil supérieur défini, \(T_{\text{high_roi}}\). Le canal \(i\) est un facteur déterminant si son ROI moyen pondéré par les dépenses dépasse le seuil :

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

où \(\text{spend}_{i}\) et \(ROI_{i}\) correspondent respectivement aux dépenses et au ROI du canal\(i\), et la somme du dénominateur est calculée sur l'ensemble des canaux média payants, et des canaux de couverture et de fréquence.

Par défaut, \(T_{\text{high_roi}}=20\).

ROI anormalement faible

De même, Meridian vérifie si un ROI anormalement faible justifie une recommandation de calibration en calculant le ROI pondéré par les dépenses réciproques et en le comparant à un seuil inférieur défini, \(T_{\text{low_roi}}\). Dans ce cas, Meridian utilise la pondération des dépenses réciproques, car l'inégalité porte sur une limite inférieure. Le canal \(i\) est un facteur déterminant si son ROI moyen pondéré par les dépenses réciproques est inférieur au seuil :

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

où \(\text{spend}_{i}\) et \(ROI_{i}\) correspondent respectivement aux dépenses et au ROI du canal\(i\), et la somme du dénominateur est calculée sur l'ensemble des canaux média payants, et des canaux de couverture et de fréquence.

Par défaut, \(T_{\text{low_roi}}=0.5\).

ROI à forte variance

Ce critère identifie les canaux pour lesquels l'estimation du modèle est très incertaine. Meridian vérifie s'il y a une forte variance en comparant la largeur de l'intervalle crédible du ROI a posteriori du canal à celle de l'intervalle crédible du ROI a priori par défaut de Meridian (qui est défini par défaut sur LogNormal(0.2, 0.9)). Cette vérification compare la largeur a posteriori de l'intervalle crédible au 80e centile normalisé pondéré par les dépenses à la largeur a priori de l'intervalle crédible au 80e centile de Meridian par défaut (LogNormal(0.2, 0.9)). Le canal \(i\) est signalé si cette largeur relative dépasse un seuil \(T_{\text{high_variance}}\). Plus précisément, soit :

  • \(\text{CI}^{(u)}\) la limite supérieure de l'intervalle crédible au 80e centile du ROI a posteriori du canal \(i\) ;
  • \(\text{CI}^{(l)}\) la limite inférieure de l'intervalle crédible au 80e centile du ROI a posteriori du canal \(i\) ;
  • \(\tilde{x} \) la médiane du ROI a posteriori du canal \(i\) ;
  • \(\text{CI}_\text{default}^{(u)}=2.64\) la limite supérieure de l'intervalle crédible au 80e centile de la distribution a priori du ROI par défaut de Meridian ;
  • \(\text{CI}_\text{default}^{(l)}=0.11\) la limite inférieure de l'intervalle crédible au 80e centile de la distribution a priori du ROI par défaut de Meridian, et ;
  • \(\tilde{x}_\text{default}=1.22\) la médiane de la distribution a priori du ROI par défaut de Meridian.

La vérification du ROI à forte variance est alors

\[ \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} \]

où \(\text{spend}_{i}\) correspond aux dépenses du canal \(i\) et la somme du dénominateur est calculée sur l'ensemble des canaux média payant, de couverture et de fréquence.

Par défaut, \(T_\text{high_variance}=1.0\).

Biais potentiel (canaux sans variables de confusion)

Les estimations du ROI a posteriori de Meridian peuvent être biaisées si les modèles ne contiennent pas de variables de confusion clés. Par exemple, si un modèle ne tient pas compte d'un facteur de confusion pour une période de fêtes, il peut estimer à tort que les augmentations naturelles des ventes ont été causées par des canaux ayant augmenté leurs dépenses au cours de cette même période. La calibration basée sur des tests permet de corriger ce biais en ancrant les estimations de ROI du modèle dans des données causales réelles.

Meridian vérifie s'il y a des biais potentiels en calculant, pour chaque canal média payant, de couverture et de fréquence, la corrélation absolue maximale avec n'importe quelle variable de contrôle dans toutes les zones géographiques, et en la comparant à un seuil \(T_\text{bias}\).

Pour un canal média payant ou un canal de couverture et de fréquence donné \(i\), soit\(E_{g,t,i}\) son niveau d'exécution :

\[ 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} \]

où \(x^{[M]}_{g,t,i}\) correspond à l'exécution du canal média payant \(i\) dans la zone géographique \(g\) à l'instant \(t\) , et \(r^{[RF]}_{g,t,i}\) et\(f^{[RF]}_{g,t,i}\) correspondent respectivement à la couverture et à la fréquence du canal de couverture et de fréquence \(i\) dans la zone géographique \(g\) à l'instant \(t\).

La vérification signale le canal \(i\) si sa corrélation absolue maximale avec une variable de contrôle \(j\) dans toutes les zones géographiques est inférieure au seuil :

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

où \(\text{corr}_t(E_{g,t,i}, z^{[C]}_{g,t,j})\) correspond à la corrélation dans le temps entre l'exécution du canal et la variable de contrôle\(z^{[C]}_{g,t,j}\) dans la zone géographique \(g\).

Par défaut, \(T_\text{bias}=0.1\).

Comprendre le score composite de recommandation de canaux de Meridian

Le score composite de recommandation de canaux est une moyenne pondérée d'un score de ROI improbable, d'un score de ROI à forte variance et d'un score de biais potentiel. Les trois scores de composants individuels sont définis en transformant les indicateurs de facteurs binaires en scores continus compris entre 0 et 100. Le score de ROI improbable se voit attribuer une pondération de 0,5, car il couvre à la fois les ROI anormalement faible et élevé, tandis que le score de ROI à forte variance et le score de biais potentiel se voient attribuer chacun une pondération 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} \]

Score de ROI improbable

Le score de ROI improbable est une métrique commune qui combine les vérifications des ROI anormalement faible et élevé en un seul score. Meridian utilise la distance par rapport au centre géométrique des seuils de ROI faible et de ROI élevé pour définir le score. Plus on s'éloigne du centre, plus le score est faible. Le score diminue rapidement une fois que les seuils de ROI élevé ou faible sont franchis, et se rapproche de zéro lorsque le ROI tend vers zéro ou l'infini.

Carte de densité du score normalisé en forme de cuvette pour un ROI improbable.

Pour en savoir plus, consultez Score de ROI improbable dans l'annexe.

Score de ROI à forte variance

Le score de ROI à forte variance est une version unilatérale du score de ROI improbable basée sur la largeur de l'intervalle crédible a posteriori du ROI. Le score est défini sur 100 si l'intervalle crédible relatif pondéré par les dépenses est inférieur à 0,5. Plus l'intervalle crédible relatif pondéré par les dépenses augmente, plus le score diminue.

Carte de densité du score normalisé en demi-cuvette pour un ROI à forte variance.

Pour en savoir plus, consultez Score de ROI à forte variance dans l'annexe.

Score de biais potentiel

Le score de biais potentiel évalue la corrélation maximale entre les canaux et les variables de contrôle. Il est défini selon une relation de puissance basée sur la corrélation maximale (en valeur absolue) et un exposant.

Fonction de puissance pour le score de biais potentiel.

Pour en savoir plus, consultez Score de biais potentiel dans l'annexe.

Comprendre le score de calibration composite au niveau du modèle

Le score de calibration composite au niveau du modèle est la moyenne des scores de calibration de chaque canal. Les canaux calibrés ont des scores définis sur 100 en moyenne, ce qui reflète le fait qu'ils ont été calibrés.

Si vous n'utilisez pas CalibrationBuilder, mais que vous souhaitez marquer des canaux comme calibrés pour calculer avec précision le score composite au niveau du modèle, vous pouvez utiliser directement la classe CalibratedDistribution :

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

Annexe mathématique

Cette section décrit les détails techniques du score de ROI improbable, du score de ROI à forte variance et du score de biais potentiel. Pour en savoir plus sur la notation mathématique utilisée ci-dessous, consultez la documentation de référence sur la notation mathématique.

Score de ROI improbable

Meridian utilise une formulation normalisée en forme de cuvette, qui combine les critères de ROI faible et de ROI élevé afin de privilégier la parcimonie et la compréhension par l'utilisateur. Cette formulation calcule la distance logarithmique normalisée à partir du centre géométrique de la région non signalée. Voici les étapes à suivre pour calculer le score :

  1. Le centre géométrique des seuils inférieur et supérieur est établi.
  2. La distance entre le ROI du canal et ce centre est calculée par rapport aux limites.
  3. Le score obtenu est défini par une forme de cuvette, où un hyperparamètre k définit la pente de la cuvette.

Plus précisément, soit \(z = \log \left(r / M \right)\) la distance logarithmique à partir du centre géométrique des seuils de ROI faible et de ROI élevé \(M = \sqrt{T_{\text{low_roi}} \cdot T_{\text{high_roi}}} = \sqrt{10}\). Alors, pour tout pourcentage de dépenses \(S_{\%}\), la distance entre \(M\) et les limites supérieure et inférieure est \(\pm D\) , où

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

de sorte que le ratio \(z / D\) définisse une distance logarithmique normalisée par rapport aux limites. Nous définissons ensuite le score normalisé en forme de cuvette comme suit :

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

où \(k\) est un hyperparamètre qui définit la pente de la cuvette. Nous sélectionnons \(k = \log (2)\) de sorte que \(S_\text{bowl} = 1/2\) le long des limites.

Score de ROI à forte variance

Le score de ROI à forte variance est une version unilatérale de la cuvette normalisée utilisée dans le score de ROI improbable. Étant donné que le point de référence de la variance est zéro, l'approche logarithmique standard utilisée dans la cuvette normalisée devient mal définie à proximité du point de référence.

Pour résoudre ce problème, Meridian utilise une formulation en demi-cuvette normalisée basée sur la formulation en cuvette normalisée employée pour la vérification du ROI improbable. Cette formulation en demi-cuvette est une fonction de l'intervalle crédible relatif de la distribution a posteriori : l'intervalle crédible au 80e centile du ROI a posteriori normalisé et pondéré en fonction des dépenses par rapport à la largeur de l'intervalle crédible au 80e centile du ROI a priori par défaut de Meridian (LogNormal(0, 2, 0, 9)). L'intervalle crédible retenu est l'intervalle de densité le plus élevé.

Une région idéale de référence est définie pour l'intervalle crédible relatif : si la largeur de l'intervalle crédible relatif pondéré par les dépenses est inférieure à 0,5, le score est défini sur 100. À mesure que l'intervalle crédible relatif augmente au-delà du point idéal, le score diminue en suivant la courbe en demi-cuvette. Plus précisément, pour chaque valeur de \(S_{\%} \cdot \text{RCI} < T_{\text{ideal}} = 0.5\), où RCI représente l'intervalle crédible relatif du ROI a posteriori, le score est défini sur 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} \]

Comme pour le score de ROI improbable, \(k = \log(2)\) est utilisé.

Score de biais potentiel

Le score de biais potentiel est une fonction de la corrélation maximale entre les canaux et les variables de contrôle. Elle est définie selon une relation de puissance basée sur la corrélation maximale (en valeur absolue) et un exposant. Cet exposant est choisi explicitement de sorte que le score de biais potentiel soit exactement égal à 50 pour un seuil de corrélation de 0,1.

  • La pénalité augmente fortement entre une corrélation maximale de 0,0 et 0,1, où le score est évalué à 50.
  • Au-delà de 0,1, le score augmente progressivement jusqu'à atteindre sa pénalité maximale pour une corrélation de 100.

Plus précisément, le score de biais potentiel a une relation de puissance :

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

où \(b_\text{max}\) correspond à la corrélation absolue maximale pour le canal donné entre son exécution et toute variable de contrôle dans l'ensemble des zones géographiques :

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

avec \(E_{g,t,i}\) correspondant à \(x^{[M]}_{g,t,i}\) pour les canaux média payant ou\(r^{[RF]}_{g,t,i} \cdot f^{[RF]}_{g,t,i}\) pour les canaux de couverture et de fréquence payants. Ici, \(p\) est un exposant. \(p=\log(0.5) / \log(T_\text{bias})\)est sélectionné de sorte que le score de biais potentiel soit de 50 au seuil de la vérification du biais potentiel, \(T_\text{bias} = 0.1\).