Building customer risk segments using a decision table
Business scenario
A financial institution is currently showing various credit cards to its customers. The business already uses a customer's credit score to identify customers who qualify for a credit card. The new rules require customers to be divided into risk segments varying from AAA to CCC. To start, customers in the risk category BB- and CCC are not qualifying for credit cards. Customers from all other risk segments qualify.
The risk segments are determined by two parameters: Outstanding loan amount and the customer Credit score.
Condition |
Risk Segment |
If Outstanding loan amount < $10000 AND Credit score is > 600 |
AAA |
If Outstanding loan amount between $10000 and $25000 AND Credit score is > 600 |
AAA- |
If Outstanding loan amount between $25000 and $50000 AND Credit score is > 600 |
AA |
If Outstanding loan amount > $50000 AND Credit score is > 600 |
AA- |
If Outstanding loan amount < $25000 AND Credit score is between 400 and 600 |
BBB |
If Outstanding loan amount between $25000 and $50000 AND Credit score is between 400 and 600 |
BBB- |
If Outstanding loan amount > $50000 AND Credit score is between 400 and 600 |
BB- |
If Credit score is between 200 and 400 |
CCC |
If Outstanding loan amount AND Credit score falls in any other range |
CCC |
To implement the new bank regulations, use a decision strategy to:
- Calculate credit score.
- Define risk segment.
- Filter credit cards based on risk segment.
Calculate credit score
The business has already created a Scorecard, DetermineCreditScore, which computes the customer's credit score. You can use the Scorecard in the decision strategy by adding a Scorecard component to the canvas.
Since you need the raw score, enable Score mapping and set the Score value in the Credit Score property.
Define risk segment
To implement the risk segmentation requirements, use a Decision table component from the Business rules category, which outputs the customer risk segment.
The Decision Table can be defined on the Strategy Result, SR class, or a Customer class. The choice often depends on where the properties used in the Decision Table are located. In this case the outstanding loan amount is a Customer property and the Credit Score calculation is an SR property, so both options are valid.
To use Credit Score as a parameter, you first need to define it on the Parameters tab. For this scenario, define the Customer class and reference it from the DT component.
Creating the table requires two condition columns. First is the Principal Loan, which is the property in the data model representing the outstanding loan amount.
The Operator represents the condition applied to the column. In this case, greater than, which allows you to express the Outstanding loan amount condition from the requirement.
The second condition column is the Credit Score property. The Credit Score is a parameter, so you need to use the Param.PropertyName construct.
The Use Range checkbox groups the credit scores together.
Next, you need to specify the possible outputs of the Decision Table in the Results tab.
After adding the Target properties and Results, the Table will look like the following.
Fill in the bank's requirements and specify a Return value for each row in the table.
Note, if you leave a value blank it is ignored by the Decision Table. For example, leaving the Credit Score value blank, means that credit score comparison always returns a value of True.
If none of the conditions are met, for example, if the loan amount is zero and the credit score is 50, the Otherwise path is taken; in this example the result will be CCC.
It is important to note that once a Decision Table condition is satisfied, the processing stops. For example, if the loan amount is 30,000, and the credit score is 650, the processing stops at row three returning the result "AA". The other rows are not processed.
After the Table is configured, go back to the property panel of the Decision Table component and map the Decision Table parameter to a Strategy property.
Filter credit cards based on the calculated risk segment
Configure two Filter components to ensure that you identify High Risk and Low Risk customers.
Customers in the risk category BB- and CCC are not qualifying for credit cards, but all other customers qualify. The pxSegment Strategy property contains the output of the Decision Table. So, create relevant expressions.
Low Risk Filter: RiskSegmentation.pxSegment!="BB-"&&
RiskSegmentation.pxSegment!="CCC"
High Risk Filter: RiskSegmentation.pxSegment="BB-"||
RiskSegmentation.pxSegment="CCC"
When you test the strategy using the Robert data transform, you will see that Robert falls under the category of high-risk customers, as he has a huge outstanding loan amount, over 50,000.
Therefore, you can expect his risk segment to be CCC.
When you test the strategy for Arnold, who has an outstanding loan of 8000 and a credit score of 400, the Decision Table correctly classifies Arnold in the BBB risk segment and allows all credit cards for him.
This Topic is available in the following Module:
If you are having problems with your training, please review the Pega Academy Support FAQs.
Want to help us improve this content?