Promoting Data

This topic explains how the Promotion process works in Oracle Unity. Promotion is the third step in the Identity Resolution Pipeline Job to create master entities.

In this topic:

Introduction

Most of your customers have multiple online accounts and profiles, and each one might be filled in a little bit differently. Therefore, your ingested data likely includes conflicting data sets (sets of data with different values).

The Promotion process in Oracle Unity that runs during the Identity resolution pipeline job (ID Resolution job) is responsible for ranking conflicting sets of data, and promoting only the one that is the highest fidelity. It does this by running one or more promotion rules.

Promotion Rules

Your Unity instance comes with out-of-the-box Promotion Rules that are designed to achieve good results. We recommend examining the results before modifying them or creating new ones.

Looking at the JSON for a Promotion Rule, you'll notice the following parameters:

  • The outputAttributes parameter declares all the data attributes the rule will promote

  • The configs parameter is an array that contains a series of operations. Each operation weighs the fidelity of each data record according to criteria you specify. Individual configs are run in the order you prescribe using the order parameter.

    If the outcome of the first config is a tie, then the second config is run. If the second config ends in a tie, the next config is run. And so on, until only one data record is determined the winner. That instance of data is the one that gets promoted to the master entity. Therefore, the order in the configs parameter is critical to the promotion rule.

    Each config uses one of the following mergeType operators:

    • GROUP_AND_SCORE: Creates a group of data attributes and gives each a score. Data records score points when the attribute in a data record contains a value. The data set from the highest-scoring data record is the one that gets promoted.

    • MOST_TRUSTED_VALUE: Identifies a data object and evaluates its trustworthiness based on provided logic. It then promotes the data set containing the most trusted value. For example, the most trusted email address might be the one that the customer has consented to receive email messages from, as opposed to the email address that is unsubscribed from receiving email messages.

      For example, the most trusted email address might be the one where the customer has consented to receive email messages, as opposed to the email address that is unsubscribed from receiving email messages.

    • MAX: Promotes the highest value.

    • MIN: Promotes the lowest value.

    • NOT_NULL: Eliminates records with null values before moving to the next promotion rule.

If the outcome of the first config is a tie, then the second config is run. If the second config ends in a tie, the next config is run. And so on, until only one data record is determined the winner. That instance of data is the one that gets promoted to the master entity. Therefore, the order in the configs parameter is critical to the promotion rule.

Each config uses one of the following mergeType operators:

How do Promotion Rules Promote Attributes?

Let's look at a sample promotion rule in relation to a data set, to learn how the promotion rule decides which data is promoted to the master entity.

Example 1

The first promotion rule we will examine is the promotion rule ID "MasterCustomer_ruleId1". You can view the JSON for this rule in the example below.

This promotion rule is designed to:

  • Promote the highest fidelity contact record using the attributes first name, last name, middle name, suffix, prefix, date of birth, age, and gender.

Consider the following sets of data (which Unity already knows refer to the same person). Which data set would be the one to get promoted to the master entity according to this rule?

Data Set First Name Last Name Middle Name Suffix Prefix Date of Birth Gender Age
Data Set 1 Kate Brown J     19920504 F 23
Data Set 2 Katherine Brown       19920504 F 22
Data Set 3 Kathy Brown Jane   Mrs NULL F NULL
Data Set 4 Kate         19110101 F 99
Data Set 5 Katie Brown       NULL F NULL
  • Based on the results of the GROUP_AND_SCORE config on First and Last Name ("order":1):

    • Data set 1, data set 2, data set 3, and data set 5 all receive a score of three, whereas data set 4 receives a score of two

    • Data set 4 is excluded from further consideration, but the other data sets are tied

  • Based on the results of the MOST_TRUSTED_VALUE config on whether it's ok to email ("order":2), data set 2 is excluded, and data sets 1, 3, and 5 are tied.

  • Based on the MAX config on whether the account is still active ("order":3), data sets 4 and 5 are excluded, and data sets 1 and 3 are tied.

  • Based on the MAX config on time last modified ("order":4), data set 1 has the latest (therefore, largest) modified in timestamp.

Based on this promotion rule, Unity promotes the attributes for data set 1 to the master entity (first name, last name, middle name, suffix, prefix, date of birth, age, and gender).

Example 2

Next let's consider the promotion rule "MasterCustomer_ruleId3". You can view the JSON for this rule in the example below.

This promotion rule is designed to:

  • Promote the most appropriate email address by promoting the attributes "Email Address" and "OKtoEmail".

Consider the following sets of data (which Unity already knows refer to the same person). Which data set would be the one to get promoted to the master entity according to this rule?

Data Set First Name Last Name Email Address OK to Email?
Data Set 1 Kate Brown kate.brown@example.com N
Data Set 2 Katherine Brown katherine.brown@example.com N
Data Set 3 Kathy Brown kathy.brown@example.com Y

The attributes for data Set 3 are promoted because "OKtoEmail" is the most trusted value, and the value for that data record is Yes.

Based on this promotion rule, Unity promotes the attributes for data set 3 to the master entity (Email Address and OK to Email).

Next steps

Promotion Rules API

Learn more

Master Entities

Creating Master Entities in Unity