ProjectsProject 3 of 8
Intermediate project · Project 3 of 8
E-commerce Analytics Data Platform
An online store has orders, customers, products and web sessions in separate systems. Build an ELT platform that models them into trusted marts for revenue, retention and product performance.
Requirements
- Load four source datasets into raw tables
- Build staging models that type, rename and deduplicate
- Build a star schema with order-line facts and customer, product and date dimensions
- Define revenue, orders and repeat-customer rate once and reuse them
- Test keys, nulls and relationships on every model
Technology stack
SQL warehouse (DuckDB or PostgreSQL locally, or a cloud warehouse), dbt Core or plain SQL scripts, Python for data generation, A BI tool or notebook for charts
Dataset
Generate synthetic orders, customers, products and sessions with a script, or use a public e-commerce sample dataset whose licence permits reuse.
Business context
Teams at the store disagree about revenue because each pulls numbers differently. A single modelled layer with tested, documented metrics is how real analytics teams resolve that, and it is the core skill set of analytics engineering.
Architecture
- Raw schema holds orders, customers, products and sessions as loaded.
- Staging models clean and type one source table each.
- Intermediate models join and apply business rules.
- Marts:
fct_order_lines,dim_customer,dim_product,dim_dateand daily aggregates. - Certified metrics feed a dashboard.
Write down metric definitions before writing SQL, for example whether revenue includes tax, shipping and refunds. Most real disagreements are about definitions, not code.
Progress is saved in this browser only. No account needed.