ML Systems Lab Open interactive version →
Intermediate 30 min read cold startRecSysexplorationcontent-based

Cold-Start Strategies

New user, new item, new platform — bootstrapping without interaction history

Collaborative filtering learns from interactions — so it has nothing to say about a user who just signed up or an item posted a minute ago. Cold start is the systematic failure mode of every recommender, and interviewers probe it because the naive design silently serves garbage to exactly the users and creators you most want to keep.


Three distinct cold-start problems, three different fixes. *New user:* no history → fall back to context (device, geo, time), onboarding signals (a quick interest picker), and demographic/popularity priors, then update a real-time embedding fast from the first interactions. *New item:* no interactions → lean on content features (text, image, audio, creator) via a content-based or two-tower model that embeds items from features alone, so a brand-new item lands near similar known items. *New platform:* no data at all, for any user or item → run the New-user and New-item playbooks simultaneously across the whole catalog until enough interactions accrue to bootstrap collaborative signal (the flywheel's ignition problem).


Trace one new item through the pipeline to see why exploration is the expensive part, not the model. A video posted at t=0 has zero interactions, so the two-tower item model embeds it from title, thumbnail, and creator features alone — that's what makes it retrievable at all, not what makes it good. Say this feed slot serves 1,000,000 impressions a day and established items there average a 7% click-through rate. The platform reserves 2% of that traffic — 20,000 impressions a day — as an exploration bucket split across every currently-cold item, and on day one this item draws 1,000 of those impressions. It records 28 clicks: a 2.8% CTR, far under the 7% baseline. Those 1,000 impressions, had they gone to an established 7%-CTR item instead, would have produced about 70 clicks — so this one item alone cost roughly 42 foregone clicks on day one, spent to learn it's probably not a hit. Multiply across the whole 20,000-impression bucket at a similar ~3% bucket-wide CTR and the platform is paying about 800 clicks a day, system-wide, just to keep the door open for every cold item to prove itself.


That foregone-click number is the actual price of cold start, and it buys a decision rule. Once an item has accumulated enough exploration impressions to pin down its real CTR — a few thousand, not a handful — items clearing something near the established baseline graduate into standard ranking, where they now compete on measured performance instead of a content-based guess; items sitting well below it get starved back down to a token allocation. Framed as a bandit, this is exactly the exploration-exploitation tradeoff: a pure-exploitation system would never spend those 800 clicks a day, would never learn anything about a cold item, and would leave every new item invisible forever.

Key points

Takeaway

Cold start is three separate problems (new user / new item / new platform) unified by one cause — no interaction history — and solved by two levers: content-based embeddings that represent entities from features alone, and deliberate exploration that spends present engagement to buy the signal collaborative filtering needs.

Recap

Check your understanding

Q1. Select the two correct elements of a fix for new video uploads getting almost no impressions (item cold start).

Q2. Why does a pure-exploitation recommender never solve item cold start on its own, regardless of model quality?

Q3. For a brand-new user with zero history, which combination is the sound first-session strategy?

Q4. An exploration bucket reserves 2% of a 1,000,000-impression daily feed slot for cold items (20,000 impressions/day). The bucket runs at a 3% CTR against a 7% established-item baseline. What is the daily cost of running this bucket, in foregone clicks?

Try it interactively

ML Systems Lab is a free interview-prep platform for ML engineers — work through the full interactive module, quizzes, and drills.

Open ML Systems Lab →