A frequent challenge when building a customer master data hub is dealing with incoming records from operational systems where the data in one record belongs to several real world entities.
One situation may be that that a name contains two (or more) real world names. This situation was discussed in the post Splitting names.
Another situation may be that:
- The name belongs to real world entity X
- The address belongs to real world entity Y
- The national identification number belongs to real world entity Z
Fortunately most cases only have 2 different real world representations like X and Y or Y and Z.
An example I have encountered often is when a company delivers a service through another organization. Then you may have:
- The name of the 3rd party organization in the name column(s)
- The address of the (private) end user in the address columns
Or as I remember seen once:
- The name of the (private) end user in the name column(s)
- The address of the (private) end user in the address columns
- The company national identification number of the 3rd party organization in the national ID column
Of course the root cause solution to this will be a better (and perhaps more complex) way of gathering master data in the operational systems. But most companies have old and not so easy changeable systems running core business activities. Swapping to new systems in a rush isn’t something just done either. Also data gathering may take place outside your company making the data governance much more political.
A solution downstream at the data matching gates of the master data hub may be to facilitate complex hierarchy building.
Oftentimes the solution will be that the single customer view in the master data hub will be challenged from the start as the data in some perception is fit for the intended purpose of use.






