Modern Data Modeling and Analytics with dbt
End to end dbt project that transforms raw data from Jaffle Shop, Snowplow and Stripe into clean, analytics-ready models, including fact tables, dimensions, customer order metrics, seeds and reusable macros.
Problem
Raw datasets from multiple sources were siloed, inconsistent and not ready for analysis. Analysts struggled to answer basic business questions about customers, orders and behavior because there was no unified semantic layer or transformation workflow.
Solution
Developed a complete dbt project that integrates raw Jaffle Shop, Snowplow and Stripe datasets into a curated warehouse. Implemented staging, intermediate and mart models such as fact_orders, dim_customers and fct_customer_orders. Added data tests, sources, documentation and macros to standardize transformations and ensure reliability across the project.
Impact
Delivered a production-grade transformation layer that enables fast and trustworthy analytics. Teams can now track customer lifecycle metrics, behavioral patterns and revenue insights with consistent definitions powered by dbt models and automated tests.
Tech Stack Used
Key Challenges & Learnings
- Unifying data structures coming from different systems such as Snowplow events and transactional Stripe payments
- Creating consistent customer identifiers across all sources
- Designing flexible fact and dimension models usable for BI and advanced analytics
- Building reusable macros to reduce code duplication and improve maintainability
- Strengthened dbt modeling principles for multi-source datasets
- Improved testing and documentation workflows using dbt built-in features
- Learned best practices for building fact and dimension layers for analytics
- Enhanced ability to create modular transformations and macro-driven pipelines