Recommender systems are everywhere. Netflix recommends movies, Spotify recommends music, Amazon recommends products, YouTube recommends videos, and social media platforms recommend posts, accounts, and communities.

Most of these systems become better as they collect more information about users and items. They learn what users click, purchase, watch, skip, rate, save, or ignore.

But what happens when there is no history?

What should an application recommend to a user who registered ten seconds ago?

How should an e-commerce platform decide who might be interested in a product that was added five minutes ago?

And what happens when we launch an entirely new platform where there are no users, interactions, ratings, or historical patterns at all?

These situations create what is known as the cold start problem.

Cold start is one of the fundamental challenges in recommender-system engineering because many recommendation algorithms depend heavily on historical interaction data. Understanding cold start is therefore important not only for data scientists, but also for software engineers designing applications that contain personalization, search, ranking, recommendation, or discovery features.

In this article, we will explore what cold start is, where the concept came from, the different types of cold start, how recommender systems handle it, common solutions, and how we can incorporate cold-start strategies into our existing software development process.

What Is Cold Start in Recommender Systems?

What is cold start?

Cold start describes a situation where a recommender system does not have enough information to generate reliable personalized recommendations.

Consider a movie recommendation system.

After a user has watched hundreds of movies, the system may know that the user:

  • frequently watches science-fiction movies,
  • likes Christopher Nolan films,
  • rarely watches romantic comedies,
  • usually watches documentaries on weekends,
  • finishes most space-related movies,
  • and frequently gives thrillers a positive rating.

The recommendation engine has a rich behavioral profile that it can use.

Now imagine another user who has just created an account.

The system knows almost nothing about that person.

There are no:

  • movie views,
  • ratings,
  • searches,
  • likes,
  • skips,
  • watch-time records,
  • or browsing patterns.

The recommendation system is effectively starting from zero.

This is a user cold start.

Cold start can also occur on the other side of the recommendation relationship.

Imagine that a new movie has just been added to the platform.

No users have watched it yet.

If the recommendation algorithm depends primarily on collaborative behavior such as:

People who watched Movie A also watched Movie B

the new movie has no interaction history and therefore cannot easily participate in those calculations.

This is an item cold start.

At its core, cold start is therefore a lack-of-information problem.

Why Does Cold Start Happen?

Many recommender systems learn from relationships between users and items.

Imagine a simplified interaction matrix:

UserMovie AMovie BMovie CMovie D
User 154?2
User 2554?
User 3?451
New User????

The system can detect similarities between Users 1, 2, and 3 because they have provided information through ratings or behavior.

The new user has contributed nothing.

There is no statistical relationship to analyze.

A similar problem occurs with a newly added item:

UserMovie AMovie BMovie CNew Movie
User 1543?
User 2454?
User 3345?

Pure collaborative filtering has very little information with which to determine who should receive the new movie as a recommendation.

This is why cold start is especially problematic for systems that rely heavily on collaborative filtering.

A Brief History of the Cold Start Problem

The cold start problem grew naturally out of the development of collaborative filtering.

Early recommender systems began becoming prominent during the 1990s as researchers looked for ways to help users navigate increasing amounts of online information.

One influential example was GroupLens, introduced in the 1990s for filtering Usenet news articles. GroupLens used collaborative filtering principles: users who had agreed on articles in the past could help predict which other articles they might like in the future.

This approach introduced an obvious dependency:

Collaborative filtering needs collaboration data.

Without ratings, clicks, purchases, or other interactions, there is little information from which relationships can be calculated.

As recommendation research matured, researchers increasingly studied the problem explicitly. A notable milestone was the 2002 paper “Methods and Metrics for Cold-Start Recommendations” by Andrew Schein, Alexandrin Popescul, Lyle Ungar, and David Pennock. The researchers examined recommendations for items that had not yet received ratings and explored methods combining collaborative and content information.

Since then, cold start has remained an important research and engineering problem.

Modern approaches have expanded beyond traditional collaborative filtering and now include:

  • content-based recommendation,
  • hybrid recommendation systems,
  • demographic information,
  • contextual signals,
  • embeddings,
  • neural networks,
  • transfer learning,
  • multi-armed bandits,
  • graph-based recommendation,
  • and increasingly semantic representations generated from text, images, audio, and other content.

Despite increasingly sophisticated algorithms, the fundamental challenge remains unchanged:

How can we make a good prediction when we have very little evidence?

The Main Cold Start Cases

Cold start is often described as two main cases: new user and new item.

In production systems, however, it is useful to think about at least three major categories.

1. New User Cold Start

A new user enters the application without an interaction history.

For example, someone creates an account on a music streaming platform.

The platform does not yet know:

  • preferred artists,
  • favorite genres,
  • listening times,
  • skipped songs,
  • completed songs,
  • playlists,
  • or search behavior.

Collaborative filtering cannot easily identify similar users because there is no behavioral profile to compare.

This is probably the most recognizable form of cold start.

One common solution is to collect a small amount of information during onboarding.

For example:

Choose three genres you like:

  • Rock
  • Jazz
  • Classical
  • Hip Hop
  • Electronic
  • Country

Or:

Choose five movies you enjoyed.

The recommendation engine can immediately use those selections to create an initial preference profile.

Netflix, for example, explains that new profiles may select titles they like to help “jump start” recommendations. If the user does not choose titles, Netflix can initially provide a diverse and popular selection. As the user interacts with the service, behavioral signals increasingly drive recommendations.

This illustrates an important recommender-system principle:

Cold-start recommendations do not have to be perfect. They need to be good enough to encourage the interactions that will improve future recommendations.

2. New Item Cold Start

The second case occurs when a new item enters the catalog.

Examples include:

  • a newly released movie,
  • a new product,
  • a recently published article,
  • a new restaurant,
  • a new job posting,
  • a newly uploaded video,
  • or a new song.

The system may know a lot about existing users but almost nothing about how users will interact with the new item.

For collaborative filtering, this is particularly challenging because the item has no collaborative history.

However, unlike a completely unknown user, items often have useful metadata.

A movie may have:

  • title,
  • genre,
  • director,
  • actors,
  • description,
  • release year,
  • language,
  • keywords,
  • and content rating.

An e-commerce product may have:

  • category,
  • brand,
  • description,
  • price,
  • specifications,
  • color,
  • manufacturer,
  • and images.

A content-based recommender can use these attributes even before anyone interacts with the item.

3. New System or New Community Cold Start

The most extreme cold-start case happens when the recommendation system itself is new.

Imagine launching a new marketplace.

There may initially be:

  • 50 products,
  • 20 customers,
  • very few purchases,
  • almost no ratings,
  • and no meaningful behavioral history.

In this situation, both users and items are cold.

This is sometimes called the new-community problem or system cold start.

Pure collaborative filtering is usually ineffective because the interaction matrix is nearly empty.

Early recommendations may therefore depend heavily on:

  • popularity,
  • curated recommendations,
  • business rules,
  • content similarity,
  • demographic information,
  • contextual information,
  • imported historical data,
  • or external datasets.

As the platform collects interactions, machine-learning models can gradually replace or complement these initial strategies.

Strict Cold Start vs. Partial Cold Start

Cold start does not always mean that absolutely no information exists.

It can exist on a spectrum.

Strict Cold Start

There is essentially no historical information.

For example:

New user:

Clicks = 0
Purchases = 0
Ratings = 0
Searches = 0

Partial Cold Start

A small amount of data exists, but not enough to build a reliable profile.

For example:

Clicks = 3
Purchases = 0
Ratings = 1

Production systems should usually distinguish between these states.

A user with zero interactions may receive popularity-based recommendations.

After three interactions, the system might start blending content-based personalization.

After twenty interactions, collaborative filtering may become reliable.

This creates a progressive recommendation strategy rather than treating every user identically.

How Does a Recommender System Handle Cold Start?

There is no single universal cold-start algorithm.

Instead, systems typically combine several strategies.

Popularity-Based Recommendations

The simplest solution is recommending what is currently popular.

For example:

New User
No history available
Retrieve popular items
Apply basic filters
Return recommendations

Possible signals include:

  • most purchased,
  • most watched,
  • trending,
  • highest rated,
  • most clicked,
  • recently popular,
  • or popular within a geographic region.

Popularity provides a strong baseline because popular items are statistically more likely to appeal to a random user than randomly selected items.

However, it provides limited personalization.

Content-Based Filtering

Content-based systems examine the characteristics of items.

Suppose a user selects:

Interstellar

The system might examine features such as:

Genre: Science Fiction
Director: Christopher Nolan
Topics: Space, Time, Exploration
Release period: 2010s

It can then find similar items.

Content-based recommendation is particularly useful for item cold start because new items may have rich metadata even if they have no interaction history.

Modern systems can also represent content as embeddings.

For example:

Item description
Embedding model
Vector representation
Vector similarity search
Similar items

This can allow a new item to immediately participate in recommendations.

User Onboarding

Instead of waiting for users to generate behavioral signals, we can ask them directly.

Examples include:

  • Select topics you are interested in.
  • Choose five movies you like.
  • Follow at least three creators.
  • Select your favorite categories.
  • Tell us your preferred price range.

The result may become an initial preference vector.

New User
Onboarding Preferences
Initial User Profile
Content Matching
Initial Recommendations

The important UX consideration is not to make onboarding so long that users abandon the application.

There is usually a tradeoff:

More onboarding questions
Better initial personalization
Higher onboarding friction

The best systems collect the minimum amount of information necessary to produce useful initial recommendations.

Demographic and Contextual Information

Some applications can use contextual information such as:

  • country,
  • language,
  • device,
  • time of day,
  • location,
  • age range when appropriate and permitted,
  • selected interests,
  • referral source,
  • current page,
  • or session behavior.

For example:

New User
Language: English
Country: United States
Device: Mobile
Current category: Running Shoes

Even without long-term history, the system can make more useful recommendations than simply returning random products.

Privacy and fairness must be carefully considered whenever demographic information is involved.

Hybrid Recommendation Systems

Hybrid systems combine multiple recommendation strategies.

For example:

Recommendation Score =
Collaborative Score
+ Content Score
+ Popularity Score
+ Context Score

The weights can change depending on how much information exists.

For a new user:

Popularity 50%
Content 35%
Context 15%
Collaborative 0%

After the user generates more activity:

Popularity 10%
Content 25%
Context 10%
Collaborative 55%

This dynamic weighting is extremely useful in production systems.

Research literature frequently identifies hybrid methods as an important way to address cold-start limitations because they can use content or auxiliary information while collaborative data remains sparse.

Exploration and Exploitation

Another important concept is deciding whether to recommend something the system already believes the user will like or experiment with something uncertain.

This is the classic exploration vs. exploitation problem.

Exploitation

Recommend items that already have a high predicted probability of success.

Example:

The user likes Java programming, so recommend another Java article.

Exploration

Occasionally recommend something less certain.

Example:

The user likes Java, but let’s test whether they are also interested in Kubernetes.

If the user clicks the Kubernetes article, the system has discovered an additional preference.

Techniques such as multi-armed bandits can help balance exploration and exploitation.

This is especially valuable for cold start because the recommendation system needs to actively collect information.

Cold Start as a Feedback Loop

One of the best ways to understand the problem is as a feedback loop.

Initial Recommendation
User Interaction
Collect Signals
Update User Profile
Improve Recommendation
More Interaction
More Data
Better Recommendation

Cold start is primarily the challenge at the beginning of this loop.

Once sufficient interactions are collected, the system becomes increasingly personalized.

Therefore, a good cold-start strategy does more than generate useful recommendations.

It should also accelerate learning.

What Signals Should We Collect?

Different interactions have different strengths.

Explicit Signals

The user deliberately tells the system something.

Examples:

  • ratings,
  • likes,
  • dislikes,
  • selected interests,
  • favorites,
  • reviews.

For example:

User rated Item A = 5 stars

This is a strong signal.

Implicit Signals

The application observes user behavior.

Examples:

  • clicks,
  • purchases,
  • watch time,
  • scroll depth,
  • search queries,
  • add-to-cart events,
  • article completion,
  • video completion,
  • repeated views,
  • skips.

For example:

Video started
Video watched for 45 minutes
Video duration = 47 minutes

This may strongly indicate interest even though the user never clicked a Like button.

Modern recommendation systems commonly rely heavily on implicit feedback because it can be collected continuously without requiring additional effort from users.

Example: E-Commerce Cold Start

Imagine an online store.

A new visitor arrives.

There is no profile.

The initial recommendation pipeline might be:

Request
Is user known?
No
Determine current context
Retrieve popular products
Apply category relevance
Apply availability filter
Apply geographic constraints
Rank products
Return recommendations

After the user searches for:

mechanical keyboard

the recommendation strategy changes.

The application now knows something about the current intent.

Recommendations might include:

  • mechanical keyboards,
  • switches,
  • keycaps,
  • wrist rests,
  • keyboard cables.

After additional browsing and purchases, the recommendation engine can transition toward collaborative personalization.

Example: Software Engineering Blog

Cold start is not limited to massive platforms like Netflix or Amazon.

Imagine a technical blog containing articles about:

  • Java,
  • Spring Boot,
  • Kubernetes,
  • AI,
  • databases,
  • software architecture,
  • testing,
  • security,
  • and DevOps.

A completely new visitor arrives.

There is no profile.

The site might initially display:

Most Popular Articles
Trending This Week
Recently Published
Editor's Picks

The visitor reads:

Feature Flags in Software Development

The recommender can now infer interest in:

Software Delivery
DevOps
Release Strategies
Continuous Delivery

The next recommendations could include:

Dark Launches
A/B Testing
Canary Releases
Blue-Green Deployments
Feature Toggles

As the visitor reads more articles, the recommendations become increasingly personalized.

This illustrates an important point:

You do not need enormous amounts of AI infrastructure to implement useful cold-start logic.

Simple business rules combined with good event tracking can provide substantial value.

How Can We Integrate Cold-Start Handling into Our Software Development Process?

Cold start should not be treated as a problem that belongs exclusively to a machine-learning team.

It affects:

  • architecture,
  • UX,
  • APIs,
  • databases,
  • analytics,
  • observability,
  • product design,
  • testing,
  • and deployment.

A practical implementation can be divided into several stages.

Step 1: Define Recommendation Scenarios

First determine where recommendations exist.

Examples:

Homepage recommendations
Related products
Related articles
People to follow
Recommended videos
Recommended jobs
Recommended courses

For each scenario, ask:

What happens if we know nothing about the user?

and:

What happens if the item has no interactions?

These questions should become part of the feature’s requirements.

Step 2: Define Cold-Start States

Instead of simply checking whether a user is new, define meaningful states.

For example:

COLD
0 interactions
EARLY
1–5 interactions
LEARNING
6–20 interactions
WARM
20+ interactions

Your thresholds will depend on the application.

The recommendation service can expose this state internally:

{
"userId": "12345",
"recommendationState": "EARLY",
"interactionCount": 4
}

Different strategies can then be applied.

Step 3: Build a Reliable Fallback

Every recommendation endpoint should have a fallback.

For example:

Personalized Model
Enough data?
↙ ↘
Yes No
↓ ↓
Model Popularity
Results Results

Never allow the application to display:

No recommendations available.

simply because the machine-learning model lacks data.

Fallbacks can include:

  • popular items,
  • trending items,
  • recent items,
  • editor selections,
  • category-based items,
  • or business-curated recommendations.

Step 4: Build an Event Collection Layer

Recommendation quality depends heavily on telemetry.

Create consistent events such as:

ITEM_VIEWED
ITEM_CLICKED
ITEM_LIKED
ITEM_DISLIKED
ITEM_PURCHASED
ITEM_SKIPPED
SEARCH_PERFORMED
ITEM_SAVED
ITEM_COMPLETED

An event might look like:

{
"event": "ITEM_VIEWED",
"userId": "12345",
"itemId": "98765",
"timestamp": "2026-08-26T18:30:00Z",
"context": {
"source": "recommendation",
"position": 3
}
}

These events become the raw material for future personalization.

Step 5: Create Item Metadata

Good item metadata dramatically improves item cold start.

Depending on the application, metadata might include:

category
tags
description
keywords
author
brand
language
price
topics
location
creation date

For text-heavy applications, embeddings can supplement manually assigned metadata.

For example:

Article published
Generate embedding
Store vector
Find semantically similar articles
Article immediately becomes recommendable

The item does not need to wait for thousands of clicks before appearing in useful recommendations.

Step 6: Add a Recommendation Service

Avoid embedding recommendation logic directly throughout the frontend.

Create a clear service boundary.

For example:

Frontend
Recommendation API
Recommendation Strategy
├── Cold User Strategy
├── Early User Strategy
├── Personalized Strategy
├── Cold Item Strategy
└── Fallback Strategy

An API might look like:

GET /api/recommendations?userId=123&type=homepage

Internally:

RecommendationService
Determine user state
Select strategy
Generate candidates
Rank candidates
Apply business rules
Return results

This architecture makes algorithms easier to evolve without rewriting the user interface.

Step 7: Use the Strategy Pattern

Cold-start logic is a good candidate for the Strategy Pattern.

Conceptually:

RecommendationStrategy
├── PopularityRecommendationStrategy
├── ContentRecommendationStrategy
├── CollaborativeRecommendationStrategy
└── HybridRecommendationStrategy

The system selects a strategy depending on available data.

For example:

if (interactionCount == 0) {
return popularityStrategy.recommend(user);
}
if (interactionCount < 10) {
return contentStrategy.recommend(user);
}
return hybridStrategy.recommend(user);

Real implementations will usually be more sophisticated, but this architecture separates concerns effectively.

Step 8: Separate Candidate Generation from Ranking

Production recommender systems often use two broad stages.

Candidate Generation

Retrieve potentially relevant items.

Examples:

Popular items
Similar items
Collaborative candidates
Recently trending items
Semantic matches

Perhaps this generates:

10,000 candidates

Ranking

A ranking model determines which candidates are most useful.

10,000 candidates
Ranking
Top 20 recommendations

Cold-start strategies can participate in candidate generation alongside mature recommendation models.

This provides flexibility.

Step 9: Measure Cold Users Separately

One common mistake is evaluating the entire recommendation system with a single metric.

Suppose the average click-through rate is:

CTR = 8.3%

That number hides important information.

Instead measure:

Cold users: 3.1%
Early users: 5.8%
Warm users: 11.2%

Similarly, measure new items separately.

Useful metrics include:

  • click-through rate,
  • conversion rate,
  • watch time,
  • engagement rate,
  • precision,
  • recall,
  • NDCG,
  • coverage,
  • diversity,
  • novelty,
  • time to first interaction,
  • time to warm state.

One particularly useful product metric is:

How quickly does a user leave the cold-start state?

For example:

Median time to 5 meaningful interactions = 18 minutes

Reducing this time may improve the entire recommendation system.

Step 10: Use A/B Testing

Cold-start strategies should be experimentally evaluated.

For example:

Variant A

Popular Items

Variant B

Onboarding Interests + Popular Items

Variant C

Onboarding + Content Recommendations

Then compare:

CTR
Session duration
Conversion
Retention
Number of interactions
Cold-to-warm transition time

The technically most advanced algorithm is not necessarily the best product experience.

Step 11: Monitor Recommendation Quality

Recommendation systems can degrade silently.

Monitor signals such as:

Recommendation API latency
Empty recommendation rate
Fallback usage rate
Cold-user percentage
Cold-item percentage
CTR
Conversion
Model confidence
Candidate count

A particularly useful metric is:

fallback_rate

If it suddenly increases from:

5%

to:

60%

the personalized recommender may have failed even though the API continues returning HTTP 200 responses.

Step 12: Continuously Improve the Model

A recommendation architecture should allow gradual evolution.

Phase 1

Popularity

Phase 2

Popularity + Categories

Phase 3

Content-Based Recommendation

Phase 4

Collaborative Filtering

Phase 5

Hybrid Recommendation

Phase 6

Embeddings + Learned Ranking

Phase 7

Exploration + Continuous Learning

This approach is usually more practical than attempting to build a sophisticated AI recommender before enough data exists.

A Practical Architecture

A simplified production architecture might look like this:

                User
                  ↓
             Application
                  ↓
        Recommendation API
                  ↓
        Recommendation Router
          ↙        ↓        ↘
    Cold User   Warm User   Cold Item
       ↓            ↓           ↓
   Popularity   Collaborative  Content
   + Context      Filtering    Similarity
          ↘        ↓        ↙
          Candidate Generator
                  ↓
                Ranker
                  ↓
           Business Rules
                  ↓
          Recommendations
                  ↓
             User Actions
                  ↓
             Event Stream
                  ↓
          Analytics / Storage
                  ↓
            Model Training

The key principle is that cold-start handling should be part of the architecture rather than an emergency fallback added later.

Common Mistakes

Several mistakes frequently appear when teams first implement recommender systems.

Random Recommendations

Random recommendations may provide diversity, but pure randomness generally creates poor user experiences.

Use popularity, context, or content similarity as a baseline.

Waiting for Enough Data

A team may say:

We will implement recommendations after we have enough data.

But recommendations themselves can generate the interactions needed for better recommendations.

Start with simple strategies and evolve them.

Too Much Onboarding

Asking users to rate 50 items may improve the initial profile but dramatically increase abandonment.

Ask for a small number of high-information preferences.

Ignoring New Items

A recommender that heavily favors items with historical interactions can create a self-reinforcing system:

Popular Item
More Recommendations
More Clicks
More Training Data
Even More Recommendations

Meanwhile:

New Item
No Interactions
No Recommendations
Still No Interactions

The new item never gets an opportunity to become popular.

Exploration strategies and content-based recommendation can help break this cycle.

Using Only Accuracy

A recommendation engine that always recommends extremely popular products may achieve respectable click-through rates while offering little discovery.

Evaluate:

  • diversity,
  • novelty,
  • catalog coverage,
  • fairness,
  • and exposure,

in addition to accuracy.

Treating Cold Start as Only an ML Problem

Cold start affects the entire product.

Solutions can include:

UX
+
Data Collection
+
Backend Architecture
+
Business Rules
+
Machine Learning
+
Experimentation

Sometimes a simple onboarding screen can solve more of the problem than another six months of model development.

Best Practices

When designing cold-start handling, consider the following principles.

Always provide a fallback.

The recommendation system should produce something useful even if personalization fails.

Collect useful signals early.

Clicks, searches, views, skips, likes, and purchases quickly improve user understanding.

Keep onboarding short.

Collect enough information to get started without creating excessive friction.

Invest in item metadata.

Good metadata makes new items immediately usable by content-based systems.

Use hybrid approaches.

Do not force one algorithm to solve every recommendation scenario.

Separate cold and warm users.

Different information states require different strategies.

Allow exploration.

New users and new items require opportunities for the system to learn.

Measure cold-start performance separately.

Average recommendation metrics can hide serious cold-start problems.

Design cold start from the beginning.

Do not assume the recommendation model will somehow solve it automatically.

Cold Start and Modern AI

Modern AI does not eliminate the cold-start problem, but it gives us more tools to reduce it.

For example, large language models and embedding models can extract meaningful representations from:

  • text,
  • product descriptions,
  • documentation,
  • reviews,
  • images,
  • user queries,
  • and other unstructured content.

Consider a newly published article titled:

Understanding Event-Driven Architecture with Apache Kafka

Even if nobody has read it yet, an embedding model may recognize semantic relationships with existing content about:

Kafka
Message Queues
Microservices
Event-Driven Architecture
Distributed Systems
Asynchronous Communication

The article can immediately become a recommendation candidate.

Similarly, modern neural approaches can combine user attributes, item attributes, contextual signals, and behavioral histories in a single learned representation. Neural networks and hybrid approaches continue to be actively researched as methods for dealing with sparse and cold-start recommendation scenarios.

However, AI does not change the fundamental principle.

If the system knows nothing about the user, it must obtain useful information from somewhere.

That information might come from:

User onboarding
Context
Item content
Population behavior
External knowledge
Session behavior
Exploration

Cold start is fundamentally an information problem.

Final Thoughts

The cold start problem is one of the most important practical challenges in recommender systems.

Recommendation algorithms become powerful when they have rich interaction histories, but every user, item, and platform starts somewhere.

The three major cold-start cases are:

  1. New User Cold Start — the system does not yet understand the user’s preferences.
  2. New Item Cold Start — the system does not yet know how users will react to a newly added item.
  3. New System or Community Cold Start — there is not enough historical information about either users or items.

There is no single algorithm that completely solves these problems.

Successful systems typically combine techniques such as:

Popularity
+
Content-Based Recommendation
+
Onboarding
+
Context
+
Collaborative Filtering
+
Hybrid Models
+
Embeddings
+
Exploration

From a software engineering perspective, perhaps the most important lesson is that cold start should be considered during system design rather than after a recommendation model has already been built.

We should define:

What happens with zero data?
What happens with limited data?
What happens with sufficient data?

Then create different strategies for each state.

A mature recommender system does not simply contain an intelligent model.

It contains an intelligent transition from knowing nothing to knowing enough.

And that transition is exactly what solving the cold start problem is about.