# Design an e-commerce recommendation system: system design interview question

> Product relevance at low latency, with fresh behavior, new users, new products, and changes in product availability.

Source: https://sysround.com/questions/design-e-commerce-recommendation-system
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a system that recommends relevant products from a store's catalog. Use browsing behavior, purchase history, and product attributes. The system must respond quickly for both new and returning users."

## What to clarify first

- Recommendation surfaces
- Scale
- Traffic and read:write mix
- Latency
- Freshness
- Consistency and availability
- Durability and retention
- New users and products
- Success
- Scope and data sources

## Scope of a strong answer

Core requirements:

- Recommend products on the home page and a product page
- Use browsing behavior, purchase history, and product attributes
- Support users without history and products without interactions
- Meet latency targets and exclude products that are not eligible

Usually out of scope:

- Build the checkout, inventory, or payment service
- Set prices or select advertisements
- Invent new model algorithms
- Track users across other websites

## What interviewers probe

### New users and products

Behavior signals do not exist for new users or products. Popularity alone can prevent new products from gaining useful feedback.

### Behavior freshness

A fast event stream and slower model jobs can disagree. Duplicate events and delayed purchases can corrupt user interests.

### Response time and product availability

The service cannot score the full catalog per request. Cached recommendations can contain products that recently became unavailable.

### Recommendation quality

Users interact only with products they see. Historical data can reward position and popularity instead of relevance.

## Common mistakes

- Describe model algorithms without a complete request path.
- Score the full catalog on every request.
- Treat new users and new products as the same problem.
- Use daily jobs alone despite minute-level freshness targets.
- Trust old recommendation lists for current product eligibility.
- Optimize clicks without exposure data or purchase measures.

## The bar by level

- **Senior:** Meet freshness and latency targets with explicit budgets. Handle duplicate events, new products, eligibility changes, and dependency failures. Define useful experiments and fallback behavior.
- **Staff+:** Set clear contracts across catalog, orders, features, and model releases. Address feedback bias, recovery, privacy, and cost. Explain when added model complexity earns its operational cost.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=product-recommendations


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
