Comments (8)
At the moment optimisation is provided at channel level always, this is mainly due that bounds can be very tricky to use at geo level and the actual shifts of channel budget between geos at an operational level sometimes is not desired by the user.
We assume the average ratios between geos seen in the historical data and apply optimisation at channel level using such ratio.
It is something we can add for sure, but it is also not in our most immediate pipeline (unless there is a lot of demand for it).
Will keep this one open though as we should be able to add it at some point.
from lightweight_mmm.
- so, can I use the preoptimization budget ratios of goe's and apply to post opt budget and get geo level post opt budget?
- And won't the most effective channel geo budget ratio increase while lease effect channel geo decreases?
from lightweight_mmm.
- Yes! Feel free to check how the ratios are calculated in the code to replicate.
- Not sure what you mean by this one. Could you explain further?
from lightweight_mmm.
Hi @pabloduque0,
I couldn't find the ratios logic, can you please help me ?
from lightweight_mmm.
Ratios can be calculated with something like the folloiwng:
average_per_time = media_mix_model.media.mean(axis=0)
geo_ratio = average_per_time / jnp.expand_dims(average_per_time.sum(axis=-1), axis=-1)
from lightweight_mmm.
Hi @pabloduque0,
I saw your great discussion, but I have some questions regarding this.
First, is the calculating logic you introduced above just for getting ratios at pre-optimization?
Moreover, it seems that the function find_optimal_budgets
in the current version cannot consider the custom budget ratio of each geo at pre-optimization. Is my understanding correct?
Thank you.
from lightweight_mmm.
Hello @rio-0217 !
Yes, the logic is for calculating historical average ratio between geos.
That is correct! find_optimal budgets
currently does not support custom "geo ratios" although that is something we could add.
from lightweight_mmm.
Hello @pabloduque0,
Understood. I appreciate your kind reply.
Then I wonder if we can just add geo_ratio
in the find_optimal_budgets
function as a new argument, we can conduct optimization with custom geo_ratios. Is that make sense?
from lightweight_mmm.
Related Issues (20)
- What is the best way to contribute to this library?
- INVALID_ARGUMENT: Python buffer protocol is only defined for CPU buffers. HOT 1
- In trying to plot the the response curves I get an error
- NumbaWarning: Compilation is falling back to object mode WITH looplifting enabled because Function "histogram" failed type inference due to: non-precise type pyobject During: typing of argument at /usr/local/lib/python3.10/dist-packages/arviz/stats/density_utils.py (979)
- Potential Improvments on Price and Extrafeature
- ValueError: Einstein sum subscript 'c' does not contain the correct number of indices for operand 1. HOT 1
- Priors of tested media channels HOT 3
- All predictions start with an offset HOT 1
- Kpi is smaller than spend on response curve
- GPU Performance Issues HOT 1
- Adstock Normalization
- What is budget in media optimization
- previous_extra_features data in predict function
- Not able to install the packages
- What are media_mix_model.trace["media_transformed"], media_mix_model.trace["coef_media"] ? Media Contribution Calculation Understanding HOT 6
- Model prediction decomposition HOT 2
- JAX GPU with Apple M2
- Response Curve : Adstock and Carryover models HOT 14
- Feature Names HOT 2
- RuntimeError (This version of jaxlib was built using AVX instructions) on importing `optimize_media` from `lightweight_mmm` in a conda environment on M1 mac.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lightweight_mmm.