Reltio Connect

 View Only
  • 1.  Match rules for date parts or ranges

    Posted 11-25-2021 15:11
    Hi folks,

    I am just now getting around to delving into match rules in preparation for making my first change to our set of match rules.
    I am part way through doing some reading of the FAQ's that Joel wrote on matching and plan to read all the FAQ stuff to make sure I have a good general knowledge of matching in Reltio.

    While I'm working on that I wanted to put a question out there for something that doesn't seem obvious to me and there are no similar examples in our tenant rules config and so maybe I could get some direction (or perhaps a similar example?).

    In regards to some of our rules for party entity where we include a match on a date of birth.  If I wanted to break down how that rule works and instead of matching on the whole date...can I match in different/partial ways?  We've noticed on quite a number of situations we'll have dates where the month and year are not matching but the year is.  Sometimes the month and day values are reversed and some times the day values are just a few days off and in another situation I saw that the month and day was set to 01/01 (jan 1) where as the actual date was somewhere in April.  I saw this variety on just a few that cropped up while working on another issue (bulk update) and these dates kept preventing an expected match from happening.   

    Depending on the degree of tightness of the overall rule...there may be situations where I might just want to say if the year matches then we're good...cuz the rest of the rule has enough stuff to make it safe.  In other situations I imaging that if the rest of the rule isn't as tight...but the year and month are reversed or just a few days off (with the same year) then that could be a reasonable match. 

    These are just ideas that I'm brainstorming about as I go about my reading on the subject.  Next thing will be to understand what Reltio is capable of and what approaches could be used (good, better, best?).


    ------------------------------
    Michelle Popovits
    Empire Life
    ------------------------------


  • 2.  RE: Match rules for date parts or ranges

    Reltio Employee
    Posted 11-29-2021 01:21
    Hello,
    You can try something like below (assuming DateOfBirth is a date type attribute) - 

    The following rule has a 2 year threshold for years, 11months threshold for months and 20days threshold for days. Meaning - 
    02/01/1986 is a match with 11/02/1988 but is not a match with 01/02/1989. You can try adjusting the threshold as per your needs. or you can also try ExactNumberMatchToken with a BasicStringComparator if you need the years to be in exact match, or have the threshold as 0 for years.

    Let me know if this has helped.

    {
    "uri": "configuration/entityTypes/Individual/matchGroups/Rule1B",
    "label": "Fuzzy(DoB)",
    "type": "suspect",
    "scope": "ALL",
    "useOvOnly": "true",
    "rule": {
    "matchTokenClasses": {
    "mapping": [
    {
    "attribute": "configuration/entityTypes/Individual/attributes/DoB",
    "parameters": [
    {
    "parameter": "groups",
    "values": [
    {
    "classParams": {
    "threshold": "2"
    },
    "pattern": "\\d{4}+",
    "className": "com.reltio.match.token.RangeNumericMatchToken"
    },
    {
    "classParams": {
    "threshold": "11"
    },
    "pattern": "\\-(\\d{2})\\-",
    "className": "com.reltio.match.token.RangeNumericMatchToken"
    },
    {
    "classParams": {
    "threshold": "20"
    },
    "pattern": "\\-(\\d{2})$",
    "className": "com.reltio.match.token.RangeNumericMatchToken"
    }
    ]
    }
    ],
    "class": "com.reltio.match.token.CustomMatchToken"
    }
    ]
    },
    "comparatorClasses": {
    "mapping": [
    {
    "attribute": "configuration/entityTypes/Individual/attributes/DoB",
    "parameters": [
    {
    "parameter": "groups",
    "values": [
    {
    "classParams": {
    "threshold": "2"
    },
    "pattern": "\\d{4}+",
    "className": "com.reltio.match.comparator.RangeNumericComparator"
    },
    {
    "classParams": {
    "threshold": "11"
    },
    "pattern": "\\-(\\d{2})\\-",
    "className": "com.reltio.match.comparator.RangeNumericComparator"
    },
    {
    "classParams": {
    "threshold": "20"
    },
    "pattern": "\\-(\\d{2})$",
    "className": "com.reltio.match.comparator.RangeNumericComparator"
    }
    ]
    }
    ],
    "class": "com.reltio.match.comparator.CustomComparator"
    }
    ]
    },
    "and": {
    "fuzzy": [
    "configuration/entityTypes/Individual/attributes/DoB"
    ]
    }
    },
    "scoreStandalone": 10,
    "scoreIncremental": 5
    }
    ​

    ------------------------------
    Ranadip Das
    ------------------------------



  • 3.  RE: Match rules for date parts or ranges

    Posted 11-29-2021 09:24
    Hi Ranadip,

    Thanks for the explanation and the example...that looks like it will be extremely useful for what I need!  Can't wait to get into the nitty gritty of these match rules.


    ------------------------------
    Michelle Popovits
    Empire Life
    ------------------------------



  • 4.  RE: Match rules for date parts or ranges

    Founding Member
    Posted 11-29-2021 08:07
    Hi Michelle,

    Here are two points to consider when building match rules on DoB:
    1. Does your data contain a lot of "default" or "epoch" dates such as Jan 1, 1970, Jan 1, 1900 or Jan 1, 0001? If so, I strongly recommend a notEquals rule to prevent these values from generating lots of invalid matches. You may also want to consider purging these values.
    2. Does your data contain DoBs that calculate to a suspiciously high or low age, i.e. >100 or <13? If so, you may want to purge these DoBs or replace the 1st 2 digits of the year with a 19 or a 20 to make the age calculate to a value between 13 and 100 (i.e. between 1921 & 2008).
    Regards,
    Walt

    ------------------------------
    Walt Feldman
    Solutions Architect
    Tenerity
    ------------------------------



  • 5.  RE: Match rules for date parts or ranges

    Posted 11-29-2021 13:12
    Hi Walt,

    Thanks for you suggestions on the date data checks.  I have taken a look and there isn't any significant amount of dates in these categories so we are good.

    ------------------------------
    Michelle Popovits
    Empire Life
    ------------------------------