pymc-marketing
pymc-marketing copied to clipboard
Bayesian marketing toolbox in PyMC. Media Mix (MMM), customer lifetime value (CLV), buy-till-you-die (BTYD) models and more.
What should be returned when `fit` is called? `fitted_model = Model(data).fit()` is a common convention amongst those familiar with the `sklearn` API, but won't work unless `self` is returned. Currently...
The sklearn transformers that require state (MaxAbsScaler and StandardScaler) are currently part of the mixins which make it a bit difficult to support new data. So the mixins will have...
https://github.com/pymc-labs/pymc-marketing/blob/d4feeeafad6f0299b115dac3582ad6d98bd8241f/pymc_marketing/mmm/delayed_saturated_mmm.py#L123-L126 Right now it is mixed logic of creating RV and registering it in the model. In principle that should be the only one method that returns already registered RV....
In `BaseDelayedSaturatedMMM`, the `channel_contributions_forward_pass()` method calls `eval()` on the pytensor value to be returned ([here](https://github.com/pymc-labs/pymc-marketing/blob/3a9db517d1d3c5a930eeb80ad24c540382d1bc33/pymc_marketing/mmm/delayed_saturated_mmm.py#L386)). This causes problems if you expect the tensor returned by the various transformation methods to...
Initial version of the optimization notebook. I have not yet added all the "bells and whistles" that are possible, because I want to get feedback on the core first. Then...
At the moment the `.fit` methods does 3 samplings: prior predictive, inference and posterior predictive. At the moment, we can just pass `kwargs` to the sampler but not to the...
https://github.com/mplatzer/BTYDplus
https://lifetimes.readthedocs.io/en/latest/Quickstart.html TODO: - Find out what metrics we want to do PPC wrt, implement plots - Check if there are model-specific ones as an extra (look at lifetimes for examples)