Hi,
I’m currently working on building a Marketing Mix Model (MMM) using the pymc-marketing
package (version 0.8). After successfully building the model, I’m now focusing on optimizing budget allocation across various media channels.
Based on some research, I’ve made adjustments to include a max()
function for optimized budget allocation. In the allocate_budget_to_maximize_response()
function, I set the budget per unit (e.g., for a total budget of 50 over 10 weeks, I used 5 as the budget). However, when running the allocation, I’m noticing that one channel (Google) receives the maximum budget allocation, while the other channels are assigned minimal amounts.
Here’s an outline of the approach:
- Total Budget: 206,250 (2475000 for 12 weeks)
- Channels: [Google_Spend, Bing_Spend, ASA_Spend, Facebook_Spend, TikTok_Spend, Taboola_Spend]
- Initial Budget Split: Divided equally across all channels
- Budget Bounds: Set between a minimum of 1,000 and the total budget for each channel.
Despite these settings, the budget allocation is heavily skewed towards one channel. Could someone help clarify how the minimum and maximum bounds work and suggest how to achieve a more balanced allocation across channels?
Thanks in advance!