0.19.0
Warning
We have migrated all our documentation to the more complete and modern class multidimensional.MMM. See the migration guide: https://www.pymc-marketing.io/en/latest/notebooks/mmm/mmm_migration_guide.html
We will remove the old mmm.MMM class in 0.20.0. Please migrate your code! Most changes are internal optimizations. The APIs are very similar!
What's Changed
Major Changes 🛠
- Default to unpooled transformation priors in Multidimensional MMM by @ricardoV94 in #2293
- CLV API Deprecation by @ColtAllen in #2347
New Features 🎉
- Some fixes TimeSlice Cross Validation and Extend Case Study by @juanitorduz in #2393
- Validate YAML with Pydantic by @juanitorduz in #2418
Bugfixes 🐛
- Raise explicitly when trying to optimize or measure incrementality of discrete channel data by @ricardoV94 in #2337
- bug : mlflow uses the name param on versions 3.0.0 and greater by @daniel-saunders-phil in #2339
- Respect channel ordering when applying budget bounds by @cetagostini in #2350
- Implement MultiDimensionalMMM with pymc.dims by @ricardoV94 in #2204
- Fix: Handle DateIndex in CSA plot_data to resolve crash (fixes #1864) by @shivamlalakiya in #2302
- remove superfluous use of
arbitrary_types_allowedin annotations by @nataziel in #2403 - BUG: HSGPKwargs.cov_func does not support custom Cov by @isofer in #2398
- fix nb: GAM NOTEBOOK BROKEN by @juanitorduz in #2416
- fix: work around RuntimeError by @williambdean in #2421
- Add compute_mean_contributions_over_time to MMM multidim by @juanitorduz in #2423
- Fix: Channel coordinates are alphabetically sorted in multidimensional MMM, causing ROAS calculation errors by @juanitorduz in #2422
- Hot Fix: Remove Constrain Variables Sample Posterior Predictive by @juanitorduz in #2440
Documentation 📖
- Revert "cleanup (#2285)" by @ricardoV94 in #2324
- Incrementally, ROAs, CAC, etc... by @isofer in #2290
- Docs: Add CSA module to README header #1821 by @shivamlalakiya in #2301
- docs: Add missing modules by @williambdean in #2343
- Incrementality - the rest of the story by @isofer in #2300
- update docstring for MMM by @isofer in #2358
- Group the custom components notebooks by @daniel-saunders-phil in #2362
- MMM Data Generator by @juanitorduz in #2292
- Demo notebook for cost per unit by @isofer in #2363
- Clarify budget distribution over period by @ricardoV94 in #2394
- Mmm dims migration guide by @ricardoV94 in #2392
- Fix wrong constraints docstrings by @ricardoV94 in #2395
- Custom MMM Model: ROAS Parametrization by @juanitorduz in #2361
- Expose the new incrementality module in some key examples by @juanitorduz in #2410
- Update case study title for clarity by @juanitorduz in #2412
- ROAS parametrizatio notebook fix by @juanitorduz in #2414
- Remove CLV
lifetimesDependency from Notebooks and Unit Tests by @ColtAllen in #2428 - Replace potential by likelihood in calibration by target by @cetagostini in #2407
Maintenance 🔧
- Upper Bound For ArviZ 1.0.0 by @juanitorduz in #2326
- Fix/redo #2290 (incrementally) without utility rename by @isofer in #2333
- Allow all_tests to pass when test jobs are skipped by @isofer in #2334
- Update README.md by @juanitorduz in #2332
- FancierLinearRegression by @williambdean in #2315
- Unblock merges for non-code PRs by always reporting
all_testsstatus by @isofer in #2344 - Cast channel_data to float at construction time by @isofer in #2341
- Add Claude and Cursor AI skill definitions by @cetagostini in #2349
- MMM SKILLs by @juanitorduz in #2354
- skills: clarify lift test calibration with time-varying media by @drbenvincent in #2360
- Support cost_per_unit for channels with non-monetary data (impressions, clicks, etc.) - part 1 by @isofer in #2320
- feat: support sample_prior_predictive kwargs to
sample_curveby @williambdean in #2365 - Extends the cost-per-unit support to plotting by @isofer in #2364
- Fix optimization with time varying media by @ricardoV94 in #2396
- Validate YAML structure and warn on unknown keys by @cetagostini in #2409
- [HOT-FIX] NDArray.record() now requires an in_warmup keyword by @juanitorduz in #2429
- Fix: MediaConfigList should be parametrized explicitly by core_dim/media_dim by @juanitorduz in #2426
- make mmm optimization tests deterministic by @juanitorduz in #2431
- Bump version to 0.19.0 by @juanitorduz in #2441
New Contributors
- @shivamlalakiya made their first contribution in #2301
Full Changelog: 0.18.2...0.19.0