# Patent

## Title
Data enrichment using business compendium

## Abstract

Embodiments relate to enrichment of a data warehouse utilizing a business compendium. Embodiments may employ a process comprising data standardization and cleansing, de-duplication of entries, and matching and enrichment, followed by manual review of an enriched record by a user. During standardization, data may be transformed into consistent content, placing correct data elements into appropriate fields, removing invalid characters, and/or standardizing names and addresses. Duplicate records are then detected and marked. During matching and enrichment, the existence of an entity (such as a supplier), may be verified by progressive matching against the business compendium. Enrichment may provide additional information regarding the entity (e.g. related to risk, diversity, and bankruptcy). The enriched record is available for manual review, allowing the user to change duplicates, matches, and parent/child linkages. Feedback from the user review may enhance accuracy of subsequent enrichment by self-learning aspects, reducing over time a need for manual review.

## Background
BACKGROUND
Embodiments of the present invention relate to data warehouses, and in particular, to systems and methods employing data enrichment using a business compendium.
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Effective resource planning for the enterprise may depend upon the accuracy and detail of underlying records. For example, where supplier identities are obscured due to poor data quality and/or lack of content in a data warehouse, the depth of understanding of a supply base may be hindered. This lack of visibility may interfere with rightful insight on supplier information, and aggregated spend towards those suppliers.
Accordingly, the present disclosure addresses these and other issues with systems and methods employing data enrichment using a business compendium.
SUMMARY
Embodiments relate to enrichment of a data warehouse utilizing a business compendium. Embodiments may employ a process comprising data standardization and cleansing, de-duplication of entries, and matching and enrichment, followed by manual review of an enriched record by a user. During standardization, data may be transformed into consistent content, placing correct data elements into appropriate fields, removing invalid characters, and/or standardizing names and addresses. Duplicate records are then detected and marked. During matching and enrichment, the existence of an entity (such as a supplier), may be verified by progressive matching against the business compendium. Enrichment may provide additional information regarding the entity (e.g. related to risk, diversity, and bankruptcy). The enriched record is then available for manual review, allowing the user of the data warehouse to change duplicates, matches, and parent/child linkages. Feedback from the user review may enhance the accuracy of subsequent enrichment. The business compendium may be constructed from multiple data providers after matching suppliers on various attributes.
An embodiment of a computer-implemented method comprises causing an enrichment engine to receive an input data set, causing the enrichment engine to perform standardization and cleansing of the input data set, and causing the enrichment engine to identify duplicate entries in the input data set. A matching component of the enrichment engine is caused to perform matching of non-duplicate entries of the input data set to a business compendium having data compiled from a third party source. The enrichment engine is caused to create an enriched data set including additional information based upon the matching, and the enriched data set is provided to a user for manual review.
An embodiment of a non-transitory computer readable storage medium embodies a computer program for performing a method comprising causing an enrichment engine to receive an input data set, causing the enrichment engine to perform standardization and cleansing of the input data set, and causing the enrichment engine to identify duplicate entries in the input data set. A matching component of the enrichment engine is caused to perform matching of non-duplicate entries of the input data set to a business compendium having data compiled from a third party source. The enrichment engine is caused to create an enriched data set including additional information based upon the matching, and the enriched data set is provided to a user for manual review.
An embodiment of a computer system comprises one or more processors and a software program executable on said computer system. The software program is configured to cause an enrichment engine to receive an input data set, cause the enrichment engine to perform standardization and cleansing of the input data set, and cause the enrichment engine to identify duplicate entries in the input data set. A matching component of the enrichment engine is caused to perform matching of non-duplicate entries of the input data set to a business compendium having data compiled from a third party source. The enrichment engine is caused to create an enriched data set including additional information based upon the matching. The enriched data set is provided to a user for manual review.
Certain embodiments may further comprise providing feedback to the matching component based upon the manual review.
In some embodiments the input data set includes a business entity, and the additional information includes ownership of the business entity.
According to particular embodiments, the additional information comprises diversity information, government sanction information, bankruptcy information, or risk information.
In various embodiments the matching is based upon multiple priorities.
In certain embodiments the matching is performed progressively according to loosening criteria.
According to some embodiments the business compendium is created from a plurality of content providers.
The following detailed description and accompanying drawings provide a better understanding of the nature and advantages of particular embodiments.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is a simplified flow diagram showing a data enrichment process according to an embodiment.
FIG. 1B is a simplified diagram showing a system for data enrichment according to an embodiment.
FIGS. 2-2F are diagrams showing an example of an enrichment process.
FIG. 3 is a table showing an example of an enriched data set in tabular form.
FIG. 4 shows matching rules employed by an enrichment engine.
FIG. 5 are charts comparing spend information derived from conventional data, versus spend information obtained from data enriched according to an embodiment.
FIG. 6 is a simplified flow diagram showing construction of a business compendium.
FIGS. 7-7E show the creation of a business compendium.
FIG. 8 illustrates hardware of a special purpose computing machine configured to perform transaction classification according to an embodiment.
FIG. 9 illustrates an example of a computer system.



DETAILED DESCRIPTION
Described herein are techniques for data enrichment. The apparatuses, methods, and techniques described below may be implemented as a computer program (software) executing on one or more computers. The computer program may further be stored on a computer readable medium. The computer readable medium may include instructions for performing the processes described below.
In the following description, for purposes of explanation, numerous examples and specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention as defined by the claims may include some or all of the features in these examples alone or in combination with other features described below, and may further include modifications and equivalents of the features and concepts described herein.
Data enrichment is the processing of normalizing the supply base and supplementing it with additional information to improve leverage and decision making. As just one example, enriched business information can drives effective spend analyses for leverage, compliance, supplier management, and business insights.
According to particular embodiments, data from a customer can be enriched with additional information obtained from a business compendium. Such a business compendium may comprise information such as corporate ownerships, trade styles, line-of-business, diversity indicators, and government sanctions. In particular embodiments, the business compendium can provide consolidated views of supplier data from multiple third party data providers, and other additional supplier-related information.
FIG. 1A is a simplified flow diagram showing an embodiment of a data enrichment process 100. In a first step 102, an input data set is received from a customer. FIG. 2A presents an example input data set in table form.
In step 104, the input data is subject to standardization and cleansing of the name and address information. FIG. 2B shows standardization and cleansing of the example data set of FIG. 2A.
In step 106, duplicate records are identified and marked. FIG. 2C shows the performance of this function on the example data set.
In step 108, the data is matched with records of a business compendium to perform validation and creation of an enriched data set. The matching may be performed utilizing a multi-step match algorithm. The enrichment may create reference records reflecting the most substantially enriched information available from the business compendium and third party data providers.
FIG. 2D shows enrichment of the exemplary data set. FIG. 2E shows the business compendium referenced in the enrichment, and also the third party data providers that are in communication with the business compendium.
In step 110, the enriched records may be presented to a user for manual review. FIG. 2F shows the manual review of the exemplary data set.
Depending upon the particular embodiment, one or more steps may be omitted and/or performed in a different order than is outlined above. Details regarding various embodiments are presented below.
FIG. 1B is a simplified diagram showing a system 150 for data enrichment according to an embodiment. This figure depicts how the customer data flows through various sections of enrichment process and gets additional enriched information from the business compendium 156.
In particular, FIG. 1B shows an enrichment engine 151 receiving the input data set 152 from a customer. The input data set may comprise customer or supplier master data.
The enrichment engine references a plurality of rules present in a non-transitory computer readable storage medium in order to perform one or more of the steps outlined above in FIG. 1A and described in detail below. The enrichment engine includes a standardization and cleansing component 151a, and a de-duplication component 151b. 
A matching and enrichment component 150c of the enrichment engine is configured to communicate with a business compendium 156. Business compendium 156 in turn includes data from one or more third party data providers 160.
A review component 151d of the enrichment engine is configured to afford a user 162 the opportunity for manual review and revision of data through feedback 163. Ultimately, the enrichment engine provides an enriched output data set 164.
Functions performed by the various components of the data enrichment engine that may be present in various embodiments, are now described in detail.
During standardization, the input data is transformed into clean and consistent content. For example, the input data may be stored in the wrong fields, may have inconsistent spellings and abbreviations, and/or may carry invalid characters. The standardization functionality places the correct data elements into the appropriate fields, removes invalid characters, and/or standardizes firm names and addresses.
Examples of standardization include but are not limited to:

    
    
        Column parsing;
        Firm names, e.g. {I.B.M., INT'L BUS. MACH}=IBM;
        Legal entity designations by country, e.g. {LLC, PTY, PNTY, LIMITED, CO, CORP . . . };
        Abbreviations—common words and phrases, e.g. {MFG, INTL, SVCS, M&R};
        Word forms, e.g. {MANUFACTURE, MANUFACTURING};
        Data Services Global Address Cleansing with the All World Directory;
        Validation of addresses to the locality/city level; and
        Formatting and parsing street level components.
    
    


Following standardization, duplicate records are identified within the data submitted. Such duplicates may arise from spelling variations or the use of different system keys. The duplicate records are detected and marked. Duplicate records are not sent further for enrichment.
During the enrichment, suppliers are matched against the business compendium in multiple ways to verify their existence. Certain embodiments may start with the tightest, most detailed criteria calling for close location matches. Subsequent matching may become progressively looser (e.g. in terms of geography or other factors), in order to accurately link the supplier with the appropriate record in the business compendium.
According to certain embodiments, a matching process may consider various combinations of:

    
    
        Names (Legal, Trade style, DBA)
        Addresses (Street, Alternate Mailing Address)
        Geographic Ranges (Postal, City, Region, Country, ISO code)

for exact and fuzzy matching FIG. 4 shows sample passes of above match process.

    
    


Matching of an entry in a data set with a record of a business compendium, may be achieved through matching performed by a matching engine. According to certain embodiments, where multiple matched records are found, the matching process may employ a Multi-Priority matching algorithm comprising a set of rules applied in order to choose among them.
In a particular embodiment, the highest priority (Priority 1) rule chooses the record(s) having a match score≧a minimum limit for NAME OR ADDRESS that were changed manually by the user in the past. A next-highest priority (Priority 2) rule chooses the records(s) having a match score≧a minimum limit for NAME OR ADDRESS that were generated by matching engine.
A next-highest priority (Priority 3) rule of the algorithm determines if multiple records are still found. If so, records with a preferred data provider are chosen.
After application of the Priority 3 rule there may remain a tie in the score, with multiple records still found. Then, a next-highest priority (Priority 4) rule of the algorithm chooses the record which is the most recently updated one.
Once the record has been matched and validated, it may be further processed and enriched with additional information. Examples of such additional information include but are not limited to risk information, diversity information, government sanction, bankruptcy information, ownership information, line of business information, sales review, number of employees, headquarter etc.
The business compendium and/or satellite database(s) store additional information. The enriched information is consolidated from the business compendium and/or satellite tables, and added to customer record and then declared as a reference record.
A “reference record” is a customer record that is formed with significant content extracted from the various sources according to source priority, element priority, and pre-defined rules. The content is extracted from the business compendium and/or satellite tables for enrichment.
Embodiments provide for manual review of enriched records by the user. The user can review and change duplicates, matches, and parent/child linkages after creation of the reference record.
The oversight review may generally be done after sources are enriched, in order to make sure orphan records are managed and linkages are appropriate. Depending upon the scope of the customer's requirements, this could be done as a formal external review in conjunction with a Data Steward of the user in order to ensure overall quality. From an implementation standpoint, it may be appropriate to conduct the oversight review internally first, and then involve a Data Steward.
Rejected matches may be logged so as not to repeat the same suggestion in the future. Thus, particular embodiments may employ these self-learning aspects, reducing over time a need for manual review. This aspect of system learning is shown as 199 in FIG. 1B.
According to some embodiments, highly confident matches may automatically be accepted. The remaining matches may require some resolution. In certain embodiments, priority logic may be applied to resolve the remaining matches. For example the “Multi-Priority” algorithm described above offers a set of rules applied to multiple records found after matching, in order to choose the best among them.
As new external source data is introduced into the process, it may go through the same standardization and cleansing, duplication, matching and prioritization logic before updating the business compendium. This will ensures that both sets of data are cleaned same before matching to maximize the quality and quantity of the match.
EXAMPLE
FIGS. 2-2F are simplified diagrams showing an example of a process according to an embodiment. FIG. 2 shows an overview of the process.
FIG. 2A provides the raw data from the input. Missing city information for record I-772418 is filled in after cleansing process in FIG. 2B. The nine digit zip code is filled in for the records I-772416, I-772417, I-772418, and I-772422 in FIG. 2B.
In FIG. 2C, the records I-772417, I-772418 and I-772422 are duplicated, and they have the same duplicate ID I-772417. Records I-772412, I-772416, I-772417 and I-772419 will move forward to FIG. 2D for Enrichment.
After matching with the business compendium, the record I-772412 gets the hierarchy of I-772412→E51→E52→E47. Also, the record I-772412 gets enrichment information such as TIN, LOBDESC, ISO, and Minority indicator, Veteran indicator, Women owned indicator, small business indicator, OFAC code, Risk information etc.
In FIG. 2F, following the manual review, the parent of I-772416 is changed from E68 to E52.
The SAP Business Compendium is a dynamic business record constructed from contextually relevant data compiled from around the globe. While new sources are negotiated on an ongoing basis, a current version of the SAP Business Compendium includes over 175 million businesses in more than 200 countries.
The SAP Business Compendium supplier hierarchy is a multi-level hierarchy based on legal ownership—51% or more owned. The hierarchy is created by using information stored in satellite databases from third party sources, examples of which include but are not limited to Dunn & Bradstreet (DNB), Central Contract Registration (CCR), Office of Foreign Asset Control (OFAC), Cortera etc.
This instant example shows that by enriching customer supplier data with information from the SAP Business Compendium, can lead to greater insight in spend activities. Specifically, FIG. 3 is a table showing a supplier data enriched with supplier location and supplier ownership information from the SAP Business Compendium.
FIG. 5 shows the charts of the data in FIG. 3. The validation and enrichment process according to an embodiment has allowed customers to achieve reduction in supply base. Specifically, validation of the enriched data set has identified unique supplier locations (e.g. 1 Verizon Way Basking Ridge N.J.; 150 N. Michigan Ave., Chicago, Ill.). Enrichment has also identified supplier locations that are actually subsidiaries of a parent corporation (e.g. RockTenn Company), thereby further reducing the supply base.
Thus by enriching the supplier data set with additional information regarding corporate ownership information, spend can be further aggregated to increase leverage opportunities. Enriching the data set with additional information such as credit, risk, financial status, and government sanctions, may allow identification of scalable and sustainable suppliers to manage risks that can impact supply chain and corporate performance.
By enriching a supplier data set with additional information relating to diversity, reports on compliance for small and minority-owned business targets can be readily prepared. By enriching a supplier data set with additional information relating to government sanctions, reports on compliance with import/export regulations can be readily prepared.
Details regarding the SAP Business Compendium and its creation, are provided further below. In particular, FIG. 6 is a simplified flow diagram showing construction of a business compendium.
Different data providers provide the update on regular bases. Satellite databases are updated depending on if the ID of a record is new, old, or deleted.
Each content provider's records may go through same standardization and cleansing, duplication, matching and prioritization logic, before updating the business compendium. For a supplier record never seen before, a new Compendium ID (BEID) is generated.
For the supplier record seen before (even from different source) compendium ID (BEID) is reused. In particular, FIG. 6 shows that the Multi-Priority matching algorithm may also be applicable to the process of updating the business compendium with new source information.
FIG. 7 describes how a business compendium (FIG. 7C) is constructed from four different content providers DP1 (FIG. 7A), DP2 (FIG. 7B), DP3 (FIG. 7D) and DP4 (FIG. 7E). In FIG. 7C, BEID 51 has four (4) records and two different data source providers (DP1, DP3). All four records have similar name and address information for the compendium to have a same BEID.
Similarly BEID E-70 has two records: one from source DP1 (DP1-007), and one from source DP2 (DP2-003). Both of the records have similar name and address elements for compendium to assign the same BEID.
Particular embodiments may offer certain benefits in the context of enterprise resource planning. For example, enriched business information drives effective spend analyses for leverage, compliance, supplier management, and business insights. By enriching suppliers with corporate ownerships, spend can be further aggregated to increase leverage opportunities.
Also, further including information (such as credit, risk, diversity, government sanctions, and financial status) in the data warehouse, allows identification of scalable and sustainable suppliers in order to manage risks that may impact supply chain and corporate performance.
Inclusion of diversity information can facilitate reporting on compliance for small and minority-owned business targets.
FIG. 8 illustrates hardware of a special purpose computing machine configured to perform data enrichment according to an embodiment. In particular, computer system 800 comprises a processor 802 that is in electronic communication with a non-transitory computer-readable storage medium 803. This computer-readable storage medium has stored thereon code 805 corresponding to various components of an enrichment engine. Code 804 corresponds to a matching component of the enrichment engine. Code may be configured to reference data stored in a database of a non-transitory computer-readable storage medium, for example as may be present locally or in a remote database server. Software servers together may form a cluster or logical network of computer systems programmed with software programs that communicate with each other and work together in order to process requests.
An example computer system 910 is illustrated in FIG. 9. Computer system 910 includes a bus 905 or other communication mechanism for communicating information, and a processor 901 coupled with bus 905 for processing information. Computer system 910 also includes a memory 902 coupled to bus 905 for storing information and instructions to be executed by processor 901, including information and instructions for performing the techniques described above, for example. This memory may also be used for storing variables or other intermediate information during execution of instructions to be executed by processor 901. Possible implementations of this memory may be, but are not limited to, random access memory (RAM), read only memory (ROM), or both. A storage device 903 is also provided for storing information and instructions. Common forms of storage devices include, for example, a hard drive, a magnetic disk, an optical disk, a CD-ROM, a DVD, a flash memory, a USB memory card, or any other medium from which a computer can read. Storage device 903 may include source code, binary code, or software files for performing the techniques above, for example. Storage device and memory are both examples of computer readable mediums.
Computer system 910 may be coupled via bus 905 to a display 912, such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. An input device 911 such as a keyboard and/or mouse is coupled to bus 905 for communicating information and command selections from the user to processor 901. The combination of these components allows the user to communicate with the system. In some systems, bus 905 may be divided into multiple specialized buses.
Computer system 910 also includes a network interface 904 coupled with bus 905. Network interface 904 may provide two-way data communication between computer system 910 and the local network 920. The network interface 904 may be a digital subscriber line (DSL) or a modem to provide data communication connection over a telephone line, for example. Another example of the network interface is a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links are another example. In any such implementation, network interface 904 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
Computer system 910 can send and receive information, including messages or other interface actions, through the network interface 904 across a local network 920, an Intranet, or the Internet 930. For a local network, computer system 910 may communicate with a plurality of other computer machines, such as server 915. Accordingly, computer system 910 and server computer systems represented by server 915 may form a cloud computing network, which may be programmed with processes described herein. In the Internet example, software components or services may reside on multiple different computer systems 910 or servers 931-935 across the network. The processes described above may be implemented on one or more servers, for example. A server 931 may transmit actions or messages from one component, through Internet 930, local network 920, and network interface 904 to a component on computer system 910. The software components and processes described above may be implemented on any computer system and send and/or receive information across a network, for example.
The above description illustrates various embodiments of the present invention along with examples of how aspects of the present invention may be implemented. The above examples and embodiments should not be deemed to be the only embodiments, and are presented to illustrate the flexibility and advantages of the present invention as defined by the following claims. Based on the above disclosure and the following claims, other arrangements, embodiments, implementations and equivalents will be evident to those skilled in the art and may be employed without departing from the spirit and scope of the invention as defined by the claims.

## Claims

1. A computer system comprising:
one or more processors;
a software program, executable on said computer system, the software program configured to:
cause an enrichment engine to receive an input data set comprising a first supplier and a second supplier;
cause the enrichment engine to perform standardization and cleansing of the input data set, the standardization comprising validating supplier addresses to a locality/city level;
cause the enrichment engine to identify duplicate entries in the input data set;
cause a matching component of the enrichment engine to perform matching of non-duplicate entries of the input data set to a business compendium having data compiled from a third party source, wherein the matching is performed according to criteria comprising,
a first priority comprising name or address having a score greater than a minimum and changed manually in the past,
a second priority comprising name or address having the score greater than the minimum and generated by a matching engine,
a third priority comprising the third party source as a preferred data provider, and
a fourth priority comprising a most recent updating;

cause the enrichment engine to create an enriched data set including additional information based upon the matching, wherein the additional information comprises common corporate ownership and a unique supplier location indicating the first supplier as a subsidiary of the second supplier; and
providing the enriched data set to a user for manual review.

2. A computer system as in claim 1 wherein the computer program is further configured to provide feedback to the matching component based upon the manual review.

3. A computer system as in claim 1 wherein the additional information further comprises diversity information, government sanction information, bankruptcy information, or risk information.

4. A computer system as in claim 1 further comprising logging the enriched data set with a rejection of a match during the manual review.

5. A computer system as in claim 4 wherein the logging precludes including the additional information in the enriched data set in the future.

6. A computer system as in claim 1 wherein the additional information includes a duplicate data record identifier.

7. A computer system as in claim 1 wherein the additional information includes a parent identifier of a hierarchy.

8. A computer system as in claim 7 wherein the parent identifier comprises a compendium identifier in the business compendium.