Creating the Credit Offers Decision Strategy
The Credit Offers decision strategy outputs three values, one for credit offers, one for credit risk score, and one for credit eligibility when a customer applies for a cash loan.
Learn how to build the first part of the strategy, which focuses on the selection of the credit offer.
Offers are available in some regions and only for customers over a certain age. The business wants to offer an alternative credit offer if the product requested by the customer is not approved. Also, the business has standard eligibility criteria that you need to apply.
The Credit Offer flow
The Credit Offers flow begins by importing cash loan propositions and setting properties based on customer data, such as age and eligibility.
These properties are calculated to determine the suitability of various credit offers.
Eligibility rules are applied using decision tables and filters to ensure only the most appropriate offers are considered.
The strategy then prioritizes the remaining eligible offers based on business criteria like offer amount and customer preferences.
This prioritization helps in selecting the best possible offers for each customer, ensuring they receive tailored and relevant loan options.
Importing the cash loan propositions
The Credit Risk sample application uses a Decision Strategy that applies the available customer data to show three outputs: the requested or alternative loan offer, the credit risk score of the customer, and the approval status of the loan offer.
In addition, the sample application provides the reason behind a decline of the requested offer based on eligibility rules.
When the user requests a decision to approve or decline the requested loan, the application calls a Data Flow that uses a decision strategy to calculate the outputs.
To start building this strategy, you create a new decision strategy in the relevant change request.
The Strategy Results class limits the output of your strategy to the Origination business issue and applies to the CreditRiskCustomer data class.
Begin by adding a Proposition data component to the canvas to ensure the strategy correctly imports all required data concerning the credit offers.
The Cash Loans group contains a loan offer for students (StudentLoan), a special loan offer (ConsumerLoanSpecialOffer), and a standard loan offer (ConsumerLoan).
This data forms the basis for further decision-making processes, including eligibility checks and offer prioritization.
Adding a Region Code check
The business wants to ensure that credit offers are only made available to customers in specific regions.
To meet this requirement, you create a decision table that maps region codes to product availability.
The first condition is the RegionCode property which is available in the customer data model on the CreditRiskCustomer class.
The second condition uses the requested loan, identified via the Product parameter.
To make the value of the Requested loan property available to the decision table, you use a parameter which will be set from the decision strategy.
The special offer is unavailable in Region Code 001, and the decision table sets the pxSegment property to false if the offer is unavailable in the region of the customers.
The standard loan offer is unavailable in Region Code 002, and the offer for students is unavailable in Region Code 001A.
If no restrictions apply, the decision table returns true.
The applies to class of the decision table and the decision strategy is the CreditRiskCustomer class. You source the Product parameter in the decision table from the .pyName property of the strategy results class.
When we test run the strategy, the customer, who lives in region 001, is eligible for the StudentLoan, not eligible for the special offer, and eligible for the regular credit loan.
Setting offer properties
In addition, the business wants to offer the Credit offers to customers in a certain age range. You use a Set Property component to calculate the age of the customer as only the Date of Birth is provided in the data model.
For age calculation, use the formula subtracts the date of birth from the current date. You can then use the Age property to determine eligibility.
If the requested credit loan is not approved, the business wants to offer an alternative loan, if available. For this requirement, you need to add more properties to the Set Property component.
The formula (@if(.pyName==Primary.RequestedProduct,false,true)) for the IsAlternativeOffer property compares the requested loan to the proposition name and sets the value to false when identical and true when not.
Similarly, the formula for the IsRequestedOffer property sets the value to true when the requested loan and the proposition name are identical and to false when they are not.
Set the IsEligible property to equal the pxSegment property that contains the product eligibility value. The system makes this determination by using the RegionProductCheck decision table that outputs true or false.
Using a Data Transform to test the decision strategy
Testing the decision strategy is vital to ensure that it behaves as expected.
Using a Data Transform that defines customer attributes, you create Persona test cases to observe how the strategy processes this data and ensure that the system evaluates all properties and conditions correctly.
Use Default Criteria to select the eligible propositions
The Business has Standard Eligibility Criteria for customers who receive credit offers.
You use a Proposition Filter component to automatically select propositions that meet predefined criteria, such as eligibility based on age or other customer attributes.
This filter helps to ensure that the system considers only suitable offers in the final decision-making process.
The Default criteria apply to all propositions in the Origination business issue.
There are two pieces of business-level criteria: a customer must be eligible, and the age of customers must be within the age range set for the proposition.
For example, in the decision data page, the MinAge and the MaxAge properties of the StudentLoan proposition ensure that customers younger than 18 and older than 35 are ineligible for this loan.
To test the strategy, change the Birthdate property value of the TestCustomer Data Transform to increase the age to over 35, and then run the strategy.
The system correctly filters out the StudentLoan proposition based on the age criteria.
Sorting the propositions by offer amount
The business wants to prioritize the eligible propositions based on the minimum offer amount to prioritize offers that might be more valuable to the business.
The Prioritize component handles this.
The Order by Highest first setting sorts the propositions, starting with the highest minimal offer amount.
You can limit the number of propositions to the highest-ranking ones or output all of them.
Using a Data Set to test the decision strategy
When you test the strategy on a Data Set that contains multiple customer profiles, you can validate how the strategy performs under varied conditions and with different customer data points.
The Data Set contains the information of multiple customers, including the CustomerID, DateOfBirth, and RegionCode properties.
To test the strategy, you can use a single customer in the Data Set, and then observe which propositions are filtered out.
For this customer, the ProductEligibilityCheck component filters out one-loan offers.
You can also use the Data Set to test the strategy in the batch mode to inspect the distribution of the offers.
This Topic is available in the following Module:
Want to help us improve this content?