pymc-marketing
Marketing Statistical Models in PyMC
Decision gist · record as of 2026-08-14
Yes, if you need Bayesian marketing analytics and are comfortable with the PyMC ecosystem. The package is actively maintained, has no known vulnerabilities, uses a permissive license, and offers specialized tools for MMM and CLV that are difficult to assemble from scratch. Requires Python >= 3.12 and a substantial dependency stack; best suited for teams with statistical modeling experience or access to consulting support.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.12.
- Fitting models requires sufficient memory for Bayesian sampling and may be computationally intensive depending on data size and model complexity.
- Low install friction with a pure-Python wheel.
License · maintenance · safety
permissive license (permissive) — Apache License 2.0 is permissive; you may use, modify, and distribute this package freely in commercial and private projects, provided you include the license and attribute changes.
last release 2026-08-07 (7 days) · last repo commit 2026-08-14 · 1,224 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 184,703 downloads/mo, #10,026 on PyPI
Alternatives
Verify before relying
pip install pymc-marketing
import pymc_marketing
from pymc_marketing.mmm import MMM
# Create and fit a Marketing Mix Model
model = MMM(data=your_data, adstock='geometric', saturation='logistic')
model.fit()- Whether optional extras (dag, pie) are commonly needed or if base installation covers most use cases
- Typical model fitting time and computational requirements for datasets of different sizes
- How well the package integrates with existing marketing analytics pipelines outside the PyMC ecosystem
What it is and what it does
PyMC-Marketing is a Bayesian statistical modeling library for marketing analytics built on top of PyMC, ArviZ, and related tools. It provides domain-specific implementations of Marketing Mix Models, Customer Lifetime Value estimation, discrete choice models, and experimentation frameworks that allow marketers and analysts to quantify the causal impact of marketing channels and customer behaviors.
The package is designed for practitioners who want to move beyond frequentist attribution methods and leverage Bayesian inference to incorporate prior knowledge, handle uncertainty explicitly, and make probabilistic predictions. It includes features like adstock transformations to model carryover effects, saturation functions to capture diminishing returns, time-varying intercepts and media efficiency, and causal identification tools via directed acyclic graphs. Models can be customized with domain-specific priors and likelihoods, and inference can be run on CPUs or GPUs via PyMC's backend options.
Use it for
- Quantify the incremental impact of each marketing channel on sales or conversions using Bayesian MMM with carryover and saturation effects.
- Estimate customer lifetime value distributions to inform acquisition budgets and retention strategies.
- Analyze discrete choice behavior (e.g., MaxDiff surveys, product preferences) using Bayesian hierarchical choice models.
- Test incrementality of marketing experiments with PIE (Predicted Incrementality by Experimentation) framework.
- Model product adoption and diffusion curves using Bass Diffusion models for new product forecasting.
- Incorporate causal domain knowledge via DAGs to identify confounders and improve model validity.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need Bayesian marketing analytics and are comfortable with the PyMC ecosystem.
The package is actively maintained, has no known vulnerabilities, uses a permissive license, and offers specialized tools for MMM and CLV that are difficult to assemble from scratch. Requires Python >= 3.12 and a substantial dependency stack; best suited for teams with statistical modeling experience or access to consulting support.
Install
pymc-marketing on PyPI
Before you install
Low install friction with a pure-Python wheel. Active maintenance with a release 7 days ago and ongoing commits. Requires Python >= 3.12 and depends on a large Bayesian stack (pymc, arviz, pytensor, numpy, pandas, scikit-learn, and others).
Requires Python >= 3.12. Fitting models requires sufficient memory for Bayesian sampling and may be computationally intensive depending on data size and model complexity.
License in practice
Apache License 2.0 is permissive; you may use, modify, and distribute this package freely in commercial and private projects, provided you include the license and attribute changes.
Quickstart
pip install pymc-marketing
import pymc_marketing
from pymc_marketing.mmm import MMM
# Create and fit a Marketing Mix Model
model = MMM(data=your_data, adstock='geometric', saturation='logistic')
model.fit()
Verify before relying
- Whether optional extras (dag, pie) are commonly needed or if base installation covers most use cases
- Typical model fitting time and computational requirements for datasets of different sizes
- How well the package integrates with existing marketing analytics pipelines outside the PyMC ecosystem
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 19 packagesarviz-plotsarvizmatplotlibnarwhalsnumpypandaspatsyprelizpydanticpymc-extraspymcpyprojrootpytensorpyyamlscikit-learnseaborntqdmxarray-einstatsxarray |
| Maintenance | Actively maintained 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 184,703 / month, #10,026 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: MathematicsTyping :: Typed |
Evidence: pymc_marketing-1.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “bayesian marketing mix modeling”
- pymc-marketingPyMC-Marketing provides Bayesian statistical models for marketing…
- google-meridianMeridian is a Bayesian marketing mix modeling (MMM) framework that…
- pymcPyMC is a Python package for Bayesian statistical modeling and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also google-meridian · Lifetimes · pymc · pymc3 · pycdc · pymc-extras · nutpie · matrice-analytics · arviz-plots · arviz-stats