MMM - Model Curves (Quasi-calibration) #296
cetagostini
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi guys,
I wanted to raise a point about possibilities to calibrate the MMM model and some ideas about this that I've been developing around this.
Response curve calibration
For context, I've been trying to create different models for different markets which suffer from different situations. For each one, it is always very important to visualize the
response curves
, in search of understanding how much I can increase my spending. However, on different occasions, these curves tend to seem quite optimistic.For this reason, if possible, along with the curves I also make a plot of the experiments carried out in the channels that I am analyzing with MMM.
Example:
As you can see, the results of an experiment or a set of experiments sometimes do not perfectly match the curve.
This happens because the default method for generating response curves uses the average of the generated distribution of contributions.
In principle, if the result of all distributions were "normal", the mean, median, and mode should be equal (or at least close), so this should not matter. If there were a discrepancy, using the method to incorporate prior knowledge should be resolved, and the distributions could be adjusted.
But if based on the data, and your experiments, you found that your channel doesn't follow a "normal" distribution, even adding prior knowledge may not move the distribution too much. What to do in those cases?
Example ROAS distribution per channel on MMM model.
Here you can see that some channels have a "skewed" distribution where the average is not close to the area of greatest density of the distribution (The most probable, according to the model).
This can be easily resolved if we choose another statistic by default that can better represent our data better instead of the average. In this case, by playing with the mode, I obtained better results. I believe this is also related to the fact that, in essence, pymc-marketing is carrying out a probabilistic regression. If we want to choose a point, we should choose the most probable or recurrent (Accept opinions and arguments here).
When this is done, we can see how the response curve decreases its optimism and becomes closer to the calibration experiments. Instead of having a contribution up to thousands, is now up to hundreds.
Idea 💡
mean
.Why? 🧐
I think this type of implementation would allow the model and results to generalize more optimally over the different shapes of distributions that may appear across all possible scenarios given by users who use the solution.
Additionally, I believe that this type of calibration would be fully compatible with causalpy, allowing the resulting data from experiments to be used, even to automatically generalize which area of the distribution should be used to plot the curves.
Assumptions:
Beta Was this translation helpful? Give feedback.
All reactions