What's Changed
Major Changes 🛠
- Bump pymc dependency by @ricardoV94 in #1269
- Budget optimizer refactor by @ricardoV94 in #1357
New Features 🎉
- add
hdi_list
kwarg toplot_posterior_predictive
by @drbenvincent in #1096 - Allow Negative Values in Media Channels by @louismagowan in #1092
- Add
plot_expected_purchases_over_time
function by @ColtAllen in #1115 - Beta geo expected probability no purchase by @DylanZammit in #1094
- Harmonize prior and posterior predictive plots in MMM module by @juanitorduz in #1170
- Create load_from_idata method by @wd60622 in #1211
- Add CLV
plot_expected_purchases_ppc
by @ColtAllen in #1222 - Include tvp scaling in contribution grid by @wd60622 in #1253
- Make optimization based on the entire posterior and not on the marginal mean parameters. by @cetagostini in #1151
- HSGP as component by @wd60622 in #1246
- Add Gradient-Free Fit Method to CLV Models by @ColtAllen in #1266
- Add
graphviz
method toModelBuilder
class by @ColtAllen in #1284 - Improved Default Priors for
BetaGeoModel
by @ColtAllen in #1264 - Non-centered ZeroSumNormal Prior support by @wd60622 in #1290
- Allow non-Prior parameters in Prior and media transformations by @wd60622 in #1292
- Deserialize arbitrary objects by @wd60622 in #1296
- Modified Beta Geometric model by @PabloRoque in #1301
- Allow VariableFactory in FourierBase by @aseyboldt in #1304
- Add Censored wrapper for Prior class by @wd60622 in #1309
- Register new media transformations automatically by @wd60622 in #1320
- Add new
customer_choice
module by @drbenvincent in #803 - 1314 implement serialization for fourier classes by @wd60622 in #1315
- Deprecate to/from_json of Prior class in favor of to/from_dict by @wd60622 in #1338
- Add autologging for CLV models by @wd60622 in #1354
- Introduce BetaGeoNBD Random Variable by @PabloRoque in #1317
- MMM Evaluation, Diagnostics and MLFlow Registry by @louismagowan in #1368
- MLflow logging before slow function calls by @wd60622 in #1393
- Custom optimizer constraints by @cetagostini in #1358
- Creating Causal Identification module by @cetagostini in #1166
Bugfixes 🐛
- Fix LinearTrend rending issue by @takechanman1228 in #1173
- Fix bug in the "Causal Ladder" docs page by @drbenvincent in #1175
- Solving bug on optimization plot by @cetagostini in #1174
- patch values stacked plot by @juanitorduz in #1181
- [FIX] Wrong legend in the posterior predictive plot then we set gradient=True by @juanitorduz in #1212
- Fix budget allocation plot in case study by @juanitorduz in #1216
- Raise error when two dims are not compatible by @wd60622 in #1249
- 1271 predictions=true for sample posterior predictive throws error by @wd60622 in #1272
- Fix tanh component by @aseyboldt in #1303
- Enable transform
_sample_curve
to work withVariableFactory
by @lucianopaz in #1362 - keep date column in test_scale_lift_measurements by @malitsadok1 in #1316
- Moved pyprojroot from docs to dependencies by @nayan2167 in #1417
- Remove sample_posterior_predictive_patch by @wd60622 in #1414
Documentation 📖
- Expose Streamlit App in Documentation by @louismagowan in #1091
- Fix typos in MMM Example notebook by @wd60622 in #1146
- add mention of GPU in documentation by @wd60622 in #1152
- Update MMM docs to use graphviz method by @takechanman1228 in #1172
- MMM Case Study Fixes by @juanitorduz in #1169
- Run sBG with seed by @wd60622 in #1189
- Fix beta ref mmm by @juanitorduz in #1194
- Fix minor typos in mmm example notebook by @SangamSwadiK in #1215
- CLV Quickstart Revisions by @ColtAllen in #1243
- fix typo and change first lines mood by @wd60622 in #1254
- Link sBG Notebook in README and Index by @ColtAllen in #1265
- Update README.md (fix badges) by @juanitorduz in #1278
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1313
- customer choice: improve plots and harmonize colors by @juanitorduz in #1322
- Re-run TVP mmm notebook by @juanitorduz in #1324
- add customer choice to readme by @juanitorduz in #1326
- sort docs sections by @juanitorduz in #1327
- Generalize verbiage of installation instructions by @wd60622 in #1335
- Prior predictive guide by @juanitorduz in #1334
- hot fix: budget allowcation notebooks by @juanitorduz in #1389
- Breakout and Document MLflow functions by @wd60622 in #1396
- Relax the type that is needed for evaluation metric function by @wd60622 in #1413
- Add CLV Roadmap by @ColtAllen in #1364
- CLV Documentation Revisions by @ColtAllen in #1419
Maintenance 🔧
- Remove duplicate attrs/functions from MMM by @sreekailash in #1336
- Move
fit_result
tomodel_builder.py
and remove redundancies from CLV and MMM by @sreekailash in #1344 - Remove media transformation registration functions by @wd60622 in #1378
- Add
load_from_idata
method by @wd60622 in #1379 - Add tests by @juanitorduz in #1391
- Implement ModifiedBetaGeoNBD and ModifiedBetaGeoNBDRV by @PabloRoque in #1375
New Contributors
- @nhan295 made their first contribution in #1114
- @DylanZammit made their first contribution in #1094
- @dependabot made their first contribution in #1134
- @nataziel made their first contribution in #1285
- @aseyboldt made their first contribution in #1303
- @sreekailash made their first contribution in #1336
- @malitsadok1 made their first contribution in #1316
- @nayan2167 made their first contribution in #1412
Full Changelog: 0.10.0...0.11.0