How to Calculate the CIB Parameter for Historical Activity
The following query is a suggested way for calculating CIB parameters from the data:
select
c.JRSDCN_CD,
AVG(t.AVG_CREDIT_AMT) as AVG_CREDIT_AMT,
AVG(t.AVG_DEBIT_AMT) as AVG_DEBIT_AMT,
AVG(t.SD_CREDIT) as SD_CREDIT,
AVG(t.SD_DEBIT) as SD_DEBIT,
AVG(t.MAX_CREDIT_AMT) as MAX_CREDIT_AMT,
AVG(t.MAX_DEBIT_AMT) as MAX_DEBIT_AMT,
AVG(t.AVG_FRGN_IN_AMT) as AVG_FRGN_MONTHLY_CDT,
AVG(t.AVG_FRGN_OUT_AMT) as AVG_FRGN_MONTHLY_DBT,
AVG(HIST_DAILY_AVG_AMT) as HIST_DAILY_AVG_AMT
from
acct a INNER JOIN cust_acct ca
on a.ACCT_INTRL_ID = ca.ACCT_INTRL_ID
INNER JOIN cust c on
ca.CUST_INTRL_ID = c.CUST_INTRL_ID
INNER JOIN (select
asm.ACCT_INTRL_ID,
AVG(asm.TOT_DEPST_AM) AVG_CREDIT_AMT,
AVG(asm.TOT_WDRWL_AM) as AVG_DEBIT_AMT,
STDDEV(asm.TOT_DEPST_AM) as SD_CREDIT,
STDDEV(asm.TOT_WDRWL_AM) as SD_DEBIT,
MAX(asm.TOT_DEPST_AM) as MAX_CREDIT_AMT,
MAX(asm.TOT_WDRWL_AM) as MAX_DEBIT_AMT,
AVG(NVL(asm.FRGN_WIRE_TRXN_IN_AM,0) + NVL(asm.FRGN_CHK_TRXN_IN_AM,0) + NVL(asm.FRGN_CHK_TRXN_IN_FUNC_AM,0) + NVL(asm.FRGN_WIRE_TRXN_IN_FUNC_AM,0)) as AVG_FRGN_IN_AMT,
AVG(NVL(asm.FRGN_WIRE_TRXN_OUT_AM,0) + NVL(asm.FRGN_CHK_TRXN_OUT_AM,0) + NVL(asm.FRGN_CHK_TRXN_OUT_FUNC_AM,0) + NVL(asm.FRGN_WIRE_TRXN_OUT_FUNC_AM,0)) as AVG_FRGN_OUT_AMT,
case when sum(case when aasd.ATM_TRXN_OUT_AM > 0 then 1 else 0 end) > 0 then sum(aasd.ATM_TRXN_OUT_AM) / sum(case when aasd.ATM_TRXN_OUT_AM > 0 then 1 else 0 end)
else 0 end as HIST_DAILY_AVG_AMT
from
acct_smry_mnth asm
inner join ACCT_ATM_SMRY_DAILY aasd
on asm.acct_intrl_id = AASD.acct_intrl_id
where asm.MNTH_SMRY_START_DT >= add_months(trunc(sysdate, 'month'), -12) -- Recent 12 months data
and asm.MNTH_SMRY_START_DT < trunc(sysdate,'month')
GROUP BY asm.ACCT_INTRL_ID) t on
a.ACCT_INTRL_ID = t.ACCT_INTRL_ID GROUP BY c.JRSDCN_CD;