~/learn/ML System Design · Monitoring & feedback loops
Feedback loops & cold start
The model shapes its own future training data — plan for it.
why this matters
Feedback loops and cold start show up in every recommendation interview's final minutes.
Feedback loop: the model decides what users see, users can only click what they see, and those clicks become the next training data. Popular items get shown more, get clicked more, and become even more popular — while good niche items never get a chance.
Cold start: new users have no history and new items have no interactions. Solutions: use content features (text, image, category embeddings), ask onboarding questions, fall back to popularity by region or segment, and reserve exposure for new items.
The loop
model ─► shown items ─► user clicks ─► training data ─┐ ▲ │ └───────────────────── retrain ◄─────────────────────┘
Break the loop with exploration: show a small share of items the model is unsure about. Epsilon-greedy shows a random item with probability ε (say 5%); Thompson sampling and UCB bandits explore items with high uncertainty. Log the probability each item was shown so you can correct the bias later.
Interview trap
Exploration has a short-term cost (some worse recommendations). Present it as an investment in long-term quality and fairness to new creators.
Pro tip
Keep a small random 'holdout' slice of traffic: its unbiased data is gold for evaluating and debugging future models.
key takeaways
- Models shape their own training data.
- Use content features and popularity for cold start.
- Explore a little and log exposure probabilities.
check your understanding
What's a good way to recommend items to a brand-new user?