Skip to main content

Evolving Models Based on Changing Requirements

Premium

In real-world scenarios and during interviews, requirements often evolve. Being able to adapt your model quickly is crucial.

Consider this evolution for an e-commerce platform:

Initial Requirement: Track basic sales data

[Customer] ---- [Sales Fact] ---- [Product] | [Time]

New Requirement: Add customer segmentation and product categorization

[Customer] ---- [Sales Fact] ---- [Product] | | | [Customer [Time] [Product Segment] Category]

Further Requirement: Track marketing campaign effectiveness

[Customer] ---- [Sales Fact] ---- [Product] | | | [Customer [Time] [Product Segment] | Category] | [Marketing Campaign]

When evolving your model:

  1. Identify new entities or attributes needed
  2. Determine if they should be new dimensions or added to existing ones
  3. Consider the impact on fact table granularity
  4. Assess the effect on existing analyses and queries