You are designing a data warehouse for a subscription SaaS company. They want to answer:
- "What is monthly recurring revenue (MRR) by customer segment and acquisition channel?"
- "How does churn rate differ between customers using feature X vs those who don't?"
- "What was MRR for each customer in each historical month?"
(1) Define the grain of your central fact table — explicitly state "one row in this table = one ____". List all columns of the fact table.
(2) Design the dimension tables. Be explicit about the foreign keys back to the fact table and the columns each dimension carries.
(3) A customer upgrades from Starter to Pro plan on 2024-09-15. How would you handle this in your dimension model so that historical MRR calculations for August remain accurate while September onwards reflects the new plan? Use SCD Type 2 explicitly.