×marble
all posts
May 24, 2026·14 min read

Day-Zero vs. Day-One Recommenders: Why Cold Start Is an Architecture Problem, Not a Patch

Most recommender systems are designed for users who already exist in your data. We break down what changes architecturally when you treat the first session as the primary design constraint — not an afterthought.

Alex Shrestha·Founder, ×marble

Day-Zero vs. Day-One Recommenders: Why Cold Start Is an Architecture Problem, Not a Patch

TL;DR.

  • Day-one recommenders optimize for users with history — co-occurrence matrices, user towers, and session signals all require a warm start to function; strip that assumption and you have a different problem, not a degraded version of the same one.
  • Day-zero personalization treats the first session as the primary design constraint, using item-side knowledge graphs, cross-modal priors, and synthetic user clones to infer preference before any explicit interaction.
  • The standard cold-start patches — popularity fallback, demographic bucketing, onboarding questionnaires — create taste debt that compounds downstream, poisoning the very signal stream your day-one model will eventually consume.
  • In 2026, LLM-augmented zero-shot preference inference is a credible day-zero mechanism, but it does not eliminate the need for a day-zero-specific architecture — it just improves candidate quality on that path.
  • If you only remember one thing: cold start is not a bug in your recommender — it is proof that your recommender was built for a different user.

Every recommender system has a default assumption baked into its architecture: the user has been here before. Not explicitly — nobody writes if user.history.empty(): raise ColdStartException — but implicitly, in every design decision from loss function to serving infrastructure. Matrix factorization needs co-occurrence. Two-tower models need a user embedding trained on past interactions. Sequential models need a sequence. Strip those assumptions away and you are not left with a degraded version of the same system. You are left with a different problem entirely, which requires a different architecture to solve.

The distinction matters because new users are not rare. Depending on your growth rate and churn curve, 20–60% of active users on any given day may have fewer than five interactions in your system. For products with high organic acquisition — content platforms, B2C apps, marketplaces — the day-zero cohort is often the most important cohort to get right, both because first impressions drive activation and because the feedback collected in the first session seeds everything downstream. Getting day-zero wrong does not just hurt day-zero. It creates a poisoned signal stream that degrades day-seven and day-thirty too.

What Is the Difference Between a Day-Zero and a Day-One Recommender?

The difference is not latency, scale, or model complexity. It is the assumed signal budget at inference time.

A day-one recommender — the default architecture taught in every ML course and implemented in every open-source RecSys framework — assumes that at inference time you have at minimum a sparse user-item interaction vector, typically much more. Collaborative filtering (Koren et al., 2009) finds users similar to the current user based on shared history. Two-tower retrieval (Yi et al., 2019) encodes user history into a dense embedding and finds nearest neighbors in item space. Transformer-based sequential models attend over a user's interaction sequence. All of these are built for a user who already exists in your interaction matrix.

A day-zero recommender assumes the signal budget at inference time is near zero. What you have: device metadata, referral context, onboarding inputs (if any), and the first few seconds of behavioral signal from the current session. The architectural challenge is not "how do we handle the occasional new user gracefully" — it is "how do we build a system where the day-zero path is the primary inference path, not an exception handler."

The key properties that separate the two architectures:

Signal source. Day-one systems read from user history; day-zero systems read from item-side knowledge graphs, cross-modal metadata, and population-level priors that do not require the user to have any history at all.

Model center of gravity. Day-one systems are anchored by learned user representations; day-zero systems are anchored by item representations and transferable preference signals — from similar users at their own day-zero, or from structured world knowledge that exists independent of any user.

Optimization target. Day-one systems optimize for exploitation — they serve what they predict will maximize engagement given known preferences. Day-zero systems must optimize for structured exploration — not random, but calibrated to resolve preference uncertainty as fast as possible.

Latency profile. Day-zero inference often runs on the critical path of onboarding UX, where p99 latency directly affects activation rates. This constrains the inference budget in ways day-one systems rarely face in practice.

Why Cold-Start Patches Do Not Fix the Architecture Problem

The standard industry response to cold start is to apply patches on top of a day-one system. Schein et al. (2002) catalogued the canonical approaches early and they have changed surprisingly little in 25 years. Each has a specific failure mode that compounds rather than resolves.

Popularity fallback. Serving top-N globally popular items to new users sounds reasonable until you realize popular items are popular precisely because they appeal to the median user — which means they are miscalibrated for anyone at the tails of the preference distribution. Worse, popularity-biased recommendations become training signal. The user interacts with popular items, the model learns that this user likes popular things, and the user is trapped in a popularity feedback loop that is hard to escape even after they have generated enough history for the day-one model to theoretically do better. This is taste debt: the early wrong recommendations cost more to correct than they would have cost to avoid.

Demographic bucketing. Assigning new users to coarse demographic segments (age range, geography, device type) works only when preference is strongly predicted by demographics — which for most content domains it is not at the granularity that makes recommendations feel personal. Two 26-year-olds in Berlin may share a demographic bucket but have almost no content overlap. The bucket also encodes whatever biases exist in historical data, compounding unfairness for underrepresented groups, and increasingly triggering scrutiny under the EU AI Act's transparency requirements for automated decision-making.

Onboarding questionnaires. Asking users to pick favorite genres at signup reduces cold start at the cost of activation friction. The signal collected is also often noisy — users select aspirational preferences rather than behavioral ones. Someone who picks "documentary" on a video platform may watch reality TV 80% of the time; the questionnaire captured self-image, not taste. Drop-off during multi-step onboarding quizzes consistently runs at 20–40% in consumer apps, meaning the users you most want to understand are the ones least likely to complete the flow.

Hybrid content-based filtering. Using item features rather than user history sidesteps the cold-start problem for items but still requires some user-side signal to weight those features. With zero behavioral signal, content-based filtering degenerates to serving items semantically similar to the user's search query or arrival context — which is better than random but is navigation, not personalization.

The underlying issue: all of these patches treat the new user as a degraded version of the existing user. They ask "what is the best we can do with less data?" rather than "what architecture is designed for this signal budget from the start?"

How Day-Zero Recommenders Are Structured Differently

A day-zero recommender is not a day-one recommender with a cold-start module bolted on. It is a system designed around a different inference contract — one that delivers useful recommendations before any interaction loop has closed.

1. Item-side knowledge graphs as the primary retrieval index

When you have no user history, you can still reason richly about items — their metadata, their relationships to other items, the entities they reference, the concepts they embody. Knowledge graph approaches like KGAT (Wang et al., 2019) and RippleNet (Wang et al., 2018) encode items as nodes where edges represent semantic and behavioral relationships. This graph is independent of any individual user's history — it encodes world-knowledge about the item space itself.

At inference time for a new user, the system does not need user history. It needs a starting node — which can be seeded by arrival context, referral source, or first-session behavior. From that seed, it traverses the graph to find items that are relationally proximate without requiring co-occurrence in user data. A user who arrives via a link to a specific article seeds a node; the graph traversal surfaces related items across modalities (other articles, related audio, adjacent topics) that a pure collaborative filter would never surface for a zero-history user.

2. Cross-modal signal fusion

A user with no interaction history may have an interpretable signal profile when you consider cross-modal context in combination. The content they arrived via, the device, time-of-day, the first item they paused on, the query that brought them — each is a weak signal, but combinatorially they can resolve significant preference uncertainty. Day-zero architectures explicitly model this fusion as a Bayesian update: start from a population prior derived from the knowledge graph's structure, update on each weak signal, serve from the resulting posterior. The prior is not demographic — it is a distribution over preference space.

3. Calibrated exploration over the item graph

Exploitation at day-zero is exactly the wrong policy. An exploitation-heavy model at day-zero serves items predicted to maximize engagement for the average user — which is the popularity-bias trap again. Day-zero systems should select items that are maximally informative about which region of preference space the user occupies. This requires knowing which item dimensions are most discriminative for preference — a property you can derive from the knowledge graph's topology (high-betweenness nodes separate preference clusters) — and selecting items at those discriminative positions. Good exploration at day-zero means faster convergence on day-three and day-seven, not a worse experience now.

The Role of Synthetic User Clones in Day-Zero Systems

Synthetic user clones are one of the most powerful mechanisms in day-zero personalization, and also the most commonly misunderstood. A synthetic clone is not a fabricated user profile. It is a probabilistic projection: given a new user's sparse day-zero signals, what is the distribution over "users who looked like this at day-zero and then converged to a stable preference profile"?

The mechanism: given onboarding context — a few attribute signals, referral path, first interaction — the system queries a population model trained on historical users to find the cluster of real users who had a similar sparse profile at day-zero and then developed clear preferences. The synthetic clone is a sample (or ensemble) from that cluster's eventual preference distribution, projected back to the current moment.

This is different from user-user collaborative filtering in a critical way. Collaborative filtering requires the new user to be in the same interaction space as their neighbors — both need to have touched some common items. Synthetic clones work in a profile space that includes day-zero-compatible signals: the signals that were observable before history existed. The model is trained to predict eventual preference from early-observable signals, not to find users with similar histories.

Practically: a new user who arrived via a specific content vertical and paused on a specific item type in their first 30 seconds gets a clone-derived preference profile that is more specific than any demographic bucket and requires no completed interactions. The clone lookup is a fast vector search against pre-computed cluster centroids — which is why this mechanism is compatible with sub-30ms inference budgets. The expensive computation happens offline during cluster construction, not at serving time.

The training data for synthetic clone models exists in your historical user base: users who had sparse early signal and then developed clear preference profiles. This cohort is usually larger than expected because most users start sparse. The key supervised signal is: "given what this user looked like at day-zero, predict what they interacted with at day-thirty."

What LLMs Change About Cold Start in 2026

By 2026, large language models have become a credible force in cold-start personalization through two mechanisms: zero-shot preference inference and conversational onboarding.

Zero-shot preference inference. LLMs trained on web-scale text encode implicit preference models — they know that readers of long-form technical journalism often engage with infrastructure content, that fans of early 2000s indie rock frequently have overlap with post-punk revival, that users who watch a specific documentary are more likely than average to engage with a particular set of adjacent topics. Papers like TALLRec (Bao et al., 2023) and LLMRec (Wei et al., 2024) demonstrated that LLMs can generate plausible recommendation candidates for new users from minimal context — a stated preference, a single interaction — with competitive precision against collaborative filtering on warm users in certain domains.

This does not mean LLMs solve cold start. They introduce their own failure modes: they hallucinate item identifiers, they encode web-scale popularity bias, and their inference latency (even with distillation) often exceeds the 30ms budgets required for real-time first-session recommendations. But they change the tradeoff. In 2026, an LLM-assisted day-zero path that generates a candidate set which is then reranked by a fast graph-based model is a realistic production architecture that was not feasible at scale in 2022.

Conversational onboarding. The questionnaire-at-signup pattern assumes users will tolerate a structured preference-elicitation flow. LLM-driven conversational onboarding changes this — a brief natural-language exchange can extract richer preference signal than a multiple-choice form, with better completion rates. The challenge is converting free-text preference expression into structured representations that downstream retrieval systems expect. Embedding the conversation into a preference vector space that is compatible with your item graph is an active engineering problem, not a solved one.

What LLMs do not change: the fundamental architectural requirement that day-zero systems must make good recommendations before the first interaction loop closes. A two-tower model with an LLM-initialized user tower is still a day-one model with a better cold-start patch — it degrades under rapid user acquisition when its training distribution skews toward warm users. LLMs improve day-zero inference quality; they do not change the architecture question.

How to Measure Whether Your System Has a Day-Zero Problem

Most teams discover they have a day-zero problem by looking at retention cohorts, not recommendation metrics. The tell is a retention curve that drops sharply between day-0 and day-3, particularly among users from high-intent acquisition channels. High-intent users — who arrived looking for something specific — are most sensitive to irrelevant day-zero recommendations because they have a clear internal signal to compare against.

Specific metrics to instrument:

Day-zero CTR vs. day-seven CTR, segmented by acquisition source. If your day-zero CTR is more than 40% below day-seven CTR for the same acquisition cohort, you have a cold-start problem degrading activation. The gap across acquisition sources tells you which entry contexts your system handles worst — where the signal-to-architecture mismatch is largest.

Taste drift index. Compute the cosine similarity between a user's day-zero interaction cluster and their day-thirty interaction cluster in item embedding space. Low similarity means day-zero recommendations landed in the wrong preference region and the user had to self-correct via search or browsing. High taste drift correlates with lower long-term retention because self-correction requires activation energy many users do not spend.

Clone coverage rate. For synthetic-clone-based systems, the fraction of new users who land within a well-populated clone cluster (above a density threshold) determines how often the day-zero path is actually personalized vs. falling back to a population prior. Gaps in clone coverage reveal where your historical user base does not represent your current acquisition mix — a leading indicator of preference distribution shift before it shows up in downstream metrics.

Diversity-at-k on day-zero serves. If day-zero recommendations have lower diversity-at-k than day-seven recommendations, you are serving a narrower, more popular item set to new users. That is popularity bias, measurable and fixable.

Where to Start Building a Day-Zero-First Recommender

If you are retrofitting an existing system, the order of operations matters. Do not start by replacing your retrieval architecture — start by measuring the damage.

First: instrument taste drift and day-zero CTR gap. This gives you a baseline and identifies which user segments are most affected. It also builds the business case for the architectural investment.

Second: build the item knowledge graph. This is the foundational infrastructure for day-zero retrieval. You do not need to replace your existing retrieval system — build a parallel index that can serve day-zero users from graph-based retrieval while your day-one system handles warm users. Start with entity extraction on item metadata and build edges from co-occurrence in editorial collections or human-curated signals, not user behavior. Item graph construction does not require any users.

Third: build synthetic clone infrastructure. This requires a training pipeline that maps day-zero-observable signals to eventual preference profiles, plus a serving layer for fast vector lookup. The training data exists in your historical user base: users who had sparse early signal and then developed clear preference profiles. Train the clone model to predict day-thirty behavior from day-zero signals. Serve via ANN search against pre-computed cluster centroids.

Fourth: run the day-zero path in shadow mode. Serve recommendations from both paths, log both, and measure which path would have produced better outcomes against your taste drift index. Validate the day-zero architecture against real users without taking on the risk of a full cutover.

Fifth: route by signal budget, not by user age. The mistake most teams make at cutover is routing users to the day-zero path based on account age (< N days) rather than actual signal budget (< N interactions). A user who signed up three days ago and has 60 interactions should be on the day-one path. A user who signed up three months ago and has had two sessions should be on the day-zero path. Signal budget — not account age — is the right routing variable.

The day-zero problem is not going away. As acquisition costs rise and activation windows compress, the quality of your first-session recommendations increasingly determines whether a user ever generates the history your day-one system needs to do its job. Build for the user who just arrived — not the user you wish they already were.

the product behind these notes

×marble is the personalization graph.

One API. A living knowledge graph per user. Day-zero ready, explainable by construction. We built it so you don't have to.

See ×marble