In this article
  1. Before you start
  2. Why interviewers ask this
  3. The cold start problem from first principles
  4. Worked example
  5. Trade-offs and edge cases
  6. How to answer it in an interview
  7. Common mistakes
  8. Follow-up questions
  9. Sources

Before you start

This page belongs to the machine learning (ML) system design guide.

Why interviewers ask this

A recommender that works for existing users and silently shows nothing new fails the day the catalogue changes, and new items are the lifeblood of a feed. Interviewers ask about cold start in system design rounds, usually as "how do you recommend an item with no clicks", "what do you show a user on day one", and "how much traffic do you spend on exploring". It separates a candidate who has only trained a model from one who has thought about what a live system sees.

A weak answer says "use content-based recommendations". A strong answer names which cold start it is, prices the data that is missing, uses content only as a bridge, explores deliberately and says how the system hands over to interaction data.

The cold start problem from first principles

In plain words

Cold start problem
The cold start problem is the failure of a recommender to give good results for a user, item or system that has little or no interaction history. It is the same gap in all three cases: the learned signal is missing.
Content-based recommendation
Content-based recommendation is a method that scores an item by how closely its own attributes, such as text, category or image features, match what a user has liked. It needs no interactions on the new item itself.
Thompson sampling
Thompson sampling is an exploration rule that draws a random value from the current belief about each option's quality and shows the option with the highest draw. Uncertain options get drawn high often enough to be tried.

Think of a new restaurant in a town with a review site. Regulars have a history the site can learn from. The new place has no reviews, so the site cannot rate it. It can describe the menu, which is content, and it can send a few diners to find out, which is exploration.

The analogy breaks at the cost: a restaurant gets reviews slowly, while a recommender can show an item thousands of times in an hour.

In one precise sentence, cold start is a shortage of interaction data, and the cure is to borrow information from content and from deliberate exposure until the interactions arrive. Collaborative filtering, the method that recommends by the behaviour of similar users, is exactly what cold start breaks.

Step 1: Name which cold start you have

A new user, a new item and a new system are three different problems, and each lacks a different thing. A new user has no history, so the system cannot tell what to show. A new item has no clicks, so collaborative filtering cannot place it. A new system has neither, and is the hardest case.

For a new user, the standard first tools are not exotic. Show what is popular in their context, such as country, device or the page they arrived from; popularity is the right default here, because the items it ranks do have history. Add a short onboarding step where the user picks a few interests, and update the ranking within the session after each click or skip. Together these answer "what do you show on day one".

Schein et al. (2002) frame the item case as recommending items that no one in the community has yet rated, and propose combining content and collaborative data in one probabilistic framework. The input to this step is the product question, "what is missing?". The output is the choice of first tool, shown in the table figure below.

Step 2: Why waiting for data costs thousands of impressions

Waiting for interactions is expensive because a click rate is a proportion, and a proportion estimated from few views is noisy. The standard error measures that noise: it is the typical distance between the measured rate and the true one. With a true rate of 5 percent, 100 impressions give a standard error of 0.0218, which is 43.6 percent of the rate itself, and 10,000 impressions give 0.00218, or 4.4 percent1.

Solving for a precision target: to know the rate to within 10 percent of itself at 95 percent confidence, a new item needs about 7,299 impressions; to within 50 percent, about 2921. These come from the normal approximation, which treats the measured rate as bell-shaped around the true one, so treat them as guides. The consequence is that a system with 1,000 new items a day and a 50 million impression day would spend about 7.3 million impressions, 14.6 percent of traffic, just on measuring them, if each item were measured this tightly. That is why the choice of how to explore matters more than whether to.

Step 3: Start from content and scale to a bridge

Content features give a new item a score on day one, because they do not depend on its history. Google's recommendation course describes content-based filtering as recommending items similar to what a user already likes, and embeddings as placing similar items close in a shared space (Google for Developers, updated 2025-08-25). The same page notes that rarely seen items may not be updated often in training and suggests careful embedding initialisation and regularisation.

The hit rate at 5 is the share of users whose true favourite item appears in the top 5 of the ranking. In our seeded simulation (illustrative: 400 synthetic profiles, 300 warm items, 20 cold ones, item features that fully determine taste), a popularity ranker (ranking by past click count) places the user's true favourite cold item in its top 5 for 24.5 percent of users, the same as random at 24.75 percent, because every cold item has zero count. A profile built from the features of a user's ten liked items hits 97.75 percent1. Real features capture taste less cleanly, so treat the gap as an upper bound.

Step 4: Explore deliberately, then hand over to interactions

Exploration spends a controlled amount of traffic to learn about uncertain items, and a hybrid model then takes over as data arrives. Li et al. (2010) model news recommendation as a contextual bandit, a setting in which each choice is made from context and learned from click feedback, and report a 12.5 percent click lift over a context-free bandit on a dataset of over 33 million events, with the advantage larger when data is scarcer. Russo et al.'s tutorial presents Thompson sampling, which balances using current knowledge against gathering information.

For the handover, DropoutNet (NeurIPS 2017) trains a latent model (one that describes users and items by hidden numeric factors) with dropout (randomly hiding inputs during training) so it learns to work when interaction data is missing, changing the training procedure rather than adding content terms. A hybrid recommender is a system that combines content-based and interaction-based scores: content-based scores carry a new item at first, interaction-based scores take over as clicks accumulate, and a simple rule such as weighting by the number of impressions seen moves the balance. The output of this step is a recommender that uses content at first and interactions later, without a switch that users notice.

Cold start is solved by naming it, pricing it and bridging itFour stages: name which cold start you have, count the impressions a new item needs, score from content features, then explore and hand over to interaction data.Name ituser, item,systemPrice it7,299impressionsContentfirst scoreExploretheninteractionsDiagram: Interview Clozo, CC BY 4.0 ·interview.clozo.ai/blog/cold-start-problem-recommender-systems.html

Name which cold start you have, price the data you lack, bridge it with content and exploration, then hand over to interactions.CC BY 4.0 — source: What is the cold start problem in recommender systems, and how do you solve it?
Step-by-step description
  1. New user, new item or new system.
  2. A click rate needs thousands of impressions.
  3. Content features give a first score.
  4. Explore, then lean on interactions.
  • A new item needs about 7,299 impressions to know a 5 percent click rate within 10 percent.
  • Content features give a new item a first score.
  • Exploration and a hybrid model hand over to interaction data.
Each cold start lacks something different and needs a first toolTable of three cold starts: a new user lacks history, a new item lacks interactions, a new system lacks both, with the first tool for each.CaseWhat ismissingFirst toolNew userTheir historyContext-popular,onboardingNew itemIts interactionsContent,explorationNew systemBothContent, thenexploreDiagram: Interview Clozo, CC BY 4.0 ·interview.clozo.ai/blog/cold-start-problem-recommender-systems.html
Pick the first tool by what is missing: user history, item history or both.CC BY 4.0 — source: What is the cold start problem in recommender systems, and how do you solve it?
Text description of the diagram
  • A new user lacks history.
  • A new item lacks interactions.
  • A new system lacks both and is the hardest case.

Knowing it is half the job. Saying it is the other half.

Interview Clozo is an AI interview copilot for real interview rounds: it hears the question and puts a strong answer on your screen, and you say it in your own words. See the features or how it works.

Start Free Trial →

Worked example

With one established item at a 5 percent rate and one new item at 8 percent, Thompson sampling gave the new item 99.7 percent of 20,000 impressions, and greedy never showed it.
StrategyShare of impressions to the new itemClicks in 20,000 impressions
Greedy (new item starts at zero)0.0%1,048
Epsilon-greedy, 5% random77.8%1,530
Thompson sampling99.7%1,621

The setup is illustrative: an established item whose rate of 0.05 is known, and a new item with a true rate of 0.08 that the system does not know, over 20,000 impressions with seed 3. Greedy compares estimates and the new item starts with none, so it is never tried; epsilon-greedy shows a random item five percent of the time and then follows the measured rates; Thompson sampling draws from a Beta belief (a probability distribution over the click rate that starts flat and narrows with each click or miss)1. The expected clicks if the better item were always shown are 1,600, and one random run gave 1,621, which is within noise of it.

Quotable checks for a cold-start calculation, all computed.
CheckValue
Density of 1 million users, 100,000 items and 50 million interactions0.0005 (0.05 percent)
Interactions per user and per item in that example50 and 500
Impressions for a 10 percent relative error at a 5 percent rate7,299
Impressions for a 50 percent relative error292
Share of a 50 million impression day to measure 1,000 items14.6 percent
Hit rate at 5 on cold items: popularity against content profile0.245 against 0.9775
Content features rank new items where popularity cannotBar chart of the share of users whose true favourite cold item is in the top 5 of 20: random 0.2475, popularity 0.245 and content profile 0.9775 in a seeded simulation.Hit rate at 5 (fraction)00.250.50.751RandomPopularityContentRanker0.24750.2450.9775Diagram: Interview Clozo, CC BY 4.0 ·interview.clozo.ai/blog/cold-start-problem-recommender-systems.html
Popularity cannot rank new items; content features can, if they capture taste.CC BY 4.0 — source: What is the cold start problem in recommender systems, and how do you solve it?
Text description of the diagram
  • Random places the favourite in the top 5 for 24.75 percent of users.
  • Popularity does so for 24.5 percent because every new item has zero count.
  • A content profile does so for 97.75 percent in this simulation.

The density row shows why cold start is the normal state: with 0.05 percent of the user-item matrix filled, the average item has 500 interactions, but a new one has none1.

Exploration finds the better new item that greedy never triesBar chart of clicks in 20,000 impressions for an established item at 5 percent and a new item at 8 percent: greedy 1,048, epsilon-greedy 1,530 and Thompson sampling 1,621.Clicks (clicks)05001,0001,5002,000GreedyEpsilon-greedyThompsonStrategy1,0481,5301,621Diagram: Interview Clozo, CC BY 4.0 ·interview.clozo.ai/blog/cold-start-problem-recommender-systems.html
A greedy rule never tries the new item; exploration finds that it is better.CC BY 4.0 — source: What is the cold start problem in recommender systems, and how do you solve it?
Text description of the diagram
  • Greedy gave the new item no impressions and got 1,048 clicks.
  • Epsilon-greedy got 1,530 clicks.
  • Thompson sampling got 1,621 clicks.

Trade-offs and edge cases

Every cold-start fix trades a small present cost for later information, and the right mix depends on how quickly items expire and how costly a bad impression is. Exploration costs clicks while it learns. Content features cap quality, because two items with the same description can differ in taste. A hybrid adds complexity and a second training path. Reported practice differs on how much traffic to reserve for exploration, so give the reasoning, not one number, in an interview.

Three edge cases recur. First, a feedback loop: items that are shown get clicks and items that are not shown never do, so a system that never explores freezes its catalogue. Second, a new user may provide a little context, such as a country or one chosen interest, and a good design uses it at once, with popular-in-context items as the default. Third, evaluation: measure cold-start items as their own slice, since an average over all items hides them. Held-out tests on warm items say nothing about cold ones. See the system design guide for evaluation in a full design round.

How to answer it in an interview

Interviewer asks

How would you handle cold start in a recommender?

A strong answer

I would first say which cold start it is: new user, new item, or a new system. For a new user I would show popular items in their context, ask for a few interests and update within the session. For a new item I would score it from content features, such as text or image embeddings, so it gets a reasonable first estimate. Then I would reserve some traffic to explore with Thompson sampling, because a click rate needs thousands of impressions to settle. As clicks arrive, the model leans on interactions more. I would track cold items as a separate slice, since averages hide them.

The spoken structure is: name the case, give the content bridge, say how you explore and why it costs traffic, then say how you measure it.

Common mistakes

  • "Popularity is useless in cold start" or "use popularity for new items" (both wrong). Popularity is the right default for a new user, but a new item has zero popularity, so it cannot rank a new item (right: popular-in-context for users; content features, then exploration for items).
  • "Cold start only affects new users" (wrong). New items and new systems are separate cases with different tools (right: name which one).
  • "Content-based filtering solves it" (wrong). It gives a first score but caps quality at what the features capture (right: treat it as a bridge to interaction data).
  • "Explore a fixed 10 percent forever" (wrong). The cost of uncertainty falls as impressions accumulate, so exploration should shrink (right: let the uncertainty drive it).
  • "Report one average metric" (wrong). Warm items dominate it and hide cold ones (right: report cold items as their own slice).

Follow-up questions

How to solve cold start problem?

Name the case, score new items from content features, explore with a rule such as Thompson sampling, and let the model move to interaction data as it arrives. Methods such as DropoutNet train a model to cope with missing interaction data directly.

How do you manage interaction data that you don't have a lot of, like comment or reshare data?

Treat sparse signals as weaker, not absent: combine them with denser ones such as views and clicks, and fall back on content features where they are empty. The 0.05 percent density in the example shows how sparse real matrices are.

What is the difference between a new-user and a new-item cold start?

A new user lacks history, so the system lacks a taste profile, while a new item lacks interactions, so collaborative methods cannot place it. The first is helped by context and a few quick choices, the second by content and exploration.

How much traffic should exploration take?

Enough that new items reach a useful measurement, no more. At a 5 percent rate, about 7,299 impressions give 10 percent precision, so a platform with many new items can spend a large share of traffic; weigh that against the cost of showing a worse item, as in the probability background of the estimate.

How do you evaluate a recommender on cold-start items?

Report them as a separate slice with their own hit rate or click rate, and compare against a content-only baseline. In our simulation popularity scored 0.245 on cold items and a content profile 0.9775, a gap an overall average would have hidden. See deep learning for the models behind such scores.

Key takeaways
  • Cold start is a shortage of interaction data for a new user, new item or new system, and each case needs a different first tool.
  • A click rate of 5 percent needs about 7,299 impressions to be known within 10 percent, so waiting for data is costly.
  • Content features give a new item a first score, but they cap quality at what the features capture.
  • Exploration, for example Thompson sampling, finds better new items that a greedy rule never tries.
  • Hand over from content to interactions as data arrives, and report cold items as their own slice.

Sources

  1. Methods and metrics for cold-start recommendations (SIGIR 2002, pp. 253-260; DOI 10.1145/564376.564421) — ACM (Schein, Popescul, Ungar, Pennock; conference start date; summary read from the University of Pennsylvania repository listing, 2026-10-24), 11 Aug 2002
  2. DropoutNet: Addressing Cold Start in Recommender Systems — NeurIPS 30 (Volkovs, Yu, Poutanen; year 2017, month of the conference), 4 Dec 2017
  3. A Contextual-Bandit Approach to Personalized News Article Recommendation (arXiv 1003.0146 v2) — arXiv (Li, Chu, Langford, Schapire), 28 Feb 2010
  4. A Tutorial on Thompson Sampling (arXiv 1707.02038 v3) — arXiv (Russo et al.), 7 Jul 2017
  5. Recommendation systems: candidate generation overview — Google for Developers (page updated 2025-08-25), 25 Aug 2025