In this project, machine learning is used to create a Marketing Mix Model in order to best allocate funds across a broader marketing portfolio. By analyzing prior marketing spend and business KPIs, a model is able to be generated.
Funds need to be allocated to best reach business goals. However, most advertising platforms only specilize in allocating funds within their tactics, not throughtout a wider portfolio.
By gathering marketing spend data by tactic over time, and sales data, an outside model is able to be generated which incorporates data from across the wider marketing portfolio.
In addition to reallocation, attribution is able to be given to each tactic without bias, showing the impact of each. This shifts focus away from tactics in and of themselves, and towards how to best reach business goals.
In order to achieve this, I have used the Robyn MMM package. Fitting prior synthetic spend data broken out by tactic and sales over time will generate models with response curves which can be used to forecast what the most optimized allocation will be in this hypothetical case study.
After generating a selection of models, I am selecting Model 5_86_3, which I will from here on refer to simply as 'Model'. I am selecting this model as it has the highest r2 with both the test and validation set, as well as tighter confidence intervals for the CPA by tactic.
Now that a model has been selected, I can use the projected response curve to reallocate funds to maximize sales. In this sample case, the reallocation is projected to lead to an additional 5k sales.
In addition the curves can be extracted in order to make a dynamic dashboard, so that budget allocation can be a more interactive experience with stakeholders.
I go more in depth on this topic in my blog post on the subject.
Meta's Robyn MMM open source R package, Kaggle user Veerendra's sample data.