Rejoignez la nouvelle communauté
Discord pour discuter en temps réel, obtenir l'aide de vos pairs et communiquer directement avec l'équipe Meridian.
Définir des a priori de ROI personnalisés à l'aide d'anciens tests
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Meridian nécessite de transmettre des distributions pour la calibration du ROI. Définir des a priori personnalisés à l'aide des résultats de tests précédents est une approche judicieuse, mais de nombreuses nuances doivent être prises en compte avant de commencer. Exemple :
Période du test par rapport à celle de la MMM : si le test a été réalisé avant ou après la période de la MMM, il est possible que les résultats ne soient pas directement applicables.
Durée du test : s'il est de courte durée, le test risque de ne pas rendre compte efficacement des effets à long terme de l'efficacité marketing.
Complexité du test : si le test implique une combinaison de canaux, il est possible que les résultats ne fournissent pas d'insights clairs sur les performances de chaque canal.
Différences entre les estimands : les estimands utilisés dans les tests peuvent être différents de ceux utilisés dans la MMM. Par exemple, le contrefactuel de la MMM correspond à des dépenses nulles, alors que certains tests peuvent être associés à un autre contrefactuel, comme des dépenses réduites.
Différences de population : la population ciblée dans le test peut être différente de celle prise en compte dans la MMM.
Nous vous recommandons de définir les a priori personnalisés en fonction de votre conviction quant à l'efficacité d'un canal. Une croyance préalable peut être basée sur de nombreux éléments, y compris des expériences ou d'autres analyses fiables. Utilisez la force de cette croyance antérieure pour déterminer l'écart type de la valeur antérieure :
Si vous êtes convaincu de l'efficacité d'une chaîne, vous pouvez appliquer un facteur de correction à la déviation standard de l'estimation précédente pour refléter votre confiance. Par exemple, supposons que vous ayez mené plusieurs tests pour un canal spécifique et que tous les tests aient généré des estimations de ROI similaires, ou que vous disposiez de données historiques issues d'analyses MMM précédentes qui confirment l'efficacité de ce canal. Dans ce cas, vous pouvez définir une déviation standard plus faible pour l'intervalle précédent afin que la distribution ne varie pas trop. Cette distribution plus étroite indique que vous avez une grande confiance dans les résultats expérimentaux.
À l'inverse, il est possible que l'expérience ne se traduise pas nécessairement par une augmentation de la valeur de la marque, compte tenu de certaines nuances mentionnées précédemment. Dans ce cas, vous pouvez choisir d'appliquer un facteur de correction à l'écart-type de la distribution précédente.
Par exemple, vous pouvez définir une écart type plus élevé pour l'intervalle précédent, en fonction de votre niveau de scepticisme.
Vous pouvez utiliser l'argument roi_calibration_period
dans ModelSpec
. Pour en savoir plus, consultez Définir la période de calibrage du ROI.
Lorsque vous définissez la valeur antérieure, la distribution LogNormal
est couramment utilisée. L'exemple de code suivant peut être utilisé pour transformer la moyenne et l'erreur standard du test en distribution antérieure LogNormal
:
import numpy as np
def estimate_lognormal_dist(mean, std):
"""Reparameterization of lognormal distribution in terms of its mean and std."""
mu_log = np.log(mean) - 0.5 * np.log((std/mean)**2 + 1)
std_log = np.sqrt(np.log((std/mean)**2 + 1))
return [mu_log, std_log]
Toutefois, si les résultats des tests précédents sont proches de zéro, vous devez déterminer si vos croyances antérieures sont représentées avec précision par une distribution non négative, telle que la distribution LogNormal
. Nous vous recommandons vivement de tracer la distribution antérieure pour vérifier qu'elle correspond à vos intuitions avant de poursuivre l'analyse. L'exemple de code suivant montre comment obtenir des paramètres LogNormal
reparamètrés, définir la distribution et en extraire des échantillons.
import tensorflow as tf
import tensorflow_probability as tfp
# Get reparameterized LogNormal distribution parameters
mu_log, std_log = estimate_lognormal_dist(mean, std)
mu_log = tf.convert_to_tensor(mu_log, dtype=tf.float32)
std_log = tf.convert_to_tensor(std_log, dtype=tf.float32)
# Define the LogNormal distribution
lognormal_dist = tfp.distributions.LogNormal(mu_log, std_log)
# Draw 10,000 samples
lognormal_samples = lognormal_dist.sample(10000).numpy()
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/17 (UTC).
[null,null,["Dernière mise à jour le 2025/08/17 (UTC)."],[[["\u003cp\u003eMeridian's ROI calibration can be enhanced by incorporating prior knowledge from past experiments, but factors like experiment timing, duration, complexity, estimand, and population differences need careful consideration for accurate application.\u003c/p\u003e\n"],["\u003cp\u003ePrior beliefs about channel effectiveness should guide the standard deviation of the prior distribution, with stronger beliefs corresponding to tighter distributions and vice-versa.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eroi_calibration_period\u003c/code\u003e argument in \u003ccode\u003eModelSpec\u003c/code\u003e offers further control over the calibration process.\u003c/p\u003e\n"],["\u003cp\u003eWhile the \u003ccode\u003eLogNormal\u003c/code\u003e distribution is commonly used for setting priors, its suitability should be evaluated when experimental results are near zero, potentially requiring alternative distributions to better reflect prior intuitions.\u003c/p\u003e\n"],["\u003cp\u003eVisualizing the prior distribution before analysis is crucial for ensuring it aligns with expectations and avoids misrepresentation of prior beliefs.\u003c/p\u003e\n"]]],["Meridian uses passing distributions for ROI calibration, informed by prior beliefs and experiments. Before using custom priors, consider: experiment timing, duration, complexity, estimand differences, and population differences. Adjust prior standard deviation based on confidence; strong confidence warrants a smaller standard deviation. Use the `roi_calibration_period` argument in `ModelSpec`. `LogNormal` distributions are common, and sample code transforms experimental mean and standard error to `LogNormal` parameters. For near-zero experimental results, verify that the `LogNormal` distribution aligns with prior beliefs.\n"],null,["# Set custom ROI priors using past experiments\n\nMeridian requires passing distributions for ROI calibration. Although setting\ncustom priors using results from previous experiments is a sound approach,\nthere are many nuances to consider before proceeding. For example:\n\n- **The timing of the experiment in relation to the MMM time window:**\n If the experiment was conducted either before or after the MMM time window,\n the results might not be directly applicable.\n\n- **The duration of the experiment:** An experiment of short duration might\n not effectively capture the long-term effects of the marketing effectiveness.\n\n- **The complexity of the experiment:** If the experiment involved a mixture\n of channels, the results might not provide clear insights into the performance\n of individual channels.\n\n- **Estimand differences:** The estimands used in experiments can differ from\n those used in the MMM. For example, the MMM counterfactual is zero spend,\n whereas some experiments might have a different counterfactual, such as\n reduced spend.\n\n- **Population differences:** The population targeted in the experiment might\n not be the same as the population considered in the MMM.\n\nWe recommend setting the custom priors based on your belief in the\neffectiveness of a channel. A prior belief can be informed by many things,\nincluding experiments or other reliable analyses. Use the strength in that\nprior belief to inform the standard deviation of the prior:\n\n- If you have a strong belief in the effectiveness of a channel,\n you can apply an adjustment factor to the standard deviation of the prior to\n reflect your confidence. For example, suppose you have conducted several\n experiments for a particular channel and all the experiments yielded similar\n ROI point estimates, or you have historical data from previous MMM analyses\n that support the effectiveness of this channel. In this case, you could set a\n smaller standard deviation for the prior so that the distribution won't vary\n widely. This tighter distribution indicates your strong confidence in the\n experimental results.\n\n- Conversely, the experiment might not necessarily translate to the MMM,\n considering some of the nuances listed earlier. In this case, you might choose\n to apply an adjustment factor to standard deviation of the prior distribution.\n For example, you could set a larger standard deviation for the prior,\n depending on your level of skepticism.\n\nYou should consider using the `roi_calibration_period` argument in\n`ModelSpec`. For more information, see\n[Set the ROI calibration period](/meridian/docs/user-guide/configure-model#set-roi-calibration-period).\n\nWhen setting the prior, the `LogNormal` distribution is a common\none to use. The following sample code can be used to transform experiment's\nmean and standard error to the `LogNormal` prior\ndistribution: \n\n import numpy as np\n\n def estimate_lognormal_dist(mean, std):\n \"\"\"Reparameterization of lognormal distribution in terms of its mean and std.\"\"\"\n mu_log = np.log(mean) - 0.5 * np.log((std/mean)**2 + 1)\n std_log = np.sqrt(np.log((std/mean)**2 + 1))\n return [mu_log, std_log]\n\nHowever, if the results from previous experiments are near zero, you should\nconsider whether your prior beliefs are accurately represented by a\nnon-negative distribution, such as the `LogNormal` distribution. We\nhighly recommend plotting the prior distribution to confirm it matches\nyour prior intuitions before proceeding with the analysis. The following\nsample code shows how to get reparameterized `LogNormal`\nparameters, define the distribution, and draw samples from it. \n\n import tensorflow as tf\n import tensorflow_probability as tfp\n\n # Get reparameterized LogNormal distribution parameters\n mu_log, std_log = estimate_lognormal_dist(mean, std)\n mu_log = tf.convert_to_tensor(mu_log, dtype=tf.float32)\n std_log = tf.convert_to_tensor(std_log, dtype=tf.float32)\n # Define the LogNormal distribution\n lognormal_dist = tfp.distributions.LogNormal(mu_log, std_log)\n # Draw 10,000 samples\n lognormal_samples = lognormal_dist.sample(10000).numpy()"]]