Try this. Think back through all the data warehouse, MDM, BI and other assortment of data management projects that you’ve been involved in. Can you think of a case in which an entire enteprise adopted a single definition of customer? Or a single definition of product? Your project team might have put together a definition. But was the definition widely accepted?
I tried to do this last week. And I came up with nothing.
Let’s think through why we need to have a single definition of customer, product, or other widely shared data, in the first place. The end goal is data integration. Data from different functional areas don’t join up: sales orders are associated newly acquired customers, but marketing campaign data is associated with prospects; Service data is associated with installed locations, while financial data is associated with legal entities. The idea is, if sales, marketing, service and finance can all agree on a single definition of customer, then all the associated transactions could be easily integrated. The result is all goodness: efficiency, better decisions, and of course, higher revenues and higher profits.
But there’s one problem: to accomplish this feat, you need to change the meanings of words that’ve been in use for years and decades. You need everyone in finance to change their understanding of the word “customer”. You need everyone in marketing to do the same. You need to change language, which is no easy feat even for a ruthless dictator. With all due respect, I don’t think a data architect stands a chance.
How, then, do we achieve integrated data without a single definition of customer?
First, we need to understand what each functional area means by customer. So we know customer data coming from a marketing system includes prospects as well as existing customers. Then, we build a semantic model so that we understand how the different definitions of customer relate to one another. This semantic model may be complex, but accept it. Don’t try to overly simplify it. The world is complex. Unless we have the power to change language and meaning, we need to deal with the world as it is, not how we wish it to be.
If you do this right, the model for customer data or product data is big. Not just one or two wide tables. For product data, for example, you would’ve defined many business concepts including parts, assemblies, base products, finished products, SKUs, packaging, brand, product class, etc., as entities in their own rights and not just attributes. These entities are related to one another in complex ways, as they are in the real world.
With this model, it would be possible to associate supply data with parts, sales data with SKUs, G&A cost data with product class, marketing data with brand. And, the relationships among these entities allow you to integrate data from these different functional areas.
Data integration requires a sophisticated and thorough understanding of your business as it is. Data integration by standardization — particularly by standardizing vocabulary — is unlikely to succeed in a large and complex enterprise.