Welcome to the Meridian end-to-end demo. This simplified demo showcases the fundamental functionalities and basic usage of the library, including working examples of the major modeling steps:
- Install and Enviroment Configuration
- Load the data
- Configure the model
- Run post-modeling quality checks
- Run model diagnostics
- Generate model results & two-page output
- Run budget optimization & two-page output
- Save the model object
- Interactive Scenario Planning
Note that this notebook skips all of the exploratory data analysis and preprocessing steps. It assumes that you have completed these tasks before reaching this point in the demo.
This notebook utilizes sample data. As a result, the numbers and results obtained might not accurately reflect what you encounter when working with a real dataset.
Step 0: Install and Enviroment Configuration
1. Make sure you are using one of the available GPU Colab runtimes which is requiredto run Meridian. You can change your notebook's runtime in Runtime > Change runtime type
in the menu. All users can use the T4 GPU runtime which is sufficient to run the demo colab, free of charge. Users who have purchased one of Colab's paid plans have access to premium GPUs (such as V100, A100 or L4 Nvidia GPU).
2. Install the latest version of Meridian, and verify that GPU is available.
# Install meridian: from PyPI @ latest releasepip install --upgrade google-meridian [ colab,and-cuda,schema ]# Install meridian: from PyPI @ specific version# !pip install google-meridian[colab,and-cuda,schema]==1.3.1# Install meridian: from GitHub @HEAD# !pip install --upgrade "google-meridian[colab,and-cuda,schema] @ git+https://github.com/google/meridian.git@main"
Collecting google-meridian[and-cuda,colab,schema]
Downloading google_meridian-1.5.3-py3-none-any.whl.metadata (10 kB)
Collecting arviz<0.20.0 (from google-meridian[and-cuda,colab,schema])
Downloading arviz-0.19.0-py3-none-any.whl.metadata (8.9 kB)
Requirement already satisfied: altair>=5 in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (5.5.0)
Collecting bidict (from google-meridian[and-cuda,colab,schema])
Downloading bidict-0.23.1-py3-none-any.whl.metadata (8.7 kB)
Requirement already satisfied: immutabledict in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (4.3.1)
Requirement already satisfied: joblib in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (1.5.3)
Collecting natsort<8,>=7.1.1 (from google-meridian[and-cuda,colab,schema])
Downloading natsort-7.1.1-py3-none-any.whl.metadata (22 kB)
Requirement already satisfied: numpy<2.4.0,>=2.0.2 in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (2.0.2)
Requirement already satisfied: pandas<3,>=2.2.2 in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (2.2.2)
Requirement already satisfied: scipy<2,>=1.13.1 in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (1.16.3)
Requirement already satisfied: statsmodels>=0.14.5 in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (0.14.6)
Requirement already satisfied: tensorflow<2.21,>=2.19.0 in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (2.19.0)
Collecting tfp-nightly==0.26.0.dev20260130 (from google-meridian[and-cuda,colab,schema])
Downloading tfp_nightly-0.26.0.dev20260130-py2.py3-none-any.whl.metadata (13 kB)
Requirement already satisfied: tf-keras<2.21,>=2.18 in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (2.19.0)
Requirement already satisfied: xarray in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (2025.12.0)
Requirement already satisfied: psutil in /usr/local/lib/python3.12/dist-packages (from google-meridian[and-cuda,colab,schema]) (5.9.5)
Collecting python-calamine (from google-meridian[and-cuda,colab,schema])
Downloading python_calamine-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.1 kB)
Collecting mmm-proto-schema>=1.1.2 (from google-meridian[and-cuda,colab,schema])
Downloading mmm_proto_schema-1.1.2-py3-none-any.whl.metadata (1.7 kB)
Collecting semver (from google-meridian[and-cuda,colab,schema])
Downloading semver-3.0.4-py3-none-any.whl.metadata (6.8 kB)
Requirement already satisfied: absl-py in /usr/local/lib/python3.12/dist-packages (from tfp-nightly==0.26.0.dev20260130->google-meridian[and-cuda,colab,schema]) (1.4.0)
Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.12/dist-packages (from tfp-nightly==0.26.0.dev20260130->google-meridian[and-cuda,colab,schema]) (1.17.0)
Requirement already satisfied: decorator in /usr/local/lib/python3.12/dist-packages (from tfp-nightly==0.26.0.dev20260130->google-meridian[and-cuda,colab,schema]) (4.4.2)
Requirement already satisfied: cloudpickle>=1.3 in /usr/local/lib/python3.12/dist-packages (from tfp-nightly==0.26.0.dev20260130->google-meridian[and-cuda,colab,schema]) (3.1.2)
Requirement already satisfied: gast>=0.3.2 in /usr/local/lib/python3.12/dist-packages (from tfp-nightly==0.26.0.dev20260130->google-meridian[and-cuda,colab,schema]) (0.7.0)
Requirement already satisfied: dm-tree in /usr/local/lib/python3.12/dist-packages (from tfp-nightly==0.26.0.dev20260130->google-meridian[and-cuda,colab,schema]) (0.1.9)
Requirement already satisfied: jinja2 in /usr/local/lib/python3.12/dist-packages (from altair>=5->google-meridian[and-cuda,colab,schema]) (3.1.6)
Requirement already satisfied: jsonschema>=3.0 in /usr/local/lib/python3.12/dist-packages (from altair>=5->google-meridian[and-cuda,colab,schema]) (4.26.0)
Requirement already satisfied: narwhals>=1.14.2 in /usr/local/lib/python3.12/dist-packages (from altair>=5->google-meridian[and-cuda,colab,schema]) (2.17.0)
Requirement already satisfied: packaging in /usr/local/lib/python3.12/dist-packages (from altair>=5->google-meridian[and-cuda,colab,schema]) (26.0)
Requirement already satisfied: typing-extensions>=4.10.0 in /usr/local/lib/python3.12/dist-packages (from altair>=5->google-meridian[and-cuda,colab,schema]) (4.15.0)
Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.12/dist-packages (from arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (75.2.0)
Requirement already satisfied: matplotlib>=3.5 in /usr/local/lib/python3.12/dist-packages (from arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (3.10.0)
Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.12/dist-packages (from arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (1.8.1)
Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.12/dist-packages (from arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (0.10.0)
Requirement already satisfied: googleapis-common-protos in /usr/local/lib/python3.12/dist-packages (from mmm-proto-schema>=1.1.2->google-meridian[and-cuda,colab,schema]) (1.72.0)
Requirement already satisfied: protobuf in /usr/local/lib/python3.12/dist-packages (from mmm-proto-schema>=1.1.2->google-meridian[and-cuda,colab,schema]) (5.29.6)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas<3,>=2.2.2->google-meridian[and-cuda,colab,schema]) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.12/dist-packages (from pandas<3,>=2.2.2->google-meridian[and-cuda,colab,schema]) (2025.2)
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas<3,>=2.2.2->google-meridian[and-cuda,colab,schema]) (2025.3)
Requirement already satisfied: patsy>=0.5.6 in /usr/local/lib/python3.12/dist-packages (from statsmodels>=0.14.5->google-meridian[and-cuda,colab,schema]) (1.0.2)
Requirement already satisfied: astunparse>=1.6.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (1.6.3)
Requirement already satisfied: flatbuffers>=24.3.25 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (25.12.19)
Requirement already satisfied: google-pasta>=0.1.1 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (0.2.0)
Requirement already satisfied: libclang>=13.0.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (18.1.1)
Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (3.4.0)
Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (2.32.4)
Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (3.3.0)
Requirement already satisfied: wrapt>=1.11.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (2.1.1)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (1.78.0)
Requirement already satisfied: tensorboard~=2.19.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (2.19.0)
Requirement already satisfied: keras>=3.5.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (3.10.0)
Requirement already satisfied: h5py>=3.11.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (3.15.1)
Requirement already satisfied: ml-dtypes<1.0.0,>=0.5.1 in /usr/local/lib/python3.12/dist-packages (from tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (0.5.4)
Collecting nvidia-cublas-cu12==12.5.3.2 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_cublas_cu12-12.5.3.2-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-cupti-cu12==12.5.82 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_cuda_cupti_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Requirement already satisfied: nvidia-cuda-nvcc-cu12==12.5.82 in /usr/local/lib/python3.12/dist-packages (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema]) (12.5.82)
Collecting nvidia-cuda-nvrtc-cu12==12.5.82 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_cuda_nvrtc_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-runtime-cu12==12.5.82 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_cuda_runtime_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cudnn-cu12==9.3.0.75 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_cudnn_cu12-9.3.0.75-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cufft-cu12==11.2.3.61 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_cufft_cu12-11.2.3.61-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-curand-cu12==10.3.6.82 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_curand_cu12-10.3.6.82-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cusolver-cu12==11.6.3.83 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_cusolver_cu12-11.6.3.83-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusparse-cu12==12.5.1.3 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_cusparse_cu12-12.5.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-nccl-cu12==2.23.4 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_nccl_cu12-2.23.4-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-nvjitlink-cu12==12.5.82 (from tensorflow[and-cuda]<2.21,>=2.19.0; extra == "and-cuda"->google-meridian[and-cuda,colab,schema])
Downloading nvidia_nvjitlink_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Requirement already satisfied: wheel<1.0,>=0.23.0 in /usr/local/lib/python3.12/dist-packages (from astunparse>=1.6.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (0.46.3)
Requirement already satisfied: attrs>=18.2.0 in /usr/local/lib/python3.12/dist-packages (from dm-tree->tfp-nightly==0.26.0.dev20260130->google-meridian[and-cuda,colab,schema]) (25.4.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=3.0->altair>=5->google-meridian[and-cuda,colab,schema]) (2025.9.1)
Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=3.0->altair>=5->google-meridian[and-cuda,colab,schema]) (0.37.0)
Requirement already satisfied: rpds-py>=0.25.0 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=3.0->altair>=5->google-meridian[and-cuda,colab,schema]) (0.30.0)
Requirement already satisfied: rich in /usr/local/lib/python3.12/dist-packages (from keras>=3.5.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (13.9.4)
Requirement already satisfied: namex in /usr/local/lib/python3.12/dist-packages (from keras>=3.5.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (0.1.0)
Requirement already satisfied: optree in /usr/local/lib/python3.12/dist-packages (from keras>=3.5.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (0.19.0)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3.5->arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (1.3.3)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3.5->arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3.5->arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (4.61.1)
Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3.5->arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (1.4.9)
Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3.5->arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (11.3.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3.5->arviz<0.20.0->google-meridian[and-cuda,colab,schema]) (3.3.2)
Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests<3,>=2.21.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (3.4.4)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests<3,>=2.21.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (3.11)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests<3,>=2.21.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (2.5.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.12/dist-packages (from requests<3,>=2.21.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (2026.2.25)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.12/dist-packages (from tensorboard~=2.19.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (3.10.2)
Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.12/dist-packages (from tensorboard~=2.19.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (0.7.2)
Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.12/dist-packages (from tensorboard~=2.19.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (3.1.6)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.12/dist-packages (from jinja2->altair>=5->google-meridian[and-cuda,colab,schema]) (3.0.3)
Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.12/dist-packages (from rich->keras>=3.5.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (4.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.12/dist-packages (from rich->keras>=3.5.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (2.19.2)
Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.12/dist-packages (from markdown-it-py>=2.2.0->rich->keras>=3.5.0->tensorflow<2.21,>=2.19.0->google-meridian[and-cuda,colab,schema]) (0.1.2)
Downloading tfp_nightly-0.26.0.dev20260130-py2.py3-none-any.whl (7.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.0/7.0 MB 65.7 MB/s eta 0:00:00
Downloading arviz-0.19.0-py3-none-any.whl (1.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 79.3 MB/s eta 0:00:00
Downloading mmm_proto_schema-1.1.2-py3-none-any.whl (64 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.2/64.2 kB 7.4 MB/s eta 0:00:00
Downloading natsort-7.1.1-py3-none-any.whl (35 kB)
Downloading nvidia_cublas_cu12-12.5.3.2-py3-none-manylinux2014_x86_64.whl (363.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.3/363.3 MB 3.0 MB/s eta 0:00:00
Downloading nvidia_cuda_cupti_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl (13.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 116.7 MB/s eta 0:00:00
Downloading nvidia_cuda_nvrtc_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl (24.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.9/24.9 MB 101.3 MB/s eta 0:00:00
Downloading nvidia_cuda_runtime_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl (895 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 895.7/895.7 kB 69.5 MB/s eta 0:00:00
Downloading nvidia_cudnn_cu12-9.3.0.75-py3-none-manylinux2014_x86_64.whl (577.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 577.2/577.2 MB 2.3 MB/s eta 0:00:00
Downloading nvidia_cufft_cu12-11.2.3.61-py3-none-manylinux2014_x86_64.whl (192.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 192.5/192.5 MB 6.5 MB/s eta 0:00:00
Downloading nvidia_curand_cu12-10.3.6.82-py3-none-manylinux2014_x86_64.whl (56.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 44.6 MB/s eta 0:00:00
Downloading nvidia_cusolver_cu12-11.6.3.83-py3-none-manylinux2014_x86_64.whl (130.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 130.3/130.3 MB 20.7 MB/s eta 0:00:00
Downloading nvidia_cusparse_cu12-12.5.1.3-py3-none-manylinux2014_x86_64.whl (217.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 217.6/217.6 MB 3.9 MB/s eta 0:00:00
Downloading nvidia_nccl_cu12-2.23.4-py3-none-manylinux2014_x86_64.whl (199.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.0/199.0 MB 6.5 MB/s eta 0:00:00
Downloading nvidia_nvjitlink_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl (21.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.3/21.3 MB 96.4 MB/s eta 0:00:00
Downloading bidict-0.23.1-py3-none-any.whl (32 kB)
Downloading google_meridian-1.5.3-py3-none-any.whl (466 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 466.3/466.3 kB 46.4 MB/s eta 0:00:00
Downloading python_calamine-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (935 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 935.1/935.1 kB 61.4 MB/s eta 0:00:00
Downloading semver-3.0.4-py3-none-any.whl (17 kB)
Installing collected packages: semver, python-calamine, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, natsort, bidict, tfp-nightly, nvidia-cusparse-cu12, nvidia-cufft-cu12, nvidia-cudnn-cu12, nvidia-cusolver-cu12, mmm-proto-schema, arviz, google-meridian
Attempting uninstall: nvidia-nvjitlink-cu12
Found existing installation: nvidia-nvjitlink-cu12 12.8.93
Uninstalling nvidia-nvjitlink-cu12-12.8.93:
Successfully uninstalled nvidia-nvjitlink-cu12-12.8.93
Attempting uninstall: nvidia-nccl-cu12
Found existing installation: nvidia-nccl-cu12 2.27.5
Uninstalling nvidia-nccl-cu12-2.27.5:
Successfully uninstalled nvidia-nccl-cu12-2.27.5
Attempting uninstall: nvidia-curand-cu12
Found existing installation: nvidia-curand-cu12 10.3.9.90
Uninstalling nvidia-curand-cu12-10.3.9.90:
Successfully uninstalled nvidia-curand-cu12-10.3.9.90
Attempting uninstall: nvidia-cuda-runtime-cu12
Found existing installation: nvidia-cuda-runtime-cu12 12.8.90
Uninstalling nvidia-cuda-runtime-cu12-12.8.90:
Successfully uninstalled nvidia-cuda-runtime-cu12-12.8.90
Attempting uninstall: nvidia-cuda-nvrtc-cu12
Found existing installation: nvidia-cuda-nvrtc-cu12 12.8.93
Uninstalling nvidia-cuda-nvrtc-cu12-12.8.93:
Successfully uninstalled nvidia-cuda-nvrtc-cu12-12.8.93
Attempting uninstall: nvidia-cuda-cupti-cu12
Found existing installation: nvidia-cuda-cupti-cu12 12.8.90
Uninstalling nvidia-cuda-cupti-cu12-12.8.90:
Successfully uninstalled nvidia-cuda-cupti-cu12-12.8.90
Attempting uninstall: nvidia-cublas-cu12
Found existing installation: nvidia-cublas-cu12 12.8.4.1
Uninstalling nvidia-cublas-cu12-12.8.4.1:
Successfully uninstalled nvidia-cublas-cu12-12.8.4.1
Attempting uninstall: natsort
Found existing installation: natsort 8.4.0
Uninstalling natsort-8.4.0:
Successfully uninstalled natsort-8.4.0
Attempting uninstall: nvidia-cusparse-cu12
Found existing installation: nvidia-cusparse-cu12 12.5.8.93
Uninstalling nvidia-cusparse-cu12-12.5.8.93:
Successfully uninstalled nvidia-cusparse-cu12-12.5.8.93
Attempting uninstall: nvidia-cufft-cu12
Found existing installation: nvidia-cufft-cu12 11.3.3.83
Uninstalling nvidia-cufft-cu12-11.3.3.83:
Successfully uninstalled nvidia-cufft-cu12-11.3.3.83
Attempting uninstall: nvidia-cudnn-cu12
Found existing installation: nvidia-cudnn-cu12 9.10.2.21
Uninstalling nvidia-cudnn-cu12-9.10.2.21:
Successfully uninstalled nvidia-cudnn-cu12-9.10.2.21
Attempting uninstall: nvidia-cusolver-cu12
Found existing installation: nvidia-cusolver-cu12 11.7.3.90
Uninstalling nvidia-cusolver-cu12-11.7.3.90:
Successfully uninstalled nvidia-cusolver-cu12-11.7.3.90
Attempting uninstall: arviz
Found existing installation: arviz 0.22.0
Uninstalling arviz-0.22.0:
Successfully uninstalled arviz-0.22.0
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
torch 2.10.0+cu128 requires nvidia-cublas-cu12==12.8.4.1; platform_system == "Linux", but you have nvidia-cublas-cu12 12.5.3.2 which is incompatible.
torch 2.10.0+cu128 requires nvidia-cuda-cupti-cu12==12.8.90; platform_system == "Linux", but you have nvidia-cuda-cupti-cu12 12.5.82 which is incompatible.
torch 2.10.0+cu128 requires nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == "Linux", but you have nvidia-cuda-nvrtc-cu12 12.5.82 which is incompatible.
torch 2.10.0+cu128 requires nvidia-cuda-runtime-cu12==12.8.90; platform_system == "Linux", but you have nvidia-cuda-runtime-cu12 12.5.82 which is incompatible.
torch 2.10.0+cu128 requires nvidia-cudnn-cu12==9.10.2.21; platform_system == "Linux", but you have nvidia-cudnn-cu12 9.3.0.75 which is incompatible.
torch 2.10.0+cu128 requires nvidia-cufft-cu12==11.3.3.83; platform_system == "Linux", but you have nvidia-cufft-cu12 11.2.3.61 which is incompatible.
torch 2.10.0+cu128 requires nvidia-curand-cu12==10.3.9.90; platform_system == "Linux", but you have nvidia-curand-cu12 10.3.6.82 which is incompatible.
torch 2.10.0+cu128 requires nvidia-cusolver-cu12==11.7.3.90; platform_system == "Linux", but you have nvidia-cusolver-cu12 11.6.3.83 which is incompatible.
torch 2.10.0+cu128 requires nvidia-cusparse-cu12==12.5.8.93; platform_system == "Linux", but you have nvidia-cusparse-cu12 12.5.1.3 which is incompatible.
torch 2.10.0+cu128 requires nvidia-nccl-cu12==2.27.5; platform_system == "Linux", but you have nvidia-nccl-cu12 2.23.4 which is incompatible.
torch 2.10.0+cu128 requires nvidia-nvjitlink-cu12==12.8.93; platform_system == "Linux", but you have nvidia-nvjitlink-cu12 12.5.82 which is incompatible.
Successfully installed arviz-0.19.0 bidict-0.23.1 google-meridian-1.5.3 mmm-proto-schema-1.1.2 natsort-7.1.1 nvidia-cublas-cu12-12.5.3.2 nvidia-cuda-cupti-cu12-12.5.82 nvidia-cuda-nvrtc-cu12-12.5.82 nvidia-cuda-runtime-cu12-12.5.82 nvidia-cudnn-cu12-9.3.0.75 nvidia-cufft-cu12-11.2.3.61 nvidia-curand-cu12-10.3.6.82 nvidia-cusolver-cu12-11.6.3.83 nvidia-cusparse-cu12-12.5.1.3 nvidia-nccl-cu12-2.23.4 nvidia-nvjitlink-cu12-12.5.82 python-calamine-0.6.2 semver-3.0.4 tfp-nightly-0.26.0.dev20260130
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
meridian.schema.serde
import
meridian_serde
import
numpy
as
np
import
pandas
as
pd
# check if GPU is available
from
psutil
import
virtual_memory
import
tensorflow
as
tf
import
tensorflow_probability
as
tfp
ram_gb
=
virtual_memory
()
.
total
/
1e9
print
(
'Your runtime has
{:.1f}
gigabytes of available RAM
\n
'
.
format
(
ram_gb
))
print
(
'Num GPUs Available: '
,
len
(
tf
.
config
.
experimental
.
list_physical_devices
(
'GPU'
)),
)
print
(
'Num CPUs Available: '
,
len
(
tf
.
config
.
experimental
.
list_physical_devices
(
'CPU'
)),
)
Your runtime has 54.8 gigabytes of available RAM Num GPUs Available: 1 Num CPUs Available: 1
3. Mount a storage. Use meridian_root
to refer the mounted root. The mounted root will be used to save trained model
, stage two-pager output
and generate scenario planning dashboard
.
For Colab Free/Pro user, we will use the MyDrive
folder in Google Drive as the external storage. For Colab Enterprise user, we will use Cloud FUSE
to mount a GCS bucket.
# @markdown If you are using Colab Free, Colab Pro, run this cell to mount your Google Drive.
from
google.colab
import
drive
drive_mount
=
'/content/drive'
drive
.
mount
(
drive_mount
,
force_remount
=
True
)
subfolder
=
''
# @param {"type":"string","placeholder": "Optional, specifying a subfolder is recommended for organizing distinct execution runs."}
# Change this "MyDrive" to other share folders name if you would like to use a different drive.
meridian_root
=
f
'
{
drive_mount
}
/MyDrive/
{
subfolder
}
'
is_enterprise_user
=
False




