Évaluer l'adéquation du modèle et les résultats

L'objectif principal de la modélisation du mix marketing (MMM, Marketing Mix Modeling) est d'estimer précisément les effets de causalité du marketing. Il est toutefois difficile de valider directement la qualité de l'inférence causale et cela nécessite des tests bien conçus. Ceux-ci doivent être exécutés correctement et comporter le même estimand que la MMM. Comme vous utilisez une MMM, les tests ne sont probablement pas pratiques. C'est pourquoi l'inférence causale ne peut pas être évaluée directement. Vous devez plutôt vous fier à des mesures indirectes.

Nous vous recommandons de prendre des décisions de modélisation pertinentes par rapport à l'objectif de l'inférence causale, et non pour minimiser l'erreur de prédiction. Voici quelques consignes à suivre :

  • Assurez-vous que votre ensemble de variables de contrôle inclut toutes les variables de confusion importantes, qui ont une incidence à la fois sur l'exécution média et sur la réponse. Pour en savoir plus, consultez Sélectionner des variables de contrôle.

  • Évitez d'inclure de variables de contrôle qui ne sont pas des facteurs de confusion. Un trop grand nombre de variables peut augmenter le risque de surapprentissage et de biais d'erreur de spécification du modèle.

  • N'ajoutez que les variables média pour lesquelles vous souhaitez connaître l'inférence causale.

  • Modélisez le temps en suivant les conseils de la section Choisir le nombre de nœuds pour les effets temporels dans le modèle et n'essayez pas forcément de modéliser le temps avec autant de nœuds que possible.

Ce processus nécessite une certaine réflexion de votre part en tant qu'annonceur, mais il vous permettra très probablement d'obtenir le modèle le mieux adapté. Comme vous avez planifié votre propre stratégie média, vous avez probablement une connaissance totale ou partielle des variables ayant influé sur votre planification pendant l'exécution média.

Les résultats doivent être pertinents. Par exemple, des résultats non pertinents pourraient être des valeurs de référence inhabituellement faibles (qui sont souvent négatives) (voir Évaluer la référence) ou un canal média dominant tous les autres. Meridian dispose de métriques de prédiction hors échantillon qui sont utiles en tant que vérification préliminaire pour s'assurer que la structure du modèle est appropriée et ne contient pas trop de paramètres.

À propos des métriques de prédiction hors échantillon

L'objectif de la modélisation du mix marketing est l'inférence causale, et pas nécessairement de minimiser les métriques de prédiction hors échantillon. Il peut être plus sûr de disposer d'un modèle incluant toutes les variables de confusion et offrant suffisamment de flexibilité dans la structure du modèle pour obtenir des estimations causales et sans biais (comme le ROI), même si cela signifie se traduit par un surapprentissage du modèle.

Nous vous recommandons toujours de vérifier l'ajustement hors échantillon pour vous assurer que la structure de votre modèle est appropriée et ne contient pas trop de paramètres, mais les métriques de prédiction hors échantillon ne doivent pas constituer la méthode principale pour évaluer l'ajustement du modèle. L'ajustement hors échantillon peut être évaluée à l'aide de l'argument holdout_id dans ModelSpec et de la méthode predictive_accuracy de Analyzer.

Accéder aux tirages de distribution a posteriori pour tous les paramètres

Vous pouvez accéder aux tirages de distribution a posteriori de tous les paramètres à partir de l'objet de modèle Meridian par le biais de l'attribut inference_data.

Par exemple, afin d'accéder aux valeurs de l'a posteriori pour alpha (paramètre de diminution de l'adstock) pour chaque canal média à partir d'un objet de modèle Meridian appelé mmm, vous pouvez accéder à la propriété mmm.inference_data.posterior.alpha_m. À partir de là, vous pouvez obtenir n'importe quel centile à partir de la distribution a posteriori en utilisant une syntaxe semblable à celle de cet exemple pour un 75e centile :

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

Vous pouvez également calculer la probabilité a posteriori que le ROI soit au moins égal à 1 :

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

De plus, vous pouvez obtenir la tendance centrale et l'intervalle crédible de la largeur spécifiée pour la distribution a posteriori estimée d'un paramètre. Par exemple, vous pouvez obtenir la moyenne et l'intervalle crédible moyen au 90e centile pour alpha_m avec la syntaxe suivante :

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

Vous pouvez accéder de la même manière aux distributions a posteriori de tous les autres paramètres.

Méthodes d'ajustement du modèle et résultats

La classe Analyzer comprend plusieurs méthodes qui fournissent la plupart des quantités d'intérêt post-modélisation.

Voici quelques exemples :

  • Analyzer.media_summary_metrics fournit un tableau récapitulatif organisé par canal. Les métriques d'intérêt incluent impressions, spend, incremental_outcome, pct_of_contribution, ROI, effectiveness et mROI.
  • Analyzer.incremental_outcome vous permet d'étudier le résultat d'une source média spécifique.
  • Analyzer.roi fournit des estimations du ROI et peut être personnalisé par média, période et zone géographique.
  • Analyzer.marginal_roi fournit des estimations du ROI marginal et peut être personnalisé par média, période et zone géographique.
  • Analyzer.response_curves renvoie les données utilisées pour tracer les courbes de réponse.
  • Analyzer.predictive_accuracy renvoie des métriques de précision prédictive, y compris le coefficient de détermination, MAPE et wMAPE.
  • Analyzer.expected_outcome renvoie le résultat attendu a priori ou a posteriori.

Pour obtenir la liste complète des méthodes et plus d'informations sur leurs spécifications potentielles, y compris la sélection de zones géographiques ou de périodes spécifiques, consultez le code analyzer.py.