A customer/product matrix is a way of describing the relationships between customer types and product types/attributes.
Note: Please find some data quality related product descriptions in the post Data Quality and World Food.
Filling out the matrix may be based on prejudices, gut feelings, assumptions, surveys, focus groups or data.
If we go for data we may do this by collecting available historical data related to sales and inquiries made by persons belonging to each customer type regarding products belonging to each product type.
In doing that correctly we need two kinds of master data management and data quality assurance in place:
- Customer Data Integration (CDI) for assigning the accurate customer type in the real world related to the uniquely identified person in transactions coming from all sources – here based on location master data.
- Product Information Management (PIM) for categorizing the relevant fit for purpose product type.
This reminds me about multi-domain master data management. Customer master data (or shall we say party master data), product master data and location master data used to figure out how to do business. I like it – both the master data management part and the mentioned product types.
Thanks for the post, Henrik.
Your matrix very effectively demonstrates how Business Function defines data. The matrix represents three separate Functions. The top line represents “Analyse Product Sales by Marital Status” and the bottom line “Analyse Product Sales by Customer Age by Home Location”.
The Function on the middle line demonstrates a more complex and problematic Function, “Analyse Product Sales by Family Group by Home Location”. How can you determine if a customer is part of a family (with other living members) and, if so, of which family.
You could ask customers, as a part of the sales process, to supply the names and addresses of the of their parents. If you did this I am not sure that you would make many sales or have very many customers.
However, even if you did capture this information, mother, father and child might all be part of the same family but reside at three addresses. So which address would you use to determine if the family was urban or suburban?
You could try infer family structure from surname/family name residing at a single address. This would give you some success but would carry a high degree of error.
By starting with Function you are able to define what entities, attributes and and relationships need to be built into the data structure of the enterprise in order for the Function to be successfully executed. This will also show you exactly which data elements need to be captured at the point of data creation. If it is impractical to capture this information then it demonstrates that the Function might not be able to be successfully executed.
Where no relationships explicitly exist in the data structure (because the data to define the relationship could not be collected at time of creation) then by taking a Function view you will be able to define the Function logic required to infer the relationships. At this point you will also be able to score this approach with regard to accuracy and risk.
Starting with Function enable you to know in advance exactly what information the enterprise needs to hold and what the structure of that data needs to be.
Thanks John for a comprehensive comment.
Indeed, what I see in practice is that analytics often is executed as an afterthought after data have been collected with the immediate fit for purpose of use in mind. Therefore you support your analytics with what in worst case may be guessing; in best case may be probabilistic techniques. Applied to customer types I have worked with techniques as:
• Demographic stereotypes depending on location in the granularity available
• A probabilistic age depending on given name is possible in some cultures
The better choice is of course to consider all purposes already in data capture. A shortcut is often to at least do your data capture in a way that makes data enrichment easier at a later stage.
However a main challenge is that a certain requirement for analytics is identified after most data already have been collected.
With product type the challenges usually are not that big as we in most cases are able to make a new categorization based on data we already know.
However we need a flexible structural environment in order to meet all current known and future learned requirements.