Join the newly launched
Discord community for real-time discussions, peer support, and direct interaction with the Meridian team!
Migrate from LightweightMMM
Stay organized with collections
Save and categorize content based on your preferences.
Meridian is the official evolution of the Google MMM approach. It is the
updated version of LightweightMMM. Both versions are based on Google's Bayesian
MMM research since 2017.
The key features of Meridian are reach and frequency modeling, handling
paid search effectively, and experiment calibration.
How to migrate to Meridian
To migrate from LightweightMMM to Meridian, you install Meridian
and import your data using the same process as any new user to Meridian.
For more information, see Install
Meridian.
Feature comparison
The input data for both models is the same.
The following chart gives an overview of the key feature differences between the
projects:
Feature |
LightweightMMM |
Meridian |
Language |
Python |
Python |
Bayesian library |
Numpyro |
Tensorflow Probability |
Experiment calibration |
Possible but manual |
Yes |
Reach and frequency modeling |
No |
Yes |
Optimizer |
Yes |
Yes |
ROI formulation of the model |
No |
Yes |
Incorporating GQV confounder |
Possible but manual |
Yes |
National- and geo-level models |
Yes |
Yes, national plus more geos |
Trend and seasonality |
Straight line + sinusoidal repeating shape (daily, weekly) |
Knots |
Custom priors |
Yes |
Yes |
Lagging and saturation transformation |
Yes |
Yes |
Scaling of inputs |
Manual |
Automatic |
Differences in the model specifications
LightweightMMM offers three different model architectures: Adstock,
Hill-Adstock, and Carryover. Meridian uses a variation of the
Hill-Adstock architecture, and does not allow other architectures. You can
choose the order in which the Hill- and Adstock-transformations are applied for
the Meridian baseline model. The Meridian reach and frequency
model has a fixed Hill-Adstock order: Hill first, and then Adstock.
Other differences between Meridian and LightweightMMM include:
Media channels are hierarchical across geos in both projects. However, in
LightweightMMM, the geo hierarchy doesn't add additional free parameters.
Instead, one media coefficient is used to specify both the hyper-prior and
the individual geo-level media channel priors in LightweightMMM.
Meridian has an additional parameter eta_m
that specifies the
standard deviation of the media coefficient across geos. Meridian
also allows the hierarchical variation to be either normal or log-normal in
shape.
The non-media features, called control variables in Meridian, are
also hierarchical in Meridian, whereas they are non-hierarchical
across geos in LightweightMMM. The Meridian model parameter xi_c
specifies the standard deviation of this geo hierarchy.
Meridian lets you specify media priors either in terms of beta (the
same as LightweightMMM) or in terms of ROI.
The baseline is expressed differently in Meridian, compared to
LightweightMMM. With Meridian, users can specify both geo-level and
time-level fixed effects, and the baseline is the sum of both fixed effects.
Expected differences in the MCMC sampling time
Due to more model parameters and model complexity in Meridian, MCMC
sampling in Meridian is expected to take longer than in LightweightMMM.
However, because the models are relatively similar, Meridian is not
expected to take much longer than LightweightMMM. Precise estimates on how much
longer depends on the compute environment, number of geos, model tuning
parameters, priors, data, and other factors. Although Meridian's model
complexity likely leads to longer MCMC sampling time, more accurate results are
expected.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-06-11 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-11 UTC."],[[["\u003cp\u003eMeridian is the updated version of Google's LightweightMMM, representing the evolution of their Bayesian MMM research.\u003c/p\u003e\n"],["\u003cp\u003eKey features of Meridian include reach and frequency modeling, effective handling of paid search, and experiment calibration.\u003c/p\u003e\n"],["\u003cp\u003eMigrating to Meridian involves installing it and importing data using the same process as a new user, as detailed in the installation guide.\u003c/p\u003e\n"],["\u003cp\u003eMeridian utilizes Tensorflow Probability as its Bayesian library, while LightweightMMM uses Numpyro, although the input data for both models remains the same.\u003c/p\u003e\n"],["\u003cp\u003eMeridian offers improved features like a ROI formulation, incorporating GQV confounders, and automatic scaling of inputs, along with a more complex model architecture compared to LightweightMMM.\u003c/p\u003e\n"]]],[],null,["# Migrate from LightweightMMM\n\nMeridian is the official evolution of the Google MMM approach. It is the\nupdated version of LightweightMMM. Both versions are based on Google's Bayesian\nMMM research since 2017.\n\nThe key features of Meridian are reach and frequency modeling, handling\npaid search effectively, and experiment calibration.\n\nHow to migrate to Meridian\n--------------------------\n\nTo migrate from LightweightMMM to Meridian, you install Meridian\nand import your data using the same process as any new user to Meridian.\nFor more information, see [Install\nMeridian](/meridian/docs/user-guide/installing).\n\nFeature comparison\n------------------\n\nThe input data for both models is the same.\n\nThe following chart gives an overview of the key feature differences between the\nprojects:\n\n| Feature | LightweightMMM | Meridian |\n|---------------------------------------|------------------------------------------------------------|------------------------------|\n| Language | Python | Python |\n| Bayesian library | Numpyro | Tensorflow Probability |\n| Experiment calibration | Possible but manual | Yes |\n| Reach and frequency modeling | No | Yes |\n| Optimizer | Yes | Yes |\n| ROI formulation of the model | No | Yes |\n| Incorporating GQV confounder | Possible but manual | Yes |\n| National- and geo-level models | Yes | Yes, national plus more geos |\n| Trend and seasonality | Straight line + sinusoidal repeating shape (daily, weekly) | Knots |\n| Custom priors | Yes | Yes |\n| Lagging and saturation transformation | Yes | Yes |\n| Scaling of inputs | Manual | Automatic |\n\nDifferences in the model specifications\n---------------------------------------\n\nLightweightMMM offers three different model architectures: Adstock,\nHill-Adstock, and Carryover. Meridian uses a variation of the\nHill-Adstock architecture, and does not allow other architectures. You can\nchoose the order in which the Hill- and Adstock-transformations are applied for\nthe Meridian baseline model. The Meridian reach and frequency\nmodel has a fixed Hill-Adstock order: Hill first, and then Adstock.\n\nOther differences between Meridian and LightweightMMM include:\n\n- Media channels are hierarchical across geos in both projects. However, in\n LightweightMMM, the geo hierarchy doesn't add additional free parameters.\n Instead, one media coefficient is used to specify both the hyper-prior and\n the individual geo-level media channel priors in LightweightMMM.\n Meridian has an additional parameter `eta_m` that specifies the\n standard deviation of the media coefficient across geos. Meridian\n also allows the hierarchical variation to be either normal or log-normal in\n shape.\n\n- The non-media features, called *control variables* in Meridian, are\n also hierarchical in Meridian, whereas they are non-hierarchical\n across geos in LightweightMMM. The Meridian model parameter `xi_c`\n specifies the standard deviation of this geo hierarchy.\n\n- Meridian lets you specify media priors either in terms of beta (the\n same as LightweightMMM) or in terms of ROI.\n\n- The baseline is expressed differently in Meridian, compared to\n LightweightMMM. With Meridian, users can specify both geo-level and\n time-level fixed effects, and the baseline is the sum of both fixed effects.\n\nExpected differences in the MCMC sampling time\n----------------------------------------------\n\nDue to more model parameters and model complexity in Meridian, MCMC\nsampling in Meridian is expected to take longer than in LightweightMMM.\nHowever, because the models are relatively similar, Meridian is not\nexpected to take much longer than LightweightMMM. Precise estimates on how much\nlonger depends on the compute environment, number of geos, model tuning\nparameters, priors, data, and other factors. Although Meridian's model\ncomplexity likely leads to longer MCMC sampling time, more accurate results are\nexpected."]]