13/17
Preconfigured Scoring Elements
This appendix describes the preconfigured scoring engines and scoring components provided in the application.
This appendix covers the following topics:
Setting Up Preconfigured Scoring Elements
Oracle Advanced Collections provides preconfigured elements for scoring that you can use to test your implementation, or use in your live production environment if they suit your business needs.
This appendix contains information regarding the following elements:
Preconfigured Scoring Engines
Preconfigured Scoring Components
Preconfigured Scoring Engines
The following table lists the preconfigured scoring engines available in Oracle Advanced Collections.
Preconfigured Scoring Engines
Customer Scoring |
Scores the party (customer). Displays the score in the Collections Score field in the Collections Header. |
Party |
Delinquent Parties Filter |
1 |
Delinquency Status Determination |
Scores transactions to determine status of current or delinquent. |
Collections Transactions |
Invoice Delinquency Filter |
2 |
Case Scoring |
Scores Lease and Finance Management contracts. |
Collections Case |
Case Filter |
3 |
Sample Case Delinquency |
Scores Lease and Finance Management contracts. |
Collections Case |
Oracle Collections Delinquent Case Filter |
4 |
Sample Delinquent Installment |
Scores transactions. |
Collections Transactions |
Oracle Collections Delinquent Invoice Filter |
5 |
Account Scoring |
Scores the account. Displays the score in the Score field on the Accounts tab. |
Account |
Accounts Filter |
6 |
Bill-to Scoring |
Scores the bill-to sites. |
Bill-to |
Delinquent Bill Site To Filter |
7 |
Loans Delinquency Scoring |
Scores Oracle Loans invoices. |
|
|
|
Customer Group Scoring |
Scores parent customer with all transactions belongs to not only parent customer itself but also associated child customer
The new IEX_F_PARTIES_GRP view includes only parent parties to be used as a segment filter for new scoring engine and reform the existing view IEX_F_PARTIES to exclude parent party to avoid duplication.
Existing view 'IEX_F_PARTIES' to exclude parent party to avoid duplication.
To score party group, you need to run a scoring engine concurrent program with scoring 'Customer Group Scoring' for parent party. Use existing customer score engine 'Customer Scoring' to score child parties.
In case, if you not using Party Group functionality by setting the profile option or Party Relationship, then use the current customer score engine 'Customer Scoring' without any consideration. |
Customer |
|
9 |
Note: Use the Sample Case Delinquency and Sample Delinquent Installment scoring engines only if you used them in earlier releases of Oracle Advanced Collections. For all other installations, these scoring engines have been replaced by Delinquency Status Determination and Case Scoring.
Old Scoring Engine Names Reference
For your reference, this table lists the old names used for preconfigured scoring engines in previous releases.
Delinquency Status Determination |
Default Invoice Delinquency Management Engine |
Customer Scoring |
Sample Delinquent Party Score Engine |
Account Scoring |
Sample Delinquent Account Score Engine |
Bill-to Scoring |
Sample Bill-to Score Engine |
Case Scoring |
Default Case Delinquency Management Engine |
Sample Delinquent Installment |
Sample Delinquent Installment Score Engine |
Sample Case Delinquency |
Sample Case Delinquency Score Engine |
Preconfigured Scoring Components
The following tables describe the preconfigured scoring components for use with scoring engines.
Aging Bucket Line for Account
Object |
Account |
Description |
Identifies the oldest aged transaction for the account. |
Object |
Account |
Component |
Select nvl(max(abl.Bucket_Sequence_num),0) From ar_aging_buckets ab, Ar_aging_bucket_lines abl, IEX_app_preferences_vl iex, Ar_payment_Schedules arp, IEX_DELINQUENCIES DEL Where abl.aging_bucket_id = ab.aging_bucket_id AND Ab.bucket_name = iex.preference_value AND Iex.preference_name = 'DUNNING PLAN AGING BUCKET' AND DEL.payment_schedule_id = arp.payment_schedule_id AND (sysdate - arp.due_date) between abl.days_start and abl.days_to and Del.Cust_Account_ID = :ACCOUNT_ID |
Function |
N |
Old Name |
Account Aging Bucket Line |
Aging Bucket Line for Bill-to
Object |
Bill-to |
Description |
Identifies the oldest aged transaction for the bill-to. |
Component |
Select nvl(max(abl.Bucket_Sequence_num),0) From ar_aging_buckets ab, Ar_aging_bucket_lines abl, IEX_app_preferences_vl iex, Ar_payment_Schedules arp, IEX_DELINQUENCIES DEL Where abl.aging_bucket_id = ab.aging_bucket_id AND Ab.bucket_name = iex.preference_value AND Iex.preference_name = 'DUNNING PLAN AGING BUCKET' AND DEL.payment_schedule_id = arp.payment_schedule_id AND (sysdate - arp.due_date) between abl.days_start and abl.days_to and Del.Customer_Site_Use_ID = :BILL_TO_ID |
Function |
N |
Old Name |
Bill-to Aging Bucket Line |
Aging Bucket Line for Customer
Object |
Party (used to score customers) |
Description |
Identifies the oldest aged transaction for the customer. |
Component |
Select nvl(max(abl.Bucket_Sequence_num),0) From ar_aging_buckets ab, Ar_aging_bucket_lines abl, IEX_app_preferences_vl iex, Ar_payment_Schedules arp, IEX_DELINQUENCIES DEL Where abl.aging_bucket_id = ab.aging_bucket_id AND Ab.bucket_name = iex.preference_value AND Iex.preference_name = 'DUNNING PLAN AGING BUCKET' AND DEL.payment_schedule_id = arp.payment_schedule_id AND (sysdate - arp.due_date) between abl.days_start and abl.days_to and Del.Party_Cust_ID = :PARTY_ID |
Function |
N |
Old Name |
Party Aging Bucket Line |
Aging Bucket Line for Delinquency
Object |
Delinquency |
Description |
Determines the aging of the Delinquency. |
Component |
Select nvl(abl.Bucket_Sequence_num,0) From ar_aging_buckets ab, Ar_aging_bucket_lines abl, IEX_app_preferences_vl iex, Ar_payment_Schedules arp, IEX_DELINQUENCIES DEL Where abl.aging_bucket_id = ab.aging_bucket_id AND Ab.bucket_name = iex.preference_value AND Iex.preference_name = 'DUNNING PLAN AGING BUCKET' AND DEL.payment_schedule_id = arp.payment_schedule_id AND (sysdate - arp.due_date) between abl.days_start and abl.days_to and Del.delinquency_id = :DELINQUENCY_ID |
Function |
N |
Old Name |
Delinquency Aging Bucket Line |
Amount Overdue to Delinquency Threshold
Object |
Loan |
Description |
Determines Status of the Delinquent Loan |
Component |
SELECT trunc(NVL(sum.TOTAL_OVERDUE, 0) / NVL(term.DELINQUENCY_THRESHOLD_AMOUNT, 1)) from LNS_PAYMENTS_SUMMARY_V sum, LNS_TERMS term where sum.loan_id = :loan_id and sum.loan_id = term.loan_id |
Function |
N |
Case Delinquency Determination
Object |
Case |
Description |
Creates a score for a Leasing Case. |
Component |
Call IEX_SCORE_CASE_PVT.Calculate_Score (:case_id, :score_component_id) into :raw_case_score) |
Function |
Y |
Old Name |
Case Scoring Component: What is the latest case score? |
Customer Since for Account
Object |
Account |
Description |
Determines how long we've been doing business with the Account. |
Component |
SELECT TO_CHAR(CREATION_DATE, 'YYYY') FROM HZ_CUST_ACCOUNTS WHERE CUST_ACCOUNT_ID = :CUST_ACCOUNT_ID |
Function |
N |
Old Name |
Account Since |
Customer Since for Bill-to
Object |
Bill-to |
Description |
Determines how long we've been doing business with the bill-to. |
Component |
SELECT TO_CHAR(CREATION_DATE, 'YYYY') FROM HZ_CUST_SITE_USES WHERE CUSTOMER_SITE_USE_ID = :billto_id |
Function |
N |
Old Name |
Customer Since for bill-to |
Customer Since for Customer
Object |
Party (used to score customers) |
Description |
Determines how long have we've been doing business with the customer. |
Component |
SELECT TO_CHAR(CREATION_DATE, 'YYYY') FROM HZ_PARTIES WHERE PARTY_ID = :party_id |
Function |
N |
Old Name |
Customer Since for Party |
Customer Since for Customer Group
Object |
Customer |
Description |
Determines how long the Party has been a Customer Group. |
Component |
SELECT NVL(TO_CHAR(MIN(account_established_date), 'YYYY'),0)
FROM HZ_CUST_ACCOUNTS hz, (SELECT :party_id party_id FROM dual) party
WHERE hz.PARTY_ID = party.party_id
OR hz.PARTY_ID IN
(SELECT DISTINCT subject_id FROM hz_relationships
WHERE object_id = party.party_id
AND status = 'A'
AND object_type = 'ORGANIZATION'
AND subject_type = 'ORGANIZATION'
AND relationship_code = NVL(fnd_profile.value('IEX_PARTY_GRP_REL_ROLE'),'X')
AND (DECODE(TO_CHAR(end_date,'DD-MM-YYYY') ,'31-12-4712', to_date(NULL),end_date) IS NULL
OR DECODE(TO_CHAR(end_date,'DD-MM-YYYY') ,'31-12-4712', to_date(NULL),end_date) > TRUNC(sysdate)))
|
Function |
N |
Delinquencies Amount for Account
Object |
Account |
Description |
Identifies the total overdue amount owed by the Account. |
Component |
Select NVL(sum(ar.acctd_amount_due_remaining),0) from ar_payment_schedules ar, iex_delinquencies del where ar.payment_schedule_id = del.payment_schedule_id AND del.status in ('DELINQUENT', 'PREDELINQUENT') AND del.cust_account_id = :cust_account_id AND del.creation_date >= sysdate -365 |
Function |
N |
Old Name |
Amount of Delinquencies for Account |
Delinquencies Amount for Bill To
Object |
Bill-to |
Description |
Identifies the total overdue amount owed by this bill-to. |
Component |
Select NVL(sum(ar.acctd_amount_due_remaining),0) from ar_payment_schedules ar, iex_delinquencies del where ar.payment_schedule_id = del.payment_schedule_id AND del.status in ('DELINQUENT', 'PREDELINQUENT') AND del.customer_site_use_id = :billto_id AND del.creation_date >= sysdate -365 |
Function |
N |
Old Name |
Amount of Delinquencies for Bill To |
Delinquencies Amount for Customer
Object |
Party (used to score customers) |
Description |
Identifies the total overdue amount owed by the Customer. |
Component |
Select NVL(sum(ar.acctd_amount_due_remaining),0) from ar_payment_schedules ar, iex_delinquencies del where ar.payment_schedule_id = del.payment_schedule_id AND del.status in ('DELINQUENT', 'PREDELINQUENT') AND del.party_cust_id = :party_id AND del.creation_date >= sysdate -365 |
Function |
N |
Old Name |
Amount of Delinquencies for Party |
Delinquencies Amount for Customer Group
Object |
Customer |
Description |
Identifies the total amount owed by the Customer Group. |
Component |
SELECT NVL(sum(ar.acctd_amount_due_remaining),0)
FROM ar_payment_schedules ar, iex_delinquencies del, (SELECT :party_id party_id FROM dual) party
WHERE ar.payment_schedule_id = del.payment_schedule
AND del.status in ('DELINQUENT', 'PREDELINQUENT')
AND del.creation_date >= sysdate -365
AND (del.party_cust_id = party.party_id
OR del.party_cust_id IN
(SELECT DISTINCT subject_id from hz_relationships
WHERE object_id = party.party_id
AND status = 'A'
AND object_type = 'ORGANIZATION'
AND subject_type = 'ORGANIZATION'
AND relationship_code = NVL(fnd_profile.value('IEX_PARTY_GRP_REL_ROLE'),'X')
AND (DECODE(TO_CHAR(end_date,'DD-MM-YYYY') ,'31-12-4712', to_date(NULL),end_date) IS NULL
OR DECODE(TO_CHAR(end_date,'DD-MM-YYYY') ,'31-12-4712', to_date(NULL),end_date) > TRUNC(sysdate)))
|
Function |
N |
Number of Delinquencies for Account
Object |
Account |
Description |
Determines how many delinquencies exist for the Account. |
Component |
SELECT COUNT(1) FROM IEX_DELINQUENCIES WHERE CUST_ACCOUNT_ID = :CUST_ACOCUNT_ID |
Function |
N |
Old Name |
Number of Delinquencies for Account |
Number of Delinquencies for Bill-to
Object |
Bill-to |
Description |
Determines how many delinquencies exist for the bill-to. |
Component |
SELECT COUNT(1) FROM IEX_DELINQUENCIES WHERE CUSTOMER_SITE_USE_ID = :billto_id |
Function |
N |
Old Name |
Number of Delinquencies for bill-to |
Number of Delinquencies for Customer
Object |
Party (used to score customers) |
Description |
Determines how many delinquencies exist for the customer. |
Component |
SELECT COUNT(1) FROM IEX_DELINQUENCIES WHERE PARTY_CUST_ID = :party_id |
Function |
N |
Old Name |
Number of Delinquencies for Party |
Number of Delinquencies for Customer Group
Object |
Customer |
Description |
Determines how many delinquencies exist for the Customer Group. |
Component |
SELECT COUNT(1)
FROM IEX_DELINQUENCIES, (SELECT :party_id party_id FROM dual) party
WHERE STATUS <> 'CURRENT'
AND (PARTY_CUST_ID = party.party_id
OR PARTY_CUST_ID IN
(SELECT DISTINCT subject_id from hz_relationships
WHERE object_id = party.party_id
AND status = 'A'
AND object_type = 'ORGANIZATION'
AND subject_type = 'ORGANIZATION'
AND relationship_code = NVL(fnd_profile.value('IEX_PARTY_GRP_REL_ROLE'),'X')
AND (DECODE(TO_CHAR(end_date,'DD-MM-YYYY') ,'31-12-4712', to_date(NULL),end_date) IS NULL
OR DECODE(TO_CHAR(end_date,'DD-MM-YYYY') ,'31-12-4712', to_date(NULL),end_date) > TRUNC(sysdate)))
|
Function |
N |
Payment Schedule Delinquency Determination
Object |
Collections Transaction |
Description |
This scoring component uses a data view that consists of all payment schedules when the current date is greater than the due date, nothing is in dispute, and the remaining amount is greater than zero. The component compares this view with the group of all payment schedules. It assigns a score of 1.0 to 10.99 for payment schedules that are not in the view and a score of 11 to 100 for payment schedules in the view. |
Component |
SELECT Nvl(Count(1), 0) FROM IEX_DELINQUENCIES_NEW_V WHERE Payment_Schedule_id = :payment_schedule_id |
Function |
N |