Skip to main content

Comparing Recommendation Algorithms and Choices

· 2 min read
Eric Ngo
ML Engineer @dodo, ex-ML engineers @Meta/Samsung-Research/7-11

Choosing the right recommendation algorithm depends on your data, your business goals, and the stage of your product. Here's a breakdown of common algorithms, from simple heuristics to advanced deep learning models.

Common Recommendation Algorithms: Pros and Cons

1. Popularity-Based (Heuristics)

The simplest approach: recommend the most popular items to everyone.

  • Pros: Easy to implement, no "cold start" problem for new users, highly reliable.
  • Cons: Zero personalization, limited discovery for niche items.

2. Content-Based Filtering

Recommends items similar to those a user liked based on item features (e.g., category, tags, description).

  • Pros: No "cold start" for new items, provides transparency (e.g., "Because you liked Action movies...").
  • Cons: Limited serendipity (users only see more of the same), requires high-quality item metadata.

3. Collaborative Filtering (CF)

The classic approach based on user-item interactions.

  • Pros: Captures complex patterns without needing item features, high serendipity.
  • Cons: "Cold start" problem for new users/items, struggles with sparse data.

4. Matrix Factorization (MF)

Decomposes the user-item interaction matrix into lower-dimensional latent factors.

  • Pros: Scalable, handles sparse data better than basic CF, captures latent relationships.
  • Cons: Difficult to incorporate side information (like user demographics or item categories).

5. Deep Learning-Based Models (Neural Collaborative Filtering, Two-Tower Models)

Uses neural networks to learn non-linear relationships between users and items.

  • Pros: Can incorporate diverse features (text, images, behavior), handles complex interactions.
  • Cons: High computational cost, requires large amounts of data, "black box" nature.

6. LLM-Based and RAG-Styled Recommendation (e.g., PRAG)

The cutting edge: using Large Language Models to interpret user intent and retrieve relevant items.

  • Pros: Superior natural language understanding, handles zero-shot recommendations, highly flexible.
  • Cons: Inference latency can be high, requires careful prompting and vector database management.

Summary Table

AlgorithmPersonalizationData RequirementComplexityBest For
PopularityNoneLowLowNew Apps, Cold Start
Content-BasedHighMediumMediumNiche Catalogs
CollaborativeHighHighMediumMature Apps
Matrix FactorizationHighHighMediumLarge Datasets
Deep LearningVery HighVery HighHighComplex Ecosystems
LLM/PRAGExceptionalMedium/HighVery HighNext-Gen Personalization

When starting out, it's often best to begin with a Popularity-Based or Content-Based approach as a baseline before moving to more complex models like Matrix Factorization or PRAG.