Évaluer la référence

La référence correspond au résultat attendu dans le scénario contrefactuel où toutes les variables de traitement sont définies sur leurs valeurs de référence. Pour les médias payants et naturels, les valeurs de référence sont nulles. Pour les variables de traitement non média, la valeur de référence peut être définie sur la valeur minimale observée de la variable (par défaut), la valeur maximale ou une valeur flottante fournie par l'utilisateur. Estimer la référence permet de comprendre ce qui se serait passé si l'utilisateur n'avait pas interagi avec des médias payants, des médias naturels ou d'autres traitements non média. Il est important d'évaluer la référence, car elle est nécessaire à l'inférence causale des traitements.

Évaluer la négativité de la référence

Le résultat (revenu ou KPI, voir le glossaire) ne peut pas être négatif. Par conséquent, une référence négative indique une erreur statistique dans l'inférence causale des effets de traitement. Comme pour tous les modèles statistiques, nous nous attendons à des erreurs statistiques dans Meridian. Toutefois, une référence extrêmement négative indique une erreur extrême.

Un résultat de modèle avec une référence extrêmement négative signifie que le modèle doit être ajusté. Cela indique clairement que les paramètres du modèle, les données utilisées pour l'adapter ou les a priori doivent être ajustés (voir Ajuster une référence négative ou faible). Cela nécessite un processus de développement de modèle plus approfondi et itératif, qui aboutit à un modèle plus précis, fiable et instructif.

Meridian est un modèle statistique et probabiliste. Nous vous recommandons d'en tirer profit en évaluant la négativité de la référence de manière probabiliste. Plus précisément, considérez la probabilité a posteriori que la référence agrégée sur toute la période soit négative. Si cette probabilité est trop élevée, le résultat du modèle peut présenter une erreur statistique importante. Vous pouvez calculer cette probabilité avec les éléments suivants :

from meridian.analysis import analyzer
from meridian.model import model
import numpy as np

mmm = model.Meridian(...)
mmm.sample_posterior(...)
a = analyzer.Analyzer(mmm)
posterior_baseline_draws = a._calculate_baseline_expected_outcome()
posterior_negative_baseline_prob = np.mean(posterior_baseline_draws < 0)

Vous pouvez également examiner l'estimation ponctuelle de la référence agrégée sur l'ensemble de la période, comme dans les graphiques de contribution des canaux. Toutefois, n'oubliez pas que Meridian est un modèle statistique et probabiliste, et qu'une estimation ponctuelle peut présenter une incertitude importante. Une estimation ponctuelle négative de la référence n'indique pas nécessairement que le modèle comporte un biais. Elle indique une erreur, qui peut provenir d'un biais ou d'une variance (voir Décomposition biais-variance de l'erreur quadratique moyenne). C'est particulièrement vrai lorsque les données contiennent des informations limitées (voir Quantité de données requise).

Nous vous déconseillons de donner trop d'importance à une série temporelle de référence, comme celle des graphiques d'ajustement du modèle, qui donne parfois des valeurs négatives. Une baisse occasionnelle, en particulier si elle est faible, indique une erreur mineure, ce qui est inhérent à tout modèle statistique.

Valeur de référence négative par rapport au pourcentage de contribution

Il existe une différence subtile entre "contribution totale dépassant 100 % du résultat observé" (qui se produit si le résultat incrémental dépasse le résultat observé) et "valeur de référence négative" (qui se produit si le résultat incrémental dépasse le résultat attendu). La distribution a posteriori du résultat total attendu est généralement très proche de la distribution du résultat total observé, mais la distribution a priori du résultat attendu présente généralement une grande variance et n'est pas centrée sur le résultat observé. Par conséquent, il ne serait pas très logique d'évaluer la probabilité a priori d'une référence négative. C'est pourquoi nous vous conseillons d'évaluer la probabilité que la contribution dépasse 100 % du résultat observé.

Notez également que le résultat total attendu peut différer du résultat total observé si votre modèle utilise des valeurs revenue_per_kpi avec une variance élevée. En règle générale, le KPI total attendu est très proche du KPI total observé, mais une forte variance dans revenue_per_kpi peut créer un écart entre le résultat total attendu et le résultat total observé.

Ajuster une référence négative ou faible

Dans un premier temps, calculez la probabilité a priori que la contribution totale du traitement dépasse 100 % du résultat total observé :

from meridian.model import model
from meridian.analyzer import analyzer
import numpy as np

mmm = model.Meridian(...)
mmm.sample_prior(1000)
a = analyzer.Analyzer(mmm)
outcome = mmm.kpi
if mmm.revenue_per_kpi is not None:
  outcome *= mmm.revenue_per_kpi
total_outcome = np.sum(outcome)
prior_contribution = a.incremental_outcome(use_posterior=False) / total_outcome
total_prior_contribution = np.sum(prior_contribution, -1)
np.mean(total_prior_contribution > 1, (0, 1))

Ensuite, calculez la probabilité a priori que la contribution de chaque traitement dépasse 100 % :

np.mean(prior_contribution > 1, (0, 1))

Si ces probabilités a priori sont trop élevées, en particulier lorsque les données contiennent des informations limitées (voir Lorsque l'a posteriori est identique à l'a priori), un problème de référence négative peut survenir. Tenez compte de ces ajustements de l'a priori, puis évaluez à nouveau les a priori personnalisés à l'aide des vérifications décrites précédemment :

  • Une référence négative équivaut à des effets de traitement qui reçoivent trop de crédit. Afin d'atténuer ce problème, définissez des a priori personnalisés pour les effets de traitement (voir Comment choisir les types d'a priori de traitement) qui réduisent la probabilité a priori que la contribution totale du traitement dépasse 100 % du résultat total observé. En particulier, un type d'a priori contribution personnalisé peut être approprié.
  • Un canal présentant à la fois des dépenses et un ROI élevés peut indiquer qu'il génère plus de 100 % du résultat, ce qui entraîne une référence négative. Par exemple, si votre résultat est le revenu et que les dépenses d'un canal représentent 20 % du revenu total, un ROI de 5 indique que le canal génère 100 % du revenu (la contribution du canal est donc de 100 %). Le ROI réel est probablement beaucoup plus faible que 5, et définir un ROI a priori pour refléter cette situation peut vous aider à éviter une référence négative. En règle générale, l'a priori de ROI du 90e centile pour un canal ne doit pas impliquer que la contribution du canal est supérieure à 100 %.
  • Si les médias payants reçoivent trop de crédit, envisagez de définir l'a priori de ROI en termes de contribution totale des médias pour que celle-ci ait une faible probabilité a priori d'être supérieure à 100 %. Pour en savoir plus, consultez Définir l'a priori de contribution média totale.

En plus d'ajuster l'a priori, il existe quelques autres causes possibles à examiner :

  • Le modèle ne dispose pas de suffisamment de contrôles de haute qualité, c'est-à-dire de contrôles qui ont une incidence sur l'exécution média et sur la réponse. Envisagez d'ajouter des contrôles plus pertinents ou des contrôles de mise à l'échelle de la population lorsque cela est pertinent, comme le volume de requêtes. Par défaut, Meridian ne met pas à l'échelle les variables de contrôle en fonction de la population. Pour mettre à l'échelle les variables de contrôle en fonction de la population, utilisez control_population_scaling_id dans ModelSpec.
  • Le modèle n'explique pas suffisamment les effets temporels. Envisagez d'augmenter knots ou de sélectionner des emplacements de nœuds plus appropriés.

Évaluer la tendance et la saisonnalité de la référence

Évaluez si la série temporelle de référence, comme celle des graphiques d'ajustement du modèle, correspond à la tendance et à la saisonnalité attendues de la demande de base. Si la référence ne parvient pas à capturer la tendance ou la saisonnalité pendant les périodes attendues, envisagez de sélectionner davantage de nœuds autour de ces périodes. Pour ce faire, définissez knots sur une liste qui spécifie les emplacements des nœuds. En outre, tenez compte des variables de contrôle qui pourraient expliquer la tendance ou la saisonnalité de la demande de base (voir Variables de contrôle).