Project 3: Data Warehouses
Building and Exploring an Airbnb Data Warehouse for Analytics & Data Understanding
The Problem/Opportunity:
Organizations often store operational data in raw CSV files without a clear analytical structure. While this data contains valuable business information, it becomes difficult to query, analyze, and scale for reporting purposes when it lacks proper modeling and relationships.
In this project, the goal was to transform raw Airbnb datasets into a structured and reliable Data Warehouse that supports analytics, SQL exploration, and future reporting needs.
The project focused on:
- Building a clean and organized Airbnb Data Warehouse
- Understanding and implementing Fact and Dimension table architecture
- Ensuring data consistency, integrity, and scalability
- Creating a strong analytical foundation for future dashboards and reporting
- Practicing SQL development, data modeling, and business-oriented querying
The key stakeholders include:
- Data teams (data architecture & modeling)
- Business stakeholders (analytics & reporting)
- New analysts and team members (learning SQL & understanding Data Warehousing concepts)
Key Insights:
Database Setup & Data Preparation
- Created a dedicated database called Greek Airbnb
- Configured the database collation to Greek_CI_AI to properly support Greek characters and text
- Imported raw CSV datasets into SQL Server Management Studio (SSMS):
- Listings data
- Calendar/Bookings data
- Reviews data
- Built the Stage layer tables:
- ListingsStage
- BookingsStage
- ReviewsStage
- Standardized and validated data types for all columns using the provided data dictionary
- Prepared the raw datasets for Data Warehouse transformation and loading
Data Cleaning & Quality Checks
- COUNT()
- COUNT(DISTINCT ...)
- ROW_NUMBER()
- Common Table Expressions (CTEs)
Data Warehouse Architecture
Designed and implemented a simple analytical Data Warehouse structure by separating data into:
Dimension Tables
- Property information
- Property types
- Room types
- Host details
- Locations and neighborhoods
- Review-related attributes
- Primary Keys
- IDENTITY(1,1) surrogate keys where necessary
Fact Tables
- Bookings and availability
- Pricing information
- Review activity
Data Integrity & Constraints
- Primary Keys for all Dimension and Fact tables
- Foreign Key relationships between Fact and Dimension tables
- NOT NULL constraints for ID columns
- Referential integrity between related tables
- Structured schema aligned with Data Warehouse best practices
Bus Matrix & Schema Design
SQL Analysis & Business Exploration
Developed analytical SQL queries combining Fact and Dimension tables to generate business insights and validate the Data Warehouse structure.
Examples of analysis included:
Supply & Inventory Analysis
Geographical Insights
Pricing Analysis
Demand & Booking Trends
Review & Engagement Analysis
Advanced SQL Practice
The Outcome:
This project resulted in a fully functional Airbnb Data Warehouse designed for analytics, learning, and scalable reporting.
The final solution successfully:
The project demonstrates practical experience in:
Overall, this project combines core Data Engineering fundamentals with analytical thinking to create a scalable and business-ready Data Warehouse solution.
Tools & Technologies
- SQL Server Management Studio (SSMS)
- SQL
- Data Cleaning
- Data Transformation
- Data Modeling
- Data Warehousing
- Query Development
- CSV data sources
- Relational Database Design
- Fact & Dimension Modeling
- Bus Matrix Design