The Airline Loyalty Program is a customer rewards initiative designed to enhance passenger engagement and retention. This project builds a data warehouse and semantic model to analyze customer behavior, flight activity, and loyalty program performance. By integrating data from multiple sources and providing analytical dashboards, it enables business users to track key KPIs such as enrollment trends, flight patterns, and member loyalty history.
- Build a scalable data warehouse for the airline’s loyalty program.
- Integrate data from multiple sources using SQL Server Integration Services (SSIS).
- Develop a semantic model with SQL Server Analysis Services (SSAS).
- Create insightful Power BI dashboards for business analysis.
- Enable data-driven decision-making on customer loyalty and retention.
- SQL Server (SSMS) → Data storage & management
- SSIS → Data extraction, transformation, and loading (ETL)
- SSAS → Semantic modeling and OLAP cube creation
- Power BI → Visualization and reporting
-
Fact Tables:
FlightsActFact
→ Flight activity metricsLoyaltyHistoryFact
→ Member loyalty history
-
Dimension Tables:
DateDim
→ Time-based analysisEnrollInfoDim
→ Customer enrollment detailsLocationDim
→ Departure & arrival locationsPersonalInfoDim
→ Passenger personal attributesGenderDim
→ Gender classification
Conceptual Model![]() |
Logical Model![]() |
The Power BI report provides insights such as:
- Enrollment trends over time
- Loyalty member distribution
- Flight activity analysis
Dashboard Home Page![]() |
Data Overview![]() |
Filters Pane![]() |
Page Navigation![]() |
Customers Analysis![]() |
Points Analysis![]() |
Emrollment Analysis![]() |
Some of the key DAX measures implemented in the semantic layer include:
-- Total Flights
Total Flights = COUNTROWS(FlightsActFact)
-- Total Members
Total Members = COUNTROWS(EnrollInfoDim)
-- Average Flights per Member
Avg Flights per Member = DIVIDE([Total Flights], [Total Members], 0)
-- Loyalty Points Redemption Rate
Redemption Rate = DIVIDE([Total Redemptions], [Total Earned Points], 0)
-- Member Duration (Years)
Member Duration = DATEDIFF(EnrollInfoDim[EnrollmentDate], TODAY(), YEAR)
Thank you for taking the time to review this project. I truly appreciate your interest and support.