How we scaled audience discovery using graph neural networks

Authors

  • Google
    • Wiktor Jakubowski, AI Engineer
    • Leonid Kuligin, Senior Staff AI Engineer
    • Alessandro Tognola, Data Engineer
  • WPP
    • Francisco Matos, Senior AI Engineer
    • Glennie Sindholt, Lead AI Architect

Introduction

When a marketing campaign performs well with a specific group, the next step is to reach more people just like them.

Often, it’s assumed that expanding your audience relies on manual brainstorming or basic demographic overlaps. But methods like these don’t always scale, and they may miss subtle, valuable connections.

To help remove this guesswork, Google Cloud Consulting and WPP turned to graph representation learning, using an interconnected knowledge graph for data. Through machine learning, this framework looks at data ranging from consumer interests to real-world habits to quickly find similar groups that match the ones we’ve already reached.

Establishing data foundations

To get started, we organized our data into a rich knowledge graph, creating an interconnected map that helps us make sense of the complex relationships in marketing.

  • Size: The graph contains approximately 70,000 data points and 500,000 connections.

  • Diversity: It features 20 distinct types of data points, 25 types of connections, and roughly 400 unique relationship combinations.

  • Target: At the core of our graph is the platform audience data. Each audience is defined by its connections to four fundamental pillars: location, age bracket, gender, and consumer interests.

Because these audience profiles only connect to their specific pillars but never to each other, the challenge was teaching the model to find similarities based on the surrounding neighborhood of data in the graph.

The ground truth problem

When training the model to predict similarities, we first needed a clear definition of what makes two audiences truly alike. Initially, our graph contained zero direct connections, making it difficult to rely on overlap metrics. We then evaluated standard graph baselines.

  • Traditional centrality and sharing algorithms: These were too simple and failed to capture the strategic meaning behind different relationship types.

  • Random walks: While these captured more complex paths, they didn’t follow the four-pillar logic needed to make recommendations.

Since standard algorithms couldn’t pinpoint these nuances, we worked with marketing subject matter experts to create a custom scoring system as our source of truth. The system finds similarities between any two audiences based on their pillars to mathematically prove what makes two audiences actually alike.

  • Complex comparisons: As the most complex pillar, consumer interest helps us compare groups by looking for shared connections to measure how much they actually have in common.

  • Shared characteristics: These overlapping connections include things like shared brands, personality types, or product categories.

  • Manual inefficiency: While accurate, calculating this manually for every audience would be slow, and costly.

For a fast, searchable space, we then implemented a graph neural network, capable of demonstrating human logic in a way that scales.

Using graph neural networks

Graph neural networks are deep learning architectures that use local network structures to capture relationships. By letting data points collect information from neighboring data, they provide more comprehensive context than traditional methods.

image|562.2606741573034x174
Image source: Towards understanding glasses with graph neural networks — Google DeepMind

Here’s how we handled implementation:

  • Scalability with GraphSAGE: To handle hundreds of marketing relationships in real-time, we integrated the scalability of GraphSAGE to move past legacy scoring.

  • Data preparation: Google’s Gemini embeddings were used to turn raw attributes like names and descriptions into clean, consistent data.

  • Smart architecture: The system was designed to process demographics, entities, and topics in their own distinct channels. This keeps data concise and prevents relationships from blending together.

  • Learning from neighbors: On each layer, the model compiles information from neighboring data points before updating an audience profile. This allows it to evaluate buying habits, interests, and demographics in one complete picture.

  • Expert-led training on Google Cloud: We optimized the model on Google Cloud using Vertex AI, and to ensure it could learn correctly, we trained it against a curated set of 100 unbiased audiences. We applied human-expert scores and fine-tuned the system until it could cluster similar groups and separate irrelevant ones.

  • Pivotal decision-making: While standard tools like HinSAGE are available, our custom architecture was better able to handle 400+ unique relationship types without the model losing context across complex data.

Evaluation and results

Finally, to prove the model’s real-world value, we evaluated it against a curated test set. As a result, our custom solution outperformed traditional baselines across every metric:

  • Audience separation: Our solution achieved a 76% average similarity for positive matches and just 19% for negative matches, resulting in a 3.5x larger gap than traditional baselines. Maintaining this distinction between segments prevents wasted advertising spend on low-value groups.

  • Strategic alignment: The model demonstrated an 83% correlation with established expert logic, compared to just 61% for legacy systems. Automated recommendations now align with the strategic intuition of senior experts.

  • Ranking and retrieval accuracy: The architecture reached a 99.2% ROC AUC score in correctly ranking and retrieving audience matches, compared to 84.5% for standard methods. These high-value opportunities represent a 17% improvement.

  • Isolated test data: To ensure our results weren’t just by chance, we isolated our test data so the model couldn’t see the answers ahead of time.

Metric GraphSAGE Baseline / Heuristic Improvement
Positive Similarity (Avg) 76 58 +31%
Negative Similarity (Avg) 19 42 +54%
Delta (Separation) 57 16 3.5x Gap
Spearman Correlation 0.83 0.61 +36%
ROC AUC (Ranking) 0.992 0.845 +17%

Conclusion

By aligning business logic with graph learning, we’ve replaced manual guesswork with an automated engine for audience discovery. We’re now able to instantly recommend highly-relevant segments for expansion, a breakthrough for audience reach and scalability.

10 Likes