Skip to main content
MLRec — Workshop on Machine Learning and Data Mining for Recommender Systems

Some links here are partner links — we may earn a commission if you buy, at no extra cost to you. Details.

Best Design A Recommendation System: Top Picks Compared (2026)

The question “how do I design a recommendation system?” almost always hides a second question: which approach should I actually build? The honest answer is that the decision to design a recommendation system is not a single choice but a stack of them—retrieval strategy, ranking model, feature store, serving topology, and evaluation protocol. The right choice at each layer depends on your data volume, latency budget, and how much “cold-start” pain you can tolerate. This guide compares the major design archetypes head-to-head, explains the trade-offs that vendor blogs tend to skip, and provides a decision procedure you can defend in a design review or a paper submission.

When preparing work for a venue like MLRec (the Workshop on Machine Learning and Data Mining for Recommendation Systems, held in conjunction with the SIAM International Conference on Data Mining), the following classification highlights the criteria that program committees typically use: novelty of the modeling contribution, robustness of offline evaluation, and evidence that the method survives realistic performance limitations.


Key Takeaways

  • Two-stage retrieval + ranking is the standard architecture for any catalog with more than a few tens of thousands of items; single-level scoring does not scale to millisecond latency budgets.
  • For dense interaction data, collaborative filtering still wins, but content- and graph-based methods dominate when interactions are sparse or the cold-start problem is severe.
  • Offline metrics (Recall@K, NDCG) are necessary but insufficient—popularity bias, position bias, and feedback loops routinely negate offline gains in production.
  • Training-serving skew in feature storage and deployment causes more production errors than poor model selection.
  • Evaluation design is a first-class contribution. A strictly counterfactual or unbiased evaluation protocol is often easier to publish than a marginal AUC improvement.
  • Start with the simplest architecture that meets your latency SLA, and add complexity only when ablation studies prove it worthwhile.

The Design Archetypes, Compared

Before choosing tools, choose an architecture. These five patterns cover the vast majority of production and research systems.

ArchetypeCore IdeaBest When…Main WeaknessTypical Latency Profile
Popularity / Heuristic BaselinesRank by global or segment-level engagementCold start, new products, sanity baselinesNo personalization; amplifies feedback loopsTrivial (precomputed)
Matrix Factorization (MF)Learn latent user/item embeddings from the interaction matrixDense implicit/explicit feedback, stable catalogPoor cold start; ignores content and contextLow (ANN lookup)
Neural Collaborative / Two-TowerSeparate user and item encoders trained for retrievalLarge catalogs, rich side features, real-time servingRequires substantial data; harder to debugLow–Medium (ANN + GPU)
Sequential / Session-based (RNN, Transformer, SASRec)Model the order of interactions as a sequenceSession-driven domains: news, video, e-commerceData-hungry; prone to recency driftMedium
Graph-based (GNN / LightGCN)Propagate signals over the user–item bipartite graphHigh-order collaborative signals, sparse dataScalability and neighbor-sampling costsMedium–High

Rule of thumb: MF and two-tower models are retrieval engines; sequential and GNN models are typically rankers or re-rankers. Most mature systems combine them: a lightweight two-tower fetcher reduces millions of items to hundreds, and a more expensive sequential ranker or GNN sorts that shortlist.


Layer 1 — Retrieval: From Millions to Hundreds

The retrieval phase exists because you cannot run a complex model across your entire catalog in a single query. The standard technique is Approximate Nearest Neighbor Search (ANN) on embeddings learned using libraries such as FAISS, ScaNN, HNSW, or Annoy. Key design decisions include:

  • Embedding dimensionality vs. index size. Higher dimensions improve expressiveness but increase memory usage and query time. Most teams settle between 64 and 256 dimensions.
  • ANN recall vs. latency. ANN is, by definition, an approximation. It is critical to measure recall (does the best item actually appear in the candidate set?) separately from ranking quality. A ranker cannot surface an item that the retriever never found.
  • Multi-source candidates. Production retrievers typically combine multiple sources (ANN embeddings, trending items, followed creators, rule-based logic) and then deduplicate. This is where much of the actual engineering complexity lies.

Note for researchers: Retrieval recall represents a hard ceiling on end-to-end quality. If your paper reports ranking gains but retrieval recall is only 70%, your overall performance is limited by a component you did not evaluate.

Related: — University- and industry-branded ML specializations with graded assignments and shareable certificates.


Layer 2 — Ranking: Where the Modeling Contribution Lives

Once you have a few hundred candidates, you can afford a heavier model. Common options include:

  • Gradient Boosted Decision Trees (XGBoost, LightGBM): Still extremely powerful for tabular features and much easier to deploy than deep models. Many production systems never fully replace them.
  • Deep Ranking Models (DLRM, DCN): Handle high-cardinality categorical features and feature interactions well.
  • Sequential Transformers: Capture intent variation within a session; these are currently the default for news, short-form video, and search-adjacent rankings.

In the ranking phase, you must also manage multi-objective trade-offs: relevance vs. variety vs. freshness vs. business constraints. Two standard techniques are:

  1. Learning to Rank (LTR) with a Blended Objective: Train with a weighted blend of various engagement signals.
  2. Re-ranking/List Optimization: Create a ranked list and then reorder it to meet diversity or fairness constraints (e.g., Maximum Marginal Relevance or Determinantal Point Processes).

For a workshop presentation, a well-executed re-ranking strategy or a contribution to fairness with a clean evaluation is usually more justifiable than another minor model variant.

Where we would start: — One-off, low-cost ML and recommender-systems courses you own forever.


Layer 3 — Features, Training, and the Skew Trap

This is the least glamorous layer, yet it is where most systems fail.

Training-serving skew occurs when features computed during training differ from those computed at inference time (e.g., different aggregation windows, null handling, or time zones). The standard solution is a feature store (Feast, Tecton, or an internal equivalent) that provides consistent transformation logic for both paths, along with point-in-time correctness to ensure training features only use data available before the target event.

Two practices to avoid silent failures:

  • Log the exact feature vector used at inference time and link it to the outcome. Without this, regressions are impossible to debug.
  • Deploy shadow models to compare results against the current production model in live traffic before switching.

When writing a paper, be explicit about your feature set and time-slicing protocol. Reviewers increasingly penalize evaluations that inadvertently leak future information into the training set.


Layer 4 — Evaluation: The Part Most Guides Get Wrong

Offline evaluation for recommendation systems differs significantly from standard supervised learning.

Ranking Metrics. Recall@K and NDCG@K are the workhorses. Precision@K, MAP, and MRR are used depending on the domain. Always report across multiple values of K: a model that wins at K=10 but loses at K=100 reveals different retrieval behaviors.

Related: — Deep, project-driven ML books and video courses — including the MEAP early-access program.

Biases you must address:

  • Position Bias: Users click on what they see, not necessarily what is best. Remedies include Inverse Propensity Scoring (IPS) and randomization.
  • Popularity Bias: Models over-recommend head items, which generates more interactions and further increases the bias. Measure catalog coverage and “long-tail” presence.
  • Feedback Loops: The model’s own predictions become the next set of training data. This is a systemic issue, not a metric issue.

The Offline-Online Gap. A model can improve offline NDCG while hurting online engagement. The rigorous solution is counterfactual/off-policy evaluation (IPS, doubly robust estimators) and, ultimately, online A/B testing with a pre-registered primary metric and a guardrail metric (e.g., session drop-off, p99 latency).

For academic work, RecSys and SIGIR reproducibility checklists, as well as Microsoft Recommenders reference implementations, are essential. While the Netflix Prize and MovieLens datasets remain standard benchmarks, reviewers now prefer time-sliced datasets that reflect modern interaction patterns.

If you are shopping: — Browser-based, hands-on ML and data-science tracks you can start in 10 minutes.


How to Decide: A Practical Procedure

  1. Define the SLA first. Establish p99 latency, QPS, catalog size, and refresh rate. These constraints dictate the architecture.
  2. Establish a popularity baseline. If your model cannot beat a “most popular” list, you have a data problem, not a modeling problem.
  3. Select the simplest retrieval method that meets your goals. Two-tower models + ANN are the safe default.
  4. Add a ranking layer only if retrieval recall is high but ranking is the bottleneck. Measure both separately.
  5. Instrument before optimizing. Set up logging, feature stores, and shadow deployments before iterating on the model.
  6. Design the evaluation before the model. Establish your metrics, splits, and bias corrections beforehand to avoid “p-hacking” your results.

Common Failure Modes (and How to Avoid Them)

  • Optimizing a proxy metric that diverges from the goal. Clicks $\neq$ satisfaction. Combine engagement metrics with explicit signals (ratings, saves, returns).
  • Ignoring the cold-start problem. New users and items are where systems struggle most and where the most business value is hidden. Use graph- and content-based methods here.
  • Treating the retriever as a fixed component. The retriever and ranker should be co-designed; a ranker trained on the output of one retriever may degrade if the retriever is changed.
  • Skipping the counterfactual check. Off-policy evaluation is a cheap insurance policy against a costly online failure.
  • Poor pipeline documentation. Reproducibility is both a verification criterion and an operational necessity.

Where This Connects to the Research Community

These design decisions are the core of current recommendation research. Key resources include:

  • ACM RecSys: The flagship conference for recommender systems.
  • SIAM International Conference on Data Mining (SDM) and workshops like MLRec, which focus on data mining applied to retrieval and evaluation.
  • Microsoft Recommenders: Open-source reference implementations of the architectures discussed here.
  • The RecBole Library: A widely used benchmarking framework for reproducible experiments.

When submitting to a workshop, align your contribution with a decision (e.g., a new retrieval strategy, a scoring protocol, or a fairness constraint) rather than a simple leaderboard improvement. This approach makes your design work publishable.


Frequently Asked Questions

What is the best architecture for designing a recommendation system?

There is no universal “best.” The two-stage (retrieval + ranking) architecture is the most common default because it balances quality and latency. Typically, matrix factorization or two-tower models handle retrieval, while gradient-boosted trees or sequential transformers handle ranking.

How do I handle the cold-start problem?

Leverage content-based features (item metadata, text embeddings) and graph-based signals that do not require interaction history. For new users, rely on session context and popularity baselines until enough interactions are gathered to move to personalized models.

What metrics should I use to evaluate a recommendation system?

Use ranking metrics like Recall@K and NDCG@K across various K values, alongside coverage and diversity metrics to detect popularity bias. Validate offline results with counterfactual evaluation and online A/B testing.

How do I avoid training/serving skew?

Use a shared feature store to ensure training only uses data available before the label event. Log the exact feature vectors used at inference time for debugging and deploy new models in “shadow mode” before routing live traffic.

Do I need deep learning for a recommendation system?

Not necessarily. Gradient-boosted trees are still highly competitive for tabular data and are easier to maintain. Deep learning is most effective for high-cardinality features, massive catalogs, or sequential session dynamics.

How is recommendation-system design evaluated in academic venues?

Venues like ACM RecSys and MLRec emphasize robust offline evaluation, proper time-slicing, bias correction, and reproducibility. A rigorous evaluation protocol is often valued more than a marginal increase in accuracy.

P.S. A few readers have asked which interactive learning platform we actually reach for — it's DataCamp; if you want the current details.

Frequently asked questions

What is the best architecture for designing a recommendation system?

There is no universal 'best.' The two-stage (retrieval + ranking) architecture is the most common default because it balances quality and latency. Typically, matrix factorization or two-tower models handle retrieval, while gradient-boosted trees or sequential transformers handle ranking.

How do I handle the cold-start problem?

Leverage content-based features (item metadata, text embeddings) and graph-based signals that do not require interaction history. For new users, rely on session context and popularity baselines until enough interactions are gathered to move to personalized models.

What metrics should I use to evaluate a recommendation system?

Use ranking metrics like Recall@K and NDCG@K across various K values, alongside coverage and diversity metrics to detect popularity bias. Validate offline results with counterfactual evaluation and online A/B testing.

How do I avoid training/serving skew?

Use a shared feature store to ensure training only uses data available before the label event. Log the exact feature vectors used at inference time for debugging and deploy new models in 'shadow mode' before routing live traffic.

Do I need deep learning for a recommendation system?

Not necessarily. Gradient-boosted trees are still highly competitive for tabular data and are easier to maintain. Deep learning is most effective for high-cardinality features, massive catalogs, or sequential session dynamics.

How is recommendation-system design evaluated in academic venues?

Venues like ACM RecSys and MLRec emphasize robust offline evaluation, proper time-slicing, bias correction, and reproducibility. A rigorous evaluation protocol is often valued more than a marginal increase in accuracy.


Learn ML by doing — start a free DataCamp chapter today

Browser-based, hands-on ML and data-science tracks you can start in 10 minutes