Data Science & ML for Marketing
Data Scientist · OMD EMEA
July 2021 – February 2023
Overview
Campaign planning in marketing is fundamentally an optimisation problem: how can a client allocate advertising budget across audiences, channels and messages to maximise return on investment?
At OMD EMEA, I worked on machine learning systems designed to help campaign planners answer that question faster and more accurately. My role focused on re-architecting existing modelling workflows, improving model performance, reducing cloud costs and making ML-driven recommendations easier for non-technical users to adopt.
Over time, I took on responsibility for a key automotive campaign planning product and led a small team of three. The team supported global campaign planners by modernising legacy models, improving data pipelines and developing tools that helped clients optimise advertising budgets across channels and audiences.
A major challenge across the business was the number of legacy models that had become outdated due to data drift. Many had been built manually, with inconsistent codebases and deployment processes. In some cases, retraining and deploying a single model could take one to two weeks.
To address this, we evaluated Vertex AI and AutoML against two criteria: whether the new models could outperform the existing approach, and whether the improvement justified the additional compute cost. In practice, we typically saw accuracy uplifts of 3–10%, while reducing production deployment time from weeks to a few hours. This allowed the business to iterate faster and refresh outdated models more consistently.
Technical Approach
Improving Application Performance
When I took over the automotive campaign planning project, the user-facing application suffered from slow response times and high GCP costs. The existing workflow recomputed models using basic hyperparameters each time a user submitted a query. A single request could take around five minutes, making the application difficult to use in real planning sessions.
We set a clear performance target: user queries should return in under 10 seconds. To achieve this, we moved away from recomputing models on demand and instead trained a single XGBoost model that could be queried interactively.
We used Shapley values to explain model outputs and allow users to slice results by audience, channel and campaign variables. This significantly improved the user experience while maintaining transparency around why specific recommendations were being made.
Reducing Cloud and Pipeline Costs
The existing data pipeline was highly manual. Scripts had to be run individually, database references were updated by hand, and a full refresh could take a lone engineer around a week.
We redesigned the pipeline to remove unnecessary processing steps, reduce redundant database writes and apply more appropriate storage tiers for different data types. The rebuilt workflow used Airflow and dbt to create a cleaner, more reliable and more cost-efficient pipeline.
This work contributed to a 50% reduction in cloud costs and a 90% reduction in query times.
Audience Segmentation and Message Optimisation
The final major challenge was helping planners decide which campaign messages should be shown across different advertising channels and audience contexts.
Previously, this process relied heavily on planner intuition. Experienced planners knew which messages were likely to resonate, but there was limited automation or systematic optimisation behind those decisions.
We developed a weighted clustering method that grouped audiences based on demographics, likelihood to purchase and channel characteristics. The system supported two types of recommendation:
- Given an advertising channel, recommend the most relevant campaign messages.
- Given a target audience or message, recommend the most effective channels to use.
The approach also accounted for known limitations in reported audience data from media channels, helping make the recommendations more realistic and commercially useful.
Key Achievements
Campaign Planning Web Application
Led development of an ML-powered campaign planning application that enabled users to explore campaign recommendations interactively.
- Reduced query times by 90% by replacing repeated model recomputation with a more efficient XGBoost and Shapley value architecture.
- Reduced cloud costs by 50% through pipeline simplification, reduced database writes and improved storage design.
- Improved user trust by surfacing Shapley value explanations alongside model recommendations.
- Delivered an interactive web interface for campaign planning, budget allocation and performance analysis.
Audience Segmentation and Targeting
Developed clustering-based audience segmentation methods to improve targeting and channel selection.
- Built weighted clustering approaches using demographic, behavioural and purchase-likelihood signals.
- Enabled planners to identify high-value audience groups and match them with relevant campaign messages.
- Supported both audience-to-channel and channel-to-message recommendation workflows.
- Helped increase advertising ROI by 200% through more targeted campaign planning.
Legacy Model Modernisation
Modernised legacy ML workflows using Vertex AI and AutoML.
- Migrated outdated models affected by data drift to scalable cloud-based ML workflows.
- Improved model accuracy by 3–10% across typical use cases.
- Reduced model deployment timelines from one to two weeks to a few hours.
- Created more maintainable and repeatable production ML processes.
Stakeholder Engagement and Adoption
Worked directly with internal and external stakeholders to increase adoption of ML-driven planning tools.
- Ran workshops with client teams and campaign planners.
- Translated technical model outputs into commercially meaningful recommendations.
- Helped define the ML roadmap for campaign planning and marketing optimisation.
- Led a small team delivering client-facing ML solutions for automotive campaign planning.
Technologies & Tools
Impact & Results
Query time reduction
ROI increase
Accuracy improvement