I am in the process of designing a new customer fact and dimensions for my warehouse. In my search for good example models I noticed something odd. No one seems to have a customer-centric fact. Every example I found has a transaction event such as a sale or order as the central fact with customers as a dimension. This raises a question for me.
Am I doing something seriously wrong by wanting a customer fact? The goal is to enable analysis of customer behavior such as order frequency, total spend, acquisition cost, distinct, product count,...etc These questions naturally imply a fact to me not a dimension. I already have an order fact that is great for order-centric queries but is not good for customer-centric queries.
To give you a little more detail the Customer Fact will likely have the following measures and dimensions: Measures: Count of Customers Distinct Product Count Completed Order Count Total Revenue Total Cost Count of Coupons Received Count of Coupons Redeemed Cost of Coupons Redeemed
Dimensions: Order Delivery Date Order Delivery Time Order Delivery Geography Acquisition Source Order Type Coupon Type
The above seems pretty natural to me but I am concerned I am missing an obvious no-no by taking a customer-centric approach in this new cube.