Data Science & ML for Marketing

Data Scientist · OMD EMEA

July 2021 – February 2023

Case study

Outcome

  • Led development of a campaign planning web application using XGBoost and Shapley values, achieving a 90% reduction in query times and 50% reduction in cloud costs.
  • Delivered clustering-based audience segmentation that increased advertising ROI by 200% through more focused targeting.
  • Modernised legacy models with Vertex AI, improving average model accuracy by 3-10% and reducing maintenance work.
  • Worked with external stakeholders to define the ML roadmap for campaign planning.

Context

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 that helped campaign planners answer that question. I reworked modelling workflows, improved model performance, reduced cloud costs and made the results easier for non-technical users to explore.

I later took responsibility for an automotive campaign planning product and led a team of three. We modernised legacy models, improved the data pipelines and built tools for planners working across markets, channels and audiences.

Challenge

Many of the legacy models had become outdated through data drift. They used inconsistent codebases and deployment processes, and retraining and deploying one model could take one to two weeks.

We evaluated Vertex AI and AutoML by asking whether the models improved on the existing approach and whether the gain justified the extra compute cost. Model accuracy typically improved by 3–10%, while production deployment time fell from weeks to a few hours.

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 let users slice results by audience, channel and campaign variables. Planners could explore the recommendations and see which factors shaped them.

Reducing cloud and pipeline costs

The existing data pipeline was manual: scripts ran individually, database references were updated by hand and a full refresh could take one 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

We also needed to help planners choose campaign messages for different channels and audiences.

The process relied heavily on planner experience, with little automation behind the 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.

Results

Campaign planning web application

  • 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

  • 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

  • Migrated outdated models affected by data drift to 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

  • 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.