In our first article in the relevance-based match series, we compared the advantages of relevance-based rules over the binary system. With a clear understanding of differences, we will explore how relevance-based rules are configured.
Creating a Match Rule with the Data Modeler
For this walkthrough, we are going to be working in the data modeler application. You can open the data modeler by logging into your tenant, clicking the chocolate bar button in the top right, and clicking the “Data Modeler” Button. From there choose the entityType you would like to draft a rule for and select “MatchRules. To start building your rule click create new in the top right.
There are two ways to configure match rules in Reltio. One way is through UI inside the data modeler; the other is in the L3 via REST APIs. Typically, I recommend starting with the data modeler because it is more user-friendly and builds the JSON model for the users. Some features, like weightings, are only available by configuring the JSON directly. In these cases configure as much as you can in the GUI and then switch to the advanced editor or Postman to complete the rule.
Match Rule Settings
Below are the basic settings that must be configured for all rules. I’ll explain each in order
When designing rules in your testing, we recommend that you don’t start with an automatic match action. It’s easier to tune and evaluate rules when they’re only creating potential matches. Once you are satisfied with the performance of your rule you can set the strongest group to automatic.
In our example above, we created two potential match actions:
The first is a strong match that will likely become an auto-merge in the future. However, when starting, it’s better to tune things before they merge rather than going back to unmerge them later. The second matches are weaker matches that might need to be manually merged later.
For each match action, you must assign thresholds. In this example, we used 85% to 100% for strong matches and set weak to 40-84%. The best practice is to ensure that there is no gap in your thresholds. Luckily the UI will notify you if your thresholds do not intersect and prompt you to correct them.
Choosing Match Attributes
The next step in setting up a match is deciding which attributes you would like to consider. In our example, we are merging customer data from two separate source systems, and we chose to use first name, last name, address line one, and zip code. The attributes you choose will be dependent on your data. The goal is to consider attributes that will be uniquely identified for the entityType you are working on.
For each attribute in your match rule you must define match token and comparator classes. Not every match token is compatible with every comparator so be sure to reference the documentation when selecting the combination that will work best for you. For attributes like names consider using the Reltio Name Dictionary Cleanser to cover for common nicknames and alternative spellings.
Assigning Weightings
Weightings are the relative values of the attributes in the match rules. They can be used to tune the rules performance by prioritizing the match of some attributes over others. For example, when matching two individuals based on name, it is more important that the values of FirstName and LastName match than the value of the Suffix. Therefore we might set the relative weight of the Suffix to .2 and leave the values of FirstName and LastName at the default values of 1.
Weightings can not be configured in the UI editor and must be added to the json directly via the advanced editor or L3. See the screenshot below for syntax
Evaluating Your Rule
Once you are done configuring your match rule run a Reindex job to refresh the match table and tokens for your data.
From the search screen open up match rules in the faceted search area and select your new rule. This will filter your data to show only entities with potential matches on your new rule.
Choose a record and navigate to the potential match view. Here you can compare your record and its potential match side by side. Missing from this view, is the match action label set earlier in this tutorial. You need to know if this match fell into your Auto match, Strong Match, or Weak match group. To see this information we will need to make an API call.
Open Postman, grab a fresh token, use the entity’s API followed by _matches.
GET: https://{{environment}}.reltio.com/reltio/api/{{tenant}}/entities/{{entityURI}}/_matches