Design a financial data aggregation and analytics system

Design an end-to-end system that collects financial data from multiple third-party apps (via credential-based access or open banking APIs), processes and stores it, and serves analytics to both end-users and admins.

Key areas to cover:

  • Ingestion: secure credential storage (vault), scheduled scraping vs. webhook-based feeds, idempotent pipelines
  • Storage: relational DB for structured transactions, Elasticsearch for full-text/aggregation queries (inverted index internals may be probed); master-slave replication for read scaling
  • Processing: stream vs. batch for aggregations, normalization across institutions
  • Analytics layer: user-facing dashboards (spending trends, net worth) vs. admin-level cross-user analytics (fraud signals, cohort analysis)
  • Caching: pre-computed rollups in Redis for hot queries

Expect tradeoff discussions on DB choice, consistency vs. availability, and how the design evolves when admin analytics requirements are added mid-interview.

asked …
LeaderboardSalaryAccount