Sometimes it's not possible to match all records in "one go". This may happen, for example, because not all fields are populated all the time, because the data quality is low, or for other reasons. To overcome these problems, Duco allows you to set up a multi-pass process. Duco runs a multi-pass process as follows:
-
Each pass has a set of rule sets and optional roll-up rules associated with it.
-
Each pass is executed in turn
-
At the end of each pass, all 100% matches become part of the final set of results
-
Any partial matches or unmatched items (or only the unmatched items) are used as the input for the following pass.
Examples of where this is useful are:
-
A one to one match followed by a one to many match
-
To match cross-currency swaps by matching Notional 1 against Notional 1 and Notional 2 against Notional 2. Then try cross-match Notional 1 against Notional 2 and vice versa in a second pass.
Examples
Watch this video for an introduction to muliti-pass.
Let's now look at a practical example. Say you need to match the following data:
In a first pass, the process can match "Counterparty Symbol" from Data set A with the "Counterparty" from data Set B. After this first pass, all records with a perfect match score will be included in the results as "matched" and excluded from the second pass. The other records will go through the second pass. In a second pass, the matching process can match "Counterparty Name" from Data set A with the "Counterparty" from data Set B.
At a high level, these are the necessary set-up steps:
- Set up data inputs as usual
- In the Match fields screen, match "Counterparty Symbol" from Data set A with the "Counterparty" from data Set B and also "Counterparty Name" from Data set A with the "Counterparty" from data Set B
- Match other fields as usual
- Define two rule sets
- The first rule set, let's call it the "Match Symbol" rule set, should contain a rule to ignore the match "Counterparty Name" → "Counterparty"
- The second rule set, let's call it the "Match Name" rule set, should contain a rule the match "Counterparty Symbol" → "Counterparty"
- Define two passes
- The first pass should apply the "Match Symbol" rule set
- The second pass should apply the "Match Name" rule set
This is how you can set up this type or matching process.
- Set up your data inputs as usual
In the match fields screen
- Match "Counterparty Symbol" with "Counterparty" (click on the two fields and then on Add field)
Then "Counterparty Name" with "Counterparty". Note that the "Counterparty" field from Data set B has been already matched with "Counterparty Symbol".
Duco automatically hides fields that have been already matched. It you want to match a field multiple times you can click on Show all fields.
- Click on Show all fields.
The fields that have already been matched are marked with a check box.
- Now match "Counterparty Name" with "Counterparty" (click on the two fields and then on Add field)
- Finally, match the remaining fields as usual
Now it's time to set up the matching rules. We are going to define two rule sets: One where there is an ignore rule on "Counterparty Name" and one where there is an ignore rule on "Counterparty symbol".
- Click on Settings → Rules & Rule sets
In the Rules & Rule sets screen...
- Click on Add to add a rule set
- Enter a name for the rule set. E.g. "Match Symbol"
- Make sure that the "Match Symbol" rule set is selected
- Click on Add rule for Counterparty Name
- Click on Ignore and then press on Save
Now the "Match symbol" rule set is set up.
Similarly, you can set up a "Match name" rule set
Now it's time to set up the multi-pass matching. We are going to define two passes: One that applies the "Match symbol" rule set and one that that applies the "Match Name" rule set.
- Click on Settings → Multi-pass
This will take you the Multi-pass screen
- Click on Create a new pass
- Enter a name for your pass. E.g. "Match symbol"
Duco will now show the screen to set up a matching pass. Click on Edit.
Under Matching Rules, select Match symbol and Save changes.
Adding roll-up rules
At this point, you can already run the process and obtain the following results:
As you can see, among the results there are some partial matches and some unmatched records. If you look once more at the data at the top of this page, you'll notice that the records on Data Set A containing the same deal ID need to be rolled-up in order to match with the records on Data Set B.
For example, the following three records...
... should match with the following record.
Multi-pass and roll-up rules
In Duco, when you have multi-pass process and you also need to use roll-up rules you need to:
- Configure the "passes" for the multi-pass process
- Create one (or more) roll-up rules and rule-sets
- Associate passes with roll-up rule set.
Step 3 is important because, if you associate different passes with different rule sets you can roll-up records in a different way in each pass. For the data in this example, we need to create only one roll-up rule set and associate both the first and second pass with this rule set.
The Roll-up rules page already explains roll-up rules in detail. If you are not familiar with roll-up rules, you can refer to this page before proceeding to the following section.
- Click on Setting → Roll-up rules to go to the Roll up rules screen
Then set up a roll-up rule as follows:
Now, let's go back to the Multi-pass screen.
- Click on Settings → Multi-pass
- Select the first pass
- Click on Edit to change the pass set-up
- From the Roll-up rules drop-down menu select the Roll-up rule set that you defined previously
- Click on Save changes
This is the result:
- Do the same for the second pass
If you run the process again, you will see that Duco is applying the roll up rule and all records are matched.
Identifying the matching pass
Duco allows you to clearly identify which pass a given item was matched or partially-matched in. When Multi-pass is being applied to a process, a Matching Pass column will be displayed. This column will list the applicable pass that achieved the match or partial-match.
Note that this column is optional. Its display can be opted into or out of from the Columns option that is on the right side of the panel.