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
Scoring Engine Description Object Segment Number in Scoring Engine Harness
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.

Scoring Engine Old Scoring Engine Name
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