PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Meta

Design an e-commerce price tracking service

Last updated: Mar 29, 2026

Quick Overview

This question evaluates competency in large-scale backend system design, including distributed architecture, time-series data modeling for price history, ingestion pipelines for API or scraping, alerting and notification systems, and trade-off analysis around storage, consistency, availability, and cost.

  • hard
  • Meta
  • System Design
  • Software Engineer

Design an e-commerce price tracking service

Company: Meta

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a backend system similar to popular price-tracking sites that monitor product prices on large e-commerce platforms (for example, a site that tracks prices on a major online retailer and notifies users when prices drop). ### Functional requirements - Users can search for a product (by URL or product ID) and start tracking its price. - The system periodically fetches the latest prices for tracked products from the e-commerce site (via API or web scraping, depending on assumptions). - For each product, the system stores a **price history** (timestamped prices) that users can view as a chart or table. - Users can create **alerts** with conditions like: "notify me when the price goes below X" or "notify me when there is at least a Y% drop from the highest price." - When an alert condition is met, the system sends notifications (email, push, etc.). ### Non-functional requirements - Support tracking **tens of millions of products** and **millions of users**. - Prices should be reasonably fresh (e.g., updated every 15–60 minutes for popular products, less frequently for long-tail items). - The system should be **highly available**; temporary delay in price updates is acceptable, but losing data or sending duplicate alerts should be minimized. - The system should be **cost-efficient**, given the large volume of historical price data. ### Key points to cover - Clarify any assumptions you need (data source: API vs scraping, exact freshness targets, regions, etc.). - Propose: - Overall **high-level architecture and major components**. - **Data model** for products, price history, user subscriptions, and alerts. - Approach to **fetching and updating prices** at scale. - How you will implement and scale **alert evaluation and notification**. - Discuss trade-offs around **storage**, **crawling frequency**, **consistency**, **fault tolerance**, and **cost**. - Be prepared to go into deeper design details on one or two critical parts (for example, the price ingestion pipeline or the alerting system).

Quick Answer: This question evaluates competency in large-scale backend system design, including distributed architecture, time-series data modeling for price history, ingestion pipelines for API or scraping, alerting and notification systems, and trade-off analysis around storage, consistency, availability, and cost.

Related Interview Questions

  • Design Top-K, Crawler, and Chess Systems - Meta (hard)
  • Design Search And Web Crawling Systems - Meta (medium)
  • Design an Instagram-Style Social Feed - Meta (medium)
  • Design an Online Game Leaderboard - Meta (hard)
  • Design an On-Demand Delivery Platform - Meta (medium)
Meta logo
Meta
Mar 23, 2025, 12:00 AM
Software Engineer
Onsite
System Design
0
0

Design a backend system similar to popular price-tracking sites that monitor product prices on large e-commerce platforms (for example, a site that tracks prices on a major online retailer and notifies users when prices drop).

Functional requirements

  • Users can search for a product (by URL or product ID) and start tracking its price.
  • The system periodically fetches the latest prices for tracked products from the e-commerce site (via API or web scraping, depending on assumptions).
  • For each product, the system stores a price history (timestamped prices) that users can view as a chart or table.
  • Users can create alerts with conditions like: "notify me when the price goes below X" or "notify me when there is at least a Y% drop from the highest price."
  • When an alert condition is met, the system sends notifications (email, push, etc.).

Non-functional requirements

  • Support tracking tens of millions of products and millions of users .
  • Prices should be reasonably fresh (e.g., updated every 15–60 minutes for popular products, less frequently for long-tail items).
  • The system should be highly available ; temporary delay in price updates is acceptable, but losing data or sending duplicate alerts should be minimized.
  • The system should be cost-efficient , given the large volume of historical price data.

Key points to cover

  • Clarify any assumptions you need (data source: API vs scraping, exact freshness targets, regions, etc.).
  • Propose:
    • Overall high-level architecture and major components .
    • Data model for products, price history, user subscriptions, and alerts.
    • Approach to fetching and updating prices at scale.
    • How you will implement and scale alert evaluation and notification .
  • Discuss trade-offs around storage , crawling frequency , consistency , fault tolerance , and cost .
  • Be prepared to go into deeper design details on one or two critical parts (for example, the price ingestion pipeline or the alerting system).

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Meta•More Software Engineer•Meta Software Engineer•Meta System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.