What's Changed
Major Changes 🛠
- Add CLV Cohort
ShiftedBetaGeoModelby @ColtAllen in #2005
New Features 🎉
- Add BuildModelFromDAG class for causal components by @cetagostini in #1950
- Introduce experimental TBFPC causal discovery algorithms by @cetagostini in #1947
- Add fivetran pandas accessor by @williambdean in #1924
- Add Special priors by @daniel-saunders-phil in #1939
- Add ModelSamplerEstimator for PyMC Marketing model benchmarking by @cetagostini in #1943
- Adds Optional
dimsarg for subsetting by dimensions when plotting a multidimensional model by @timbo112711 in #1955 - Add calibration support to YAML MMM builder by @cetagostini in #1979
- Add
expected_residual_lifetimepredictions toShiftedBetaGeoModelby @ColtAllen in #2010 - Add
expected_retention_elasticitytoShiftedBetaGeoModelby @ColtAllen in #2028 - Add GPU support in
BudgetOptimizerby @PabloRoque in #1937
Bugfixes 🐛
- BUG [Issue with fourier] by @cetagostini-wise in #1936
- Fix Mypy - HotFix by @juanitorduz in #1963
- Fix np.testing.assert_array_almost_equal argument names by @cetagostini in #1949
- Hotfix - Fix dimension assertion for adding multidimensional event effects to multidimensional MMM by @TeemuSailynoja in #1969
- Hotfix: use
target_columnincreate_fit_dataandbuild_from_idataby @PabloRoque in #1918 - HOT FIX: Update image for sBG Model in gallery by @juanitorduz in #2008
- Solving issue with wrapper detection in optimizer by @cetagostini in #2021
- Fixing fixed_beta bug adding new test for nested_logit by @NathanielF in #2015
Documentation 📖
- Notebook: How to model upper funnel with causal reasoning and PyMC by @cetagostini in #1971
- Notebook: Add multi-objective optimization notebook and update optimizer by @cetagostini in #1973
- correct typo in multidimensional nb by @daniel-saunders-phil in #1919
- Add approximate_fit method for variational inference by @cetagostini in #1923
- Add lognormalprior to the multidimensional notebook by @daniel-saunders-phil in #1961
- Adding calibration by potential based on CPT (Additional calibration style) by @cetagostini in #1959
- Setting infraestructure for Translations (ES site) by @OriolAbril in #1906
- Add MMM Quickstart Guide by @juanitorduz in #1972
- Update notebook risk allocation by @cetagostini in #1982
- Split notebooks test run mmm vs others by @juanitorduz in #1986
- Adding additional translations to the spanish site by @cetagostini in #1984
- Translate to spanish certain notebooks! by @cetagostini in #1995
- Notebook: PyMC-Marketing GAM capabilities by @cetagostini in #1985
- Translate guide folder to spanish by @cetagostini in #1997
- Adding spanish translations to API docs by @cetagostini in #1999
- Finishing all translations to API in Castellano by @cetagostini in #2000
- Notebooks translations to ES by @cetagostini in #2001
- Small error on render notebook tips/warnings/notes by @cetagostini in #2003
- MMM Class Claude Sonnet 4.5 Refactor by @juanitorduz in #1974
- Solving issue in #2006 doing the optimization more obvious not close to the limit. by @cetagostini in #2007
- Updated How We Compare Section by @lfiaschi in #2012
- Notebook: Causal discovery with PyMC-Marketing by @cetagostini in #1994
- Improve documentation links by @juanitorduz in #2025
Maintenance 🔧
- Adjusting calibration by costs to work with sample posterior predictive by @cetagostini in #1988
- Fix ModelBuilder docstring formatting by @williambdean in #1926
- Keep zeroes in add_noise_to_channel_allocation by @PabloRoque in #1916
- Update gamma_control prior dimensions in MMM model by @cetagostini in #1920
- Add model merging utilities and tests for multi-model optimization by @cetagostini in #1944
- Rename LogNormalPositiveParam to LogNormalPrior by @cetagostini in #1948
- Correcting optimizer docstring by @cetagostini in #1962
- Add MaskedPrior class for masked variable creation by @cetagostini in #1945
- Clarify mean_tightness_score docstring and formula by @cetagostini in #1980
- don't use paid defaults channel for dev env by @OriolAbril in #1987
- Translations in the API documents by @cetagostini in #1998
- Last translations by @cetagostini in #2002
- Translations for the new recent merge PRs by @cetagostini in #2020
- Translations by @cetagostini in #2029
- Bump version to 0.17.0 by @juanitorduz in #2030
- Update Spanish translations for CLV and MMM API docs by @cetagostini in #2031
Full Changelog: 0.16.0...0.17.0