Reltio Connect

 View Only
Expand all | Collapse all

Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

  • 1.  Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-22-2023 10:58
      |   view attached

    We have a survivorship requirement for the following:

    1.       Base survivorship OV on an attribute, AccountStatus with the following values:

    a.       CUSTOMER

    b.       VERIFIED

    c.       FREE_LISTING

    d.       UNVERIFIED

    e.       INACTIVE

    2.       OV should be based on the sequence above where matching crosswalks exist

    3.       If any ties then used fallback approach such as recency, etc

     We know we meet our requirements by defining a different source systems for each of the 5 attribute values, doing so would permit:

    1.       Use sourcesURIOrder to ensure proper sequencing for the OV

    2.       Use of sourcesForOv to handle fallback with specific rule such recency, aggregation, etc when more than 1 occurrence within a particular AccountStatus.

    Our concerns with doing so, is increased complexity:

    1.       Including the AccountStatus in a crosswalk results in our needing to handle "duplicates" for what should be a single record and likely additional related maintenance

    a.       Logically this making the crosswalk PK based on a non-identifying attribute

    2.       RDM Population where we would need to duplicate 1 Source System to 5 Source Systems

    It would be preferable, if we can use Filtering for an attribute, or other approach, to obtain the same results.

    With filtering, we are not seeing a way to simulate the sourceURIOrder to handle sequencing, so that only the first Filtering condition that is met would return OV values, instead of all the Filter conditions that are met.

    Our questions:

    1.       If we have a different filtering set defined for each value of the AccountStatus, is the OV value aggregation of all the sets or is there any way to get an OV if the value matches "CUSTOMER" so we would not evaluate the other filtering conditions.

    a.       If not, is there any option to define an order of precedence to match our scenario.

    2.       If we need to go with multiple source systems are there any concerns other than what we indicated

    3.       What would recommended approach to meet our survivorship requirements.

    See attachment for additional context



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------

    Attachment(s)



  • 2.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Reltio Employee
    Posted 03-23-2023 11:50

    Hi Mark,

    Another user had a similar use case and they tried to solve it using RDM. Can you check this thread and see if the suggestions in this thread work for you?

    Thanks,



    ------------------------------
    Saurabh Agarwal
    ------------------------------



  • 3.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-23-2023 13:29

    Saurabh,

    We will evaluate if this can work for us. 

    Thanks,

    Mark



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------



  • 4.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Reltio Employee
    Posted 03-24-2023 11:34

    Hi Mark,

    Thank you for all the details. Hope you are doing well!

    I don't think there is a survivorship that can be configured specific by attribute values ordering. However like Saurabh said, there is a workaround for it using RDM. The logic would be - 

    - Create the attribute using resolveLookupCode and a lookup defined in RDM. Because of the resolveLookupCode, the raw value from source will not be stored but the canonical code will be stored.

    https://docs.reltio.com/en/explore/get-going-with-apis-and-rocs-utilities/reltio-rest-apis/model-apis/lookups-api/resolve-attribute-or-tenant-lookups

    - In RDM, define the lookups like this - 

    Reltio Code 1, Reltio Value CUSTOMER -> Canonical Code - 1, Canonical value : CUSTOMER
    Reltio Code 2, Reltio Value VERIFIED -> Canonical Code - 2, Canonical value : VERIFIED
    Reltio Code 3, Reltio Value FREE_LISTING -> Canonical Code - 3, Canonical value : FREE_LISTING
    Reltio Code 4, Reltio Value UNVERIFIED -> Canonical Code - 4, Canonical value : UNVERIFIED
    Reltio Code 5, Reltio Value INACTIVE -> Canonical Code - 5, Canonical value : INACTIVE

    - Define survivorship as MinValue and Fallback as required.

    WARNING - 
    If you do a GET on the entity, the attribute will not have the lookup_raw_value. It will only have lookup_code and lookup_value



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



  • 5.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-24-2023 12:10

    Ranadip,

    Based on Saurabh's earlier comments we have seen this will work for the simple use cases.

    We are currently trying more difficult scenarios using fallback strategies.

    Some of the more challenging include:

    1) Selecting individual attribute OV's differently for a higher priority items where there is a crosswalk for the higher priority but it does not have a value and the lower priority crosswalk does:

               a) In some cases we will want to take the lower priority item (we're ok with this)

               b) Other cases, exclude the lower priorirty item (currently working on)

    We'll update with either findings or blocks.

    Thanks,

    Mark (and Harsha)



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------



  • 6.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-24-2023 16:44

    Saurabh,  Ranadip

    For the following strategies, what is meant by source type?

    1) Record-values based source priority   (what is source type to start, plus any additional info)
    2) Custom survivorship strategy name

    If this is different that Source System, then please provide links to additional information and samples.

    Thanks,

    Mark



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------



  • 7.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Reltio Employee
    Posted 03-27-2023 09:27

    Hi Mark,

    Source Type is source system. You can find some configuration examples here:

    https://docs.reltio.com/en/explore/get-going-with-apis-and-rocs-utilities/reltio-rest-apis/engage-apis/configuration-api/configuring-survivorship-rules-in-the-l3

    Thanks,



    ------------------------------
    Saurabh Agarwal
    ------------------------------



  • 8.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-27-2023 12:56

    Saurabh,

    Thanks for clarification that Source Type is the same as Source System.

    We are still struggling with how to handle the use case where the higher priority crosswalk exists, but does not have any value for a specific attribute. I had erroneously indicated in earlier Post 5 that we had an approach when wanting to capture the OV from the lower priority item, but I was wrong.

    We are sttill trying to figure out how we can use the value from the lower priority group in most but not all cases.

    We're really looking for existing behavior that could be used with Source System, but without having to create artificial Source Systems since the qualifying attribute could change but we wouldn't want it to create duplicate crosswalk or require us to recreate all relationships to that prior crosswalk.

     If there were some way to simply update the Source System Name on an existing crosswalk while retaining all relationships it would provide what we are looking for by using Source System rule, but don't believe this exists.

    Do you have any suggestions and specific recommendations on how we might proceed.

    If possible to have a working session you or other Reltio expert(s) on survivorship, I would hope we could bring this to closure.

    This open item is a signficant blocker for us on critical next phase of the project.

    We are trying to accomplish all of the following:

    Base OV Surivorship of individual attributes based on the order of a single other attribute ("TypePrioritySequence") on contributing crosswalks within the Entity
    The priority of which crosswalks should be considered first will be based on MINIMUM value of "TypePrioritySequence" leveraging  RDM for order
    The sequence and values for "TypePrioritySequence" are:
         1) Customer
         2) Verified
         3) Free Listed

         4) Unverified

    Ignore 5) Inactive since that will have a deleteDate and not be considered for Survivorship
    For entities having crosswalks with any of the first 3 values (1 Customer thru 3 Free Listed), then for a specific "other" attributes:
        i) Select OV Values from these associated crosswalks only
       ii) Select OV from crosswalks with lowest sequence in the list where a value exists
       iii) If multilple values returned from same sequence then use a fallback strategy for final selection
       iv) NEVER select an OV Value for the 4th Unverified associated crosswalks, even if these are only crosswalks with a value
    For entities with NONE of the first 3 values, but only 4 Unverified):
        Select OV based on standard Survivorship rules

    Thanks,

    Mark



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------



  • 9.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Reltio Employee
    Posted 03-28-2023 09:52

    Hi Mark,

    I would suggest you to reach out to your CSM so they can engage the right people from Reltio to help you build the correct logic. 

    Thanks,



    ------------------------------
    Saurabh Agarwal
    ------------------------------



  • 10.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Reltio Employee
    Posted 03-29-2023 13:35

    Hello Mark,

    Below is a solution that I believe will work based on how I understood the requirements.

    Attaching the JSON of the survivorship strategies for the setup below.

    Hope this helps.


    Step 1: Create three new attributes (IsCustomer, IsVerified, IsFreeListed). Type: boolean

    Step 2: Set the boolean value = true if the crosswalk has the specific type.

    Step 3: For each "other" attribute (ex: Name, Class, State), create a default strategy for profiles where only "Unverified" crosswalks exist.

    Step 4: To handle the type priority for the top 3 values, create an additional survivorship rule for every "other" attribute based on the below setup.

    How the above "fallback strategies" set up works:

    1. Filter: Profile has to have type values: "Customer", "Verified", "Free Listed" (Caveat to be explained further below)
    2. Reltio will check if there are values from crosswalks that have type = Customer.
      • If there are multiple values, it will be handled in Step 5 but will still go through Step 3 and Step 4
      • If there are no values, it will go to Step 3
      • If there is only one value, it will survive and END
    3. Reltio will check if there are values from crosswalks that have type = Verified
      • If there are multiple values from Step 2, this will produce no potential winning candidates and will go to Step 4
      • If there are multiple values from Step 3, it will take the LUD from the potential candidates from Step 3 and END
      • If there are no values, it will go to Step 4
      • If there is only one value, it will survive and END
    4. Reltio will check if there are values from crosswalks that have type = Free Listed
      • If there are multiple values from Step 2, this will produce no potential winning candidates and will go to Step 5
      • If there are multiple values from Step 4, it will take the LUD from the potential candidates from Step 4 and END
      • If there are no values, it will go to Step 5
      • If there is only one value, it will survive and END
    5. Reltio will check if there are values from crosswalks that have type = Customer.
      • If there are multiple values from Step 5, it will take the LUD from the potential candidates from Step 5 and END
      • If there are no values, no value will survive and END

    Caveat:  It appears that the filtering option expects all values to exist in order to trigger the rule. So you will need to create additional rules for each possible combination (ex: all 3 values exist or 2 of the values exist or only 1 value exists).  @Saurabh Agarwal will need to advise if this is working as designed.

    Additional steps if only one Priority Type ("Customer", "Verified", etc) needs to survive as the OV.

    Step 1: Create an attribute for "Score" (based on Ranadip's feedback above) with RDM lookup and resolveLookupCode = true. This will be populated using the type values ("Customer", "Verified", etc).

    Step 2: Set "Score" survivorship to "Min Value". Set the "PriorityType" survivorship to "OtherAttributeWinnerCrosswalk" and set the primaryAttributeURI to  "Score"

    Results: Multiple types exist in the profile.

    Results: Only 'Unverified' type exist in the profile.


    Here is the code: 

    {
                "attribute": "configuration/entityTypes/Organization/attributes/ TESTTypePriorityScore",
                "survivorshipStrategy": "MinValue"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTType",
                "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/ TESTTypePriorityScore",
                "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                "survivorshipStrategy": "MaxValue"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTIsVerified",
                "survivorshipStrategy": "MaxValue"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTIsFreeListed",
                "survivorshipStrategy": "MaxValue"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                "survivorshipStrategy": "LUD"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTClass",
                "survivorshipStrategy": "LUD"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTState",
                "survivorshipStrategy": "LUD"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                "filter": {
                    "equals": [
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Customer"
                        },
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Verified"
                        },
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Free Listed"
                        }
                    ]
                },
                "fallbackStrategies": [
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsVerified",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsFreeListed",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    }
                ],
                "fallbackUsingCriteria": "ZERO_OR_MORE_THAN_ONE",
                "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTClass",
                "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                "filter": {
                    "equals": [
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Customer"
                        },
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Verified"
                        },
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Free Listed"
                        }
                    ]
                },
                "fallbackStrategies": [
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTClass",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsVerified",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTClass",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTClass",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsFreeListed",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTClass",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTClass",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTClass",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    }
                ],
                "fallbackUsingCriteria": "ZERO_OR_MORE_THAN_ONE",
                "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTState",
                "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                "filter": {
                    "equals": [
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Customer"
                        },
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Verified"
                        },
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Free Listed"
                        }
                    ]
                },
                "fallbackStrategies": [
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTState",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsVerified",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTState",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTState",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsFreeListed",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTState",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTState",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTState",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    }
                ],
                "fallbackUsingCriteria": "ZERO_OR_MORE_THAN_ONE",
                "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
            }


    ------------------------------
    Bryant Barrenechea
    ------------------------------



  • 11.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-29-2023 15:48

    Bryant,

    Appreciate the thorough and thought-thru recommendation.

    I don't see the referenced JSON attachment of the survivorship strategies, could you provide this.

    We will be reviewing and evaluating.

    Thank you much,

    Mark



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------



  • 12.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Reltio Employee
    Posted 03-29-2023 15:53
      |   view attached

    The attachment appears to have failed on the original post so adding again.



    ------------------------------
    Bryant Barrenechea
    ------------------------------

    Attachment(s)



  • 13.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-29-2023 20:56

    Bryant,

    This looks very interesting and creative.

    Would you have concerns about performance, for illustration purposes we had 3 types, in reality we may have as many as 6. Also this will be required for about:

        Organization:   50 simple attributes; 10 nested
        Contact:             30 simple attributes;   5 nested

    Thanks,

    Mark



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------



  • 14.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Reltio Employee
    Posted 03-30-2023 08:43

    Hello Mark,

    I checked with the Platform team and they have no specific concern in terms of the number of rules but they did advise to test against your large profiles, with many crosswalk contributors.

    To reduce the number of combinations due to the "caveat", you can create a single filtered survivorship rule per attribute/type combination. That will reduce the number of rules as opposed to trying to build a rule for every single possible combination of types that can exist within a profile. Below is an example.

            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                "survivorshipStrategy": "LUD"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                "filter": {
                    "equals": [
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Customer"
                        }
                    ]
                },
                "fallbackStrategies": [
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsVerified",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsFreeListed",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    }
                ],
                "fallbackUsingCriteria": "ZERO_OR_MORE_THAN_ONE",
                "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                "filter": {
                    "equals": [
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Verified"
                        }
                    ]
                },
                "fallbackStrategies": [
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsVerified",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsFreeListed",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    }
                ],
                "fallbackUsingCriteria": "ZERO_OR_MORE_THAN_ONE",
                "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
            },
            {
                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                "filter": {
                    "equals": [
                        {
                            "uri": "configuration/entityTypes/Organization/attributes/TESTType",
                            "value": "Free Listed"
                        }
                    ]
                },
                "fallbackStrategies": [
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsVerified",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsFreeListed",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    },
                    {
                        "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                        "primaryAttributeUri": "configuration/entityTypes/Organization/attributes/TESTIsCustomer",
                        "fallbackStrategies": [
                            {
                                "attribute": "configuration/entityTypes/Organization/attributes/TESTName",
                                "survivorshipStrategy": "LUD"
                            }
                        ],
                        "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                    }
                ],
                "fallbackUsingCriteria": "ZERO_OR_MORE_THAN_ONE",
                "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
            },


    ------------------------------
    Bryant Barrenechea
    ------------------------------



  • 15.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-31-2023 11:40

    Bryant,

    Not clear on why need for Filter and the TestIsCustomer.

    Could you explain why need for both ... if better to talk directly please let me know.

    Thanks,

    Mark



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------



  • 16.  RE: Survivorship: Use of Source System vs. Filtering for Control of Sequential Order of Evaluation

    Posted 03-31-2023 14:13

    Bryant,

    We're looking to break down recommendations to individual components to fully understand the suggestion.

    As part of that process, we are not seeing expected behavior related to multiple "Customer" crosswalks where 2 have a value for name, the 3rd most recent is missing, but we are having the missing value returned as OV.

    We opened a support ticket for this: https://support.reltio.com/hc/en-us/requests/88140

    Thanks,
    Mark



    ------------------------------
    Mark Burlock
    Dodge Data & Analytics
    Hamilton NJ
    ------------------------------