
Démocratiser les modèles de mix marketing (MMM) avec l’Open Source et la Gen AI
sont dans l’industrie depuis plusieurs années et ont récemment connu une renaissance. Les signaux suivis numériquement étant obsolètes en raison des restrictions croissantes en matière de confidentialité des données, les spécialistes du marketing se tournent vers les MMM pour un cadre de mesure et d’attribution stratégique, fiable et respectueux de la confidentialité.
Contrairement aux outils de suivi au niveau de l’utilisateur, MMM utilise des séries chronologiques agrégées et des données transversales pour estimer la manière dont les canaux marketing déterminent les KPI commerciaux. Les progrès de la modélisation bayésienne avec une puissance de calcul améliorée ont replacé MMM au centre de l’analyse marketing.
Depuis des années, les annonceurs et les agences média utilisent et s’appuient sur le MMM bayésien pour comprendre les contributions des canaux marketing et l’allocation du budget marketing.
Le rôle de GenAI dans le MMM moderne
Un nombre croissant d’entreprises utilisent désormais les fonctionnalités de GenAI pour améliorer MMM de plusieurs manières.
1. Préparation des données et ingénierie des fonctionnalités
2. Automatisation du pipeline : génération de code pour le pipeline MMM
3. Explication des informations – traduisez les informations du modèle en langage commercial simple
4. Planification de scénarios et optimisation budgétaire
Bien que ces fonctionnalités soient puissantes, elles s’appuient sur des moteurs MMM propriétaires.
Le but de cet article n’est pas de montrer le fonctionnement du MMM bayésien mais de démontrer un potentiel conception de système open source et gratuite que les spécialistes du marketing peuvent explorer sans avoir besoin de s’abonner à la pile MMM boîte noire fournie par les fournisseurs du secteur.
L’approche combine :
1. Méridien Google en tant que moteur MMM bayésien open source
2. Grand modèle linguistique (LLM) open source – Mistral7B en tant que couche d’informations et d’interaction au-dessus de la sortie d’inférence bayésienne de Meridian.
Voici un diagramme d’architecture qui représente la conception du système open source proposée pour les spécialistes du marketing.

Ce workflow open source présente plusieurs avantages :
- Démocratisation du MMM bayésien : élimine le problème de la boîte noire des outils MMM propriétaires.
- Rentabilité : réduit les obstacles financiers pour les petites et moyennes entreprises souhaitant accéder à des analyses avancées.
- Cette séparation préserve la rigueur statistique requise des moteurs MMM et la rend juste plus accessible.
- Avec une couche d’informations GenAI, le public n’a pas besoin de comprendre les mathématiques bayésiennes, mais peut simplement interagir à l’aide des invites GenAI pour en savoir plus sur les informations du modèle sur la contribution du canal, le retour sur investissement et les stratégies possibles d’allocation budgétaire.
- Adaptabilité aux nouveaux outils open source : une couche GenAI peut être remplacée par des LLM plus récents au fur et à mesure qu’ils sont ouvertement disponibles pour obtenir des informations améliorées.
Exemple pratique de mise en œuvre du modèle Google Meridian MMM avec une couche LLM
Pour les besoins de cette vitrine, j’ai utilisé le modèle open source Mistral7Bprovenant localement du Visage câlin plateforme hébergée par le Lama moteur.
Ce cadre est censé être indépendant du domaine, c’est-à-dire que tous les modèles MMM open source alternatifs tels que Robyn de Meta, PyMC, etc. et les versions LLM pour les modèles GPT et Llama peuvent être utilisés, en fonction de l’échelle et de la portée des informations souhaitées.
Remarque importante :
- Un ensemble de données marketing synthétiques a été créé, comportant un KPI tel que « Conversions » et des canaux de marketing tels que la télévision, la recherche, les réseaux sociaux payants, l’e-mail et l’OOH (médias extérieurs).
- Google Meridian produit des résultats riches tels que le retour sur investissement, les coefficients de canal et les contributions à la conduite des KPI, des courbes de réponse, etc. Bien que ces résultats soient statistiquement valables, leur interprétation nécessite souvent une expertise spécialisée. C’est là qu’un LLM devient précieux et peut être utilisé comme traducteur perspicace.
- Des exemples de code Python Google Meridian ont été utilisés pour exécuter le modèle Meridian MMM sur les données marketing synthétiques créées. Pour plus d’informations sur l’exécution du code Meridian, veuillez vous référer à cette page.
- Un modèle LLM open source, Mistral 7B, a été utilisé en raison de sa compatibilité avec le niveau gratuit de ressources GPU de Google Colab et également parce qu’il s’agit d’un modèle adéquat pour générer des informations basées sur des instructions sans dépendre d’aucune exigence d’accès à l’API.
Exemple : l’extrait de code Python ci-dessous a été exécuté sur la plateforme Google Colab :
# Install meridian: from PyPI @ latest release
!pip install --upgrade google-meridian[colab,and-cuda,schema]
# Install dependencies
import IPython from meridian
import constants from meridian.analysis
import analyzer from meridian.analysis
import optimizer from meridian.analysis
import summarizer from meridian.analysis
import visualizer from meridian.analysis.review
import reviewer from meridian.data
import data_frame_input_data_builder
from meridian.model import model
from meridian.model import prior_distribution
from meridian.model import spec
from schema.serde import meridian_serde
import numpy as np
import pandas as pd
Un ensemble de données marketing synthétiques (non présenté dans ce code) a été créé et, dans le cadre des exigences du flux de travail Meridian, une instance de générateur de données d’entrée est créée comme indiqué ci-dessous :
builder = data_frame_input_data_builder.DataFrameInputDataBuilder(
kpi_type='non_revenue',
default_kpi_column='conversions',
default_revenue_per_kpi_column='revenue_per_conversion',
)
builder = (
builder.with_kpi(df)
.with_revenue_per_kpi(df)
.with_population(df)
.with_controls(
df, control_cols=["sentiment_score_control", "competitor_sales_control"] )
)
channels = ["tv","paid_search","paid_social","email","ooh"]
builder = builder.with_media(
df,
media_cols=[f"{channel}_impression" for channel in channels],
media_spend_cols=[f"{channel}_spend" for channel in channels],
media_channels=channels,
)
data = builder.build() #Build the input data
Configurez et exécutez le modèle Meridian MMM :
# Initializing the Meridian class by passing loaded data and customized model specification. One advantage of using Meridian MMM is the ability to set modeling priors for each channel which gives modelers ability to set channel distribution as per historical knowledge of media behavior.
roi_mu = 0.2 # Mu for ROI prior for each media channel.
roi_sigma = 0.9 # Sigma for ROI prior for each media channel.
prior = prior_distribution.PriorDistribution(
roi_m=tfp.distributions.LogNormal(roi_mu, roi_sigma, name=constants.ROI_M)
)
model_spec = spec.ModelSpec(prior=prior, enable_aks=True)
mmm = model.Meridian(input_data=data, model_spec=model_spec)
mmm.sample_prior(500)
mmm.sample_posterior(
n_chains=10, n_adapt=2000, n_burnin=500, n_keep=1000, seed=0
)
Cet extrait de code exécute le modèle méridien avec des priorités définies pour chaque canal sur l’ensemble de données d’entrée généré. L’étape suivante consiste à évaluer les performances du modèle. Bien qu’il existe des paramètres de sortie du modèle tels que le R au carré, le MAPE, les valeurs P, etc. qui peuvent être évalués, pour les besoins de cet article, j’inclus simplement un exemple d’évaluation visuelle :
model_fit = visualizer.ModelFit(mmm)
model_fit.plot_model_fit()

Maintenant que le modèle Meridian MMM a été exécuté, nous disposons de paramètres de sortie du modèle pour chaque canal multimédia, tels que le retour sur investissement, les courbes de réponse, les coefficients du modèle, les niveaux de dépenses, etc. Nous pouvons regrouper toutes ces informations dans un seul objet JSON d’entrée qui peut être utilisé directement comme entrée dans le LLM pour générer des informations :
import json
# Combine everything into one dictionary
genai_input = {
"roi": roi.to_dict(orient='records'),
"coefficients": coeffs.to_dict(orient='records'),
"priors": priors.to_dict(orient='records'),
"response_curves": response_curves.to_dict(orient='records')
}
# Convert to JSON string for the LLM
genai_input_json = json.dumps(genai_input, indent=2)
Téléchargement local de Mistral 7B LLM depuis la plateforme Hugging Face et installation du moteur Llama requis pour exécuter le LLM :
# Download the Mistral 7B llm from Hugging Face
!wget -O /content/models/mistral-7b-instruct-v0.2.Q4_K_M.gguf \
https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf
# Install Llama for python engine
!pip install llama-cpp-python --upgrade
Exécution du Mistral LLM à l’aide du JSON d’entrée ayant une sortie Meridian MMM et incluant l’invite d’instructions appropriée :
from llama_cpp import Llama
# Initialize the model
llm = Llama(
model_path="/content/models/mistral-7b-instruct-v0.2.Q4_K_M.gguf",
n_ctx=2048,
n_gpu_layers=35,
seed=42,
verbose=False,
temperature=0.2
)
# Convert JSON to a prompt for recommendations
prompt = f"""
You are a marketing mix modeling expert.
1. Summarize the effeciency of each marketing channel based on MMM output
2. Explain the key drivers of ROI for each channel in simple business terms.
3. Channels with diminishing returns
4. If we want to maximize total ROI with the current budget, how should we reallocate spend across channels
JSON:
{genai_input_json}
"""
# Generate recommendations
response = llm(prompt, max_tokens=300)
# Print only the text output
print(response["choices"][0]["text"])
Exemple de sortie :
1. D’après les résultats du Marketing Mix Modeling (MMM), les publicités TV, OOH et Search ont un retour sur investissement positif (3,0, 2,5 et 1,5 respectivement), tandis que les médias sociaux et le courrier électronique ont un retour sur investissement inférieur (0,9 et 0,7 respectivement).
2. En termes commerciaux simples, les principaux facteurs de retour sur investissement pour chaque canal sont :
– TV : chaque dollar dépensé en publicités télévisées génère 3 $ de ventes.
– Médias sociaux : chaque dollar dépensé en publicités sur les réseaux sociaux génère 0,9 $ de ventes.
– Annonces de recherche : chaque dollar dépensé en annonces de recherche génère 2,5 $ de ventes.
– Email : Chaque dollar dépensé en marketing par e-mail génère 0,7 $ de ventes.
– OOH : chaque dollar dépensé en publicités hors domicile (OOH) génère 1 $ 0,5 en ventes.
3. Les canaux dont les rendements sont décroissants sont les médias sociaux et le courrier électronique, car leurs courbes de réponse montrent que la croissance des ventes n’est pas proportionnelle à l’augmentation des dépenses marketing.
4. Pour maximiser le retour sur investissement total avec le budget actuel, nous devrions envisager de réaffecter les dépenses des médias sociaux et du courrier électronique vers la télévision et l’affichage, car ils ont un retour sur investissement plus élevé.
Considérations pratiques
- La qualité des modèles et les informations dépendent toujours de la qualité des données d’entrée.
- Une conception rapide est essentielle pour éviter les informations trompeuses.
- L’automatisation du traitement des données d’entrée ainsi que des rapports et de la visualisation des résultats des modèles aidera cette pile à fonctionner à grande échelle.
Réflexions finales
Cette procédure pas à pas illustre comment un potentiel MMM bayésien basé sur l’open source, complété par un flux de travail GenAI, peut traduire des résultats bayésiens complexes en informations exploitables pour les spécialistes du marketing et les dirigeants.
Cette approche ne tente pas de simplifier les calculs derrière les modèles de mix marketing, mais elle les préserve et tente de les rendre plus accessibles à un public plus large ayant une connaissance limitée des modèles et des ressources budgétaires pour leur organisation.
Alors que les analyses marketing respectueuses de la confidentialité deviennent la norme, les systèmes MMM open source avec augmentation GenAI offrent une voie durable : transparente, adaptable et conçue pour évoluer à la fois avec l’entreprise et la technologie sous-jacente.



