Design an ads system to improve CTR
Company: Pinterest
Role: Machine Learning Engineer
Category: ML System Design
Difficulty: hard
Interview Round: Technical Screen
Design an ML system to **increase the click-through rate (CTR)** of ads shown in the feed of an online social media platform.
Address the following:
1. **Goal and metrics**: What are the online and offline metrics? How do you guard against regressions (e.g., user experience, revenue, long-term engagement)?
2. **Overall architecture**: Sketch the end-to-end pipeline from candidate ad retrieval to ranking to serving.
3. **Training data**: What logs do you need, what is the learning target/label, and how do you construct positives/negatives?
4. **Embeddings**: How would you build user/ad embeddings? You may reference approaches like graph-based recommendation (e.g., neighbor sampling / GNN-style methods) and two-tower models.
5. **Practical concerns**: cold start, bias/leakage, delayed feedback, calibration, exploration vs exploitation, monitoring, and iteration cadence.
Quick Answer: This question evaluates machine learning system design competency for improving ad click-through rate, testing understanding of metrics, end-to-end architecture, training data and embeddings, and operational issues like cold start, bias and delayed feedback within advertising and recommender domains.