google / lightweight_mmm

LightweightMMM 🦇 is a lightweight Bayesian Marketing Mix Modeling (MMM) library that allows users to easily train MMMs and obtain channel attribution information.
https://lightweight-mmm.readthedocs.io/en/latest/index.html
Apache License 2.0
882 stars 188 forks source link

Results of Recommended Prices Array Not As Intended #329

Open CourtneyMaynard opened 3 months ago

CourtneyMaynard commented 3 months ago

When following the demo notebook, we are advised to set the prices as an array of ones since our KPI is revenue in dollars. pricearray However, the budget optimization using this price array returns unrealistic spend allocations that don't align with our expectations.

When manually changing the price array to match the known prices of our media channels, the budget optimization then returns the expected spend distribution allocations.

Is suggesting setting the prices array as an array of ones appropriate?

rora00 commented 2 months ago

In the case where your media has a cost per metric of one the prices array should be set to one. I believe the example notebook does this because the default behaviour of utils.simulate_dummy_data uses a cost per metric of one unless you specify your own parameter cost_data.

In my case, e.g. when using TV costs as 100 dollars per TARP, I had to set the prices array with 100 instead of the default of 1 to get expected spend distribution allocations just as you did.