Sie sind auf Seite 1von 111

1

The SAS System


17:05 Tuesday, March 25, 2014

NOTE:
NOTE:
NOTE:
NOTE:

Unable to open SASUSER.PROFILE. WORK.PROFILE will be opened instead.


All profile changes will be lost at the end of the session.
Copyright (c) 2002-2010 by SAS Institute Inc., Cary, NC, USA.
SAS (r) Proprietary Software 9.3 (TS1M1)
Licensed to AKBANK- ENT.MINER / CREDIT SCORING, Site 70129182.
NOTE: This session is executing on the AIX 7.1 (AIX 64) platform.

NOTE: Updated analytical products:


SAS/STAT 9.3_M1
You are running SAS 9. Some SAS 8 files will be automatically converted
by the V9 engine; others are incompatible. Please see
http://support.sas.com/rnd/migration/planning/platform/64bit.html
PROC MIGRATE will preserve current SAS file attributes and is
recommended for converting all your SAS libraries from any
SAS 8 release to SAS 9. For details and examples, please see
http://support.sas.com/rnd/migration/index.html
This message is contained in the SAS news file, and is presented upon
initialization. Edit the file "news" in the "misc/base" directory to
display site-specific news and information in the program log.
The command line option "-nonews" will prevent this display.

NOTE: SAS initialization used:


real time
0.06 seconds
cpu time
0.02 seconds
NOTE: AUTOEXEC processing beginning; file is /install/sas/config/Lev1/SASApp/etl
_autoexec.sas.
NOTE: Libref ORCLDWH was successfully assigned as follows:
Engine:
ORACLE
Physical Name: PDWH_SAS
NOTE: Libref ORCLPMDW was successfully assigned as follows:
Engine:
ORACLE
Physical Name: PDWH_SAS
NOTE: Libref ORCLPPDM was successfully assigned as follows:
Engine:
ORACLE
Physical Name: PDWH_SAS
NOTE: Libref ORCLSKR was successfully assigned as follows:
Engine:
ORACLE
Physical Name: PDWH_SAS
NOTE: Libref ORCLKKBS was successfully assigned as follows:
Engine:
ORACLE
Physical Name: PARC00
NOTE: Libref ORCLSTG was successfully assigned as follows:
Engine:
ORACLE
Physical Name: PDWH_SAS

NOTE: Libref ORCLTRD was successfully assigned as follows:


Engine:
ORACLE

The SAS System


17:05 Tuesday, March 25, 2014

Physical Name: PDWH_SAS


NOTE: Libref ORCLPIRB was successfully assigned as follows:
Engine:
ORACLE
Physical Name: PDWH_SAS
NOTE: This is a production version of SPD Engine 4.53
executing SAS (r) 9.3 (TS1M1) on the AIX platform.
NOTE: User anonymous(ACL Group ) connected to SPD(AIX) 4.53 server at 172.31.129
.170.
NOTE: Libref CSCORE was successfully assigned as follows:
Engine:
SASSPDS
Physical Name: :23134250/data1/meta/CSCORE/
NOTE: Libref ORCLSAS was successfully assigned as follows:
Engine:
SASSPDS
Physical Name: :23134250/data1/meta/ORCLSAS/
NOTE: Libref TEMP was successfully assigned as follows:
Engine:
SASSPDS
Physical Name: :23134250/data1/meta/TEMP/
NOTE: Numeric values have
by: (Line):(Column).
19:43
NOTE: DATA statement used
real time
cpu time

been converted to character values at the places given


(Total process time):
0.00 seconds
0.00 seconds

NOTE: AUTOEXEC processing completed.


1
LIBNAME ORCLPIRB ORACLE PATH=PDWH_SAS SCHEMA=PIRB USER=PSASUSR6 P
ASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ;
NOTE: Libref ORCLPIRB was successfully assigned as follows:
Engine:
ORACLE
Physical Name: PDWH_SAS
2
3
proc sql;
4
connect to oracle (user='PSASUSR6' password=XXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX path='PDWH_SAS');
5
select (datepart(TARIH)) FORMAT=DATE9. into :ay
6
from ORCLPIRB.RYB_PARAMETRE;
7
quit;
NOTE: The PROCEDURE SQL printed page 1.
NOTE: PROCEDURE SQL used (Total process time):
real time
0.07 seconds
cpu time
0.03 seconds
8
%put &ay;
31JAN2014
9
10
%macro ipotekli_ticari (ay);
11
proc sql;
12
connect to oracle (user='PSASUSR6' password='{SAS002}0D36CB1B5A51291A
50366D6C24DF9D88' path='PDWH_SAS');
13
create table WORK.IPOTEKLI_TICARI as
14
select * from connection to oracle
15
(

16
WARNING: Truncated record.
17
select a.MBB_NO,&ay AS TARIH, c.SUBE_ADRES_IL_KODU as IL_KODU, NAKIT_
TEMINAT_TUTARI, round((nvl(BIREYSEL_RISK_TUTARI,0) +
17
! nvl(TICARI_RISK_TUTARI,0) + nvl(TUREV_RISK_TUTARI,0) + nvl(REPO_RISK
_TUTARI,0)) / IPOTEK_TEMINAT_TUTARI,2) as
17
! IPOTEK_TEMINAT_LTV, (nvl
18
left outer join (

The SAS System


17:05 Tuesday, March 25, 2014

19
select MBB_NO, sum(NAKIT_TEMINAT_TUTARI) as NAKIT_TEMINAT_TUTARI, sum
(TASIT_TEMINAT_TUTARI) as TASIT_TEMINAT_TUTARI,
19
! sum(CEK_SENET_TEMINAT_TUTARI) as CEK_SENET_TEMINAT_TUTARI, sum(IPOTEK
_TEMINAT_TUTARI) as IPOTEK_TEMINAT_TUTARI from
20
(
21
select MBB_NO, case when TEMINAT_TURU = 'Nakit' then TEMINAT_TUTARI *
DOVIZ_ALIS else 0 end as NAKIT_TEMINAT_TUTARI, case
21
! when TEMINAT_TURU = 'Tat Rehni' then TEMINAT_TUTARI * DOVIZ_ALIS else
0 end as TASIT_TEMINAT_TUTARI, case when
21
! TEMINAT_TURU in ('ek
22
where a.TEMINAT_DOVIZ_KODU = b.DOVIZ_KODU
23
and a.TARIH = b.TARIH
24
and a.TARIH = &ay
25
and a.PROJE_KODU = 'TMT'
____________________
49
26
and a.KAYNAK in ( 'AK', 'ML')
____ _________________________
49
49
27
and TEMINAT_TURU in ( 'ek', 'Senet', 'Tat Rehni', 'Ipotek', 'Nakit')
____
____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
28
and (BASEL_UYGUNLUK_FLAG = 1 or IRB_FND_UYGUNLUK_FLAG = 1 OR IRB_ADV_
UYGUNLUK_FLAG = 1)
29
and TEMINAT_TUTARI > 0
30
)
31
group by MBB_NO) tem on a.MBB_NO = tem.MBB_NO
32
left outer join PDWH.DWH_TKANAL_SUBE c on a.MBB_SUBE = c.SUBE_KODU,
33
(select MBB_NO, sum(BIREYSEL_RISK_TUTARI) as BIREYSEL_RISK_TUTARI, su
m(TICARI_RISK_TUTARI) as TICARI_RISK_TUTARI,
33
! sum(TUREV_RISK_TUTARI) as TUREV_RISK_TUTARI, sum(REPO_RISK_TUTARI) as
REPO_RISK_TUTARI from (
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
34
select MBB_NO, (case when PROJE_KODU = 'TUK' or (PROJE_KODU = 'ART' a
nd MEVCUT_URUN_ID = 527) then nvl(BAKIYE,0) +
____________________ ___
______________________________________________
_
49
49
49
34
! nvl(REESKONT_TUTARI,0) + nvl(TAHAKKUK_TUTARI,0) + case when PROJE_KOD
U = 'ART' then case when LIMIT - BAKIYE < 0 then 0
34
! else LIMIT - BAKIYE e
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
35
where a.DOVIZ_KODU = b.DOVIZ_KODU
36
and a.TARIH = b.TARIH
37
and a.TARIH = &ay

38

and a.KAYNAK in ('AK', 'HZ', 'ML')


____ ____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
39
/*and a.NAKIT_GAYRINAKIT_FLAG = 'N'*/
40
union all
41
select MBB_NO, case when URUN_TIPI = 1 then nvl(BAKIYE_0_6_AY, 0) + n
vl(BAKIYE_7_12_AY,0) + nvl(BAKIYE_13_AY_USTU,0) +
41
! nvl(REESKONT_TUTARI,0) + case when REL_LIMIT - (nvl(BAKIYE_0_6_AY, 0)
+ nvl(BAKIYE_7_12_AY,0) + nvl(BAKIYE_13_AY_USTU,0)
41
! + nvl(REESKONT_T
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
42
where TARIH = &ay
43
union all
39
/*and a.NAKIT_GAYRINAKIT_FLAG = 'N'*/
___
49

The SAS System


17:05 Tuesday, March 25, 2014

NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
44
select MBB_NO, 0 as BIREYSEL_RISK_TUTARI, TUTAR * DOVIZ_ALIS as TICAR
I_RISK_TUTARI, 0 as TUREV_RISK_TUTARI, 0 as
44
! REPO_RISK_TUTARI from PIRB.RSK_TDIS_SISTEM_MENKUL a, PIRB.RSK_TKUR b
45
where a.DOVIZ_KODU = b.DOVIZ_KODU
46
and a.TARIH = b.TARIH
47
and a.TARIH = &ay
48
and a.KAYNAK in ('AK', 'HZ', 'ML')
____ ____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
49
union all
50
select fin.MBB_NO, 0 as BIREYSEL_RISK_TUTARI, 0 as TICARI_RISK_TUTARI
, nvl(SOLO_TUREV_RISK_TOP_TL, 0) as
50
! TUREV_RISK_TUTARI, nvl(SOLO_REPO_RISK_TOP_TL,0) as REPO_RISK_TUTARI f
rom PIRB.RSK_TKONSOLIDE_MUS_FINANSAL fin, (select
50
! distinct MBB_NO from (
51
select MBB_NO from PIRB.RSK_TDIS_SISTEM_REPO
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
48
and a.KAYNAK in ('AK', 'HZ', 'ML')
__
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
52
53

where TARIH = &ay


and KAYNAK in ('AK', 'HZ', 'ML')
____ ____ __
49
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is
d.
54
union all
55
select MBB_NO from PIRB.RSK_TDIS_SISTEM_REPO
56
where TARIH = &ay
57
and KAYNAK in ('AK', 'HZ', 'ML')
____ ____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is
d.
58
) group by MBB_NO) acilis
59
where fin.MBB_NO = acilis.MBB_NO
60
and fin.TARIH = &ay

change in
recommende

change in
recommende

61
and (fin.SOLO_TUREV_RISK_TOP_TL is not null or fin.SOLO_REPO_RISK_TOP
_TL is not null)
62
) group by MBB_NO) risk
63
where a.TARIH = &ay
64
and a.MBB_NO = risk.MBB_NO
65
and IPOTEK_TEMINAT_TUTARI > 0
66
67
);
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
68
disconnect from oracle;
69
quit;
70
%mend ipotekli_ticari;
71
%ipotekli_ticari (TO_DATE(%str(%')&ay%str(%'),'DD/MM/YYYY'));
72
73

The SAS System


17:05 Tuesday, March 25, 2014

74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130

DATA WORK.IPOTEKLI_TICARI_TUM_DEGISKENLER;
SET WORK.IPOTEKLI_TICARI;
*------------------------------------------------------------*;
* EM SCORE CODE;
* EM Version: 7.1;
* SAS Release: 9.03.01M1P110911;
* Host: sasskr1;
* Encoding: latin5;
* Locale: en_US;
* Project Path: /data01/EM_Projects;
* Project Name: LGD_Model_Ticari;
* Diagram Id: EMWS5;
* Diagram Name: TEMINATLI_TICARI_MUS;
* Generated by: 50519;
* Date: 19SEP2013:14:50:55;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Input Data Source;
* TYPE: SAMPLE;
* NODE: Ids2;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Metadata Node;
* TYPE: UTILITY;
* NODE: Meta3;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Extension Class;
* TYPE: CREDSCORE;
* NODE: IGN2;
*------------------------------------------------------------*;
length _UFormat $200;
drop _UFormat;
_UFormat='';
*------------------------------------------------------------*;
* Variable: ACILIS_BAKIYESI;
*------------------------------------------------------------*;
LABEL GRP_ACILIS_BAKIYESI =
"Grouped: ACILIS_BAKIYESI";
LABEL WOE_ACILIS_BAKIYESI =
"Weight of Evidence: ACILIS_BAKIYESI";
if MISSING(ACILIS_BAKIYESI) then do;
GRP_ACILIS_BAKIYESI = 2;
WOE_ACILIS_BAKIYESI = 0.4667522181;
end;
else if NOT MISSING(ACILIS_BAKIYESI) then do;
if ACILIS_BAKIYESI < 848.19 then do;
GRP_ACILIS_BAKIYESI = 1;
WOE_ACILIS_BAKIYESI = -0.803840274;
end;
else
if 848.19 <= ACILIS_BAKIYESI AND ACILIS_BAKIYESI < 59435.86 then do;
GRP_ACILIS_BAKIYESI = 2;
WOE_ACILIS_BAKIYESI = 0.4667522181;

131

end;

The SAS System


17:05 Tuesday, March 25, 2014

132
else
133
if 59435.86 <= ACILIS_BAKIYESI AND ACILIS_BAKIYESI < 125567.76 then d
o;
134
GRP_ACILIS_BAKIYESI = 3;
135
WOE_ACILIS_BAKIYESI = -0.083664421;
136
end;
137
else
138
if 125567.76 <= ACILIS_BAKIYESI AND ACILIS_BAKIYESI < 383344.82 then
do;
139
GRP_ACILIS_BAKIYESI = 4;
140
WOE_ACILIS_BAKIYESI = -0.505795414;
141
end;
142
else
143
if 383344.82 <= ACILIS_BAKIYESI then do;
144
GRP_ACILIS_BAKIYESI = 5;
145
WOE_ACILIS_BAKIYESI = -1.608213089;
146
end;
147
end;
148
149
*------------------------------------------------------------*;
150
* Variable: CALISAN_PERSONEL_SAYISI;
151
*------------------------------------------------------------*;
152
LABEL GRP_CALISAN_PERSONEL_SAYISI = "Grouped: CALISAN_PERSONEL_SAYISI
";
153
LABEL WOE_CALISAN_PERSONEL_SAYISI = "Weight of Evidence: CALISAN_PERS
ONEL_SAYISI";
154
155
if MISSING(CALISAN_PERSONEL_SAYISI) then do;
156
GRP_CALISAN_PERSONEL_SAYISI = 3;
157
WOE_CALISAN_PERSONEL_SAYISI = 0.0290688494;
158
end;
159
else if NOT MISSING(CALISAN_PERSONEL_SAYISI) then do;
160
if CALISAN_PERSONEL_SAYISI < 1 then do;
161
GRP_CALISAN_PERSONEL_SAYISI = 1;
162
WOE_CALISAN_PERSONEL_SAYISI = 0.0395891101;
163
end;
164
else
165
if 1 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 3 then
do;
166
GRP_CALISAN_PERSONEL_SAYISI = 2;
167
WOE_CALISAN_PERSONEL_SAYISI = 0.3148934183;
168
end;
169
else
170
if 3 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 15 then
do;
171
GRP_CALISAN_PERSONEL_SAYISI = 3;
172
WOE_CALISAN_PERSONEL_SAYISI = 0.0290688494;
173
end;
174
else
175
if 15 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 35 the
n do;
176
GRP_CALISAN_PERSONEL_SAYISI = 4;
177
WOE_CALISAN_PERSONEL_SAYISI = -0.768122191;
178
end;
179
else
180
if 35 <= CALISAN_PERSONEL_SAYISI then do;
181
GRP_CALISAN_PERSONEL_SAYISI = 5;

182
183
184
185
186
187
188
189

WOE_CALISAN_PERSONEL_SAYISI = -0.368522202;
end;
end;
*------------------------------------------------------------*;
* Variable: FIRMA_FAALIYET_SURESI;
*------------------------------------------------------------*;
LABEL GRP_FIRMA_FAALIYET_SURESI = "Grouped: FIRMA_FAALIYET_SURESI";

The SAS System


17:05 Tuesday, March 25, 2014

190
_SURESI";
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245

LABEL WOE_FIRMA_FAALIYET_SURESI = "Weight of Evidence: FIRMA_FAALIYET


if MISSING(FIRMA_FAALIYET_SURESI) then do;
GRP_FIRMA_FAALIYET_SURESI = 5;
WOE_FIRMA_FAALIYET_SURESI = -0.062332021;
end;
else if NOT MISSING(FIRMA_FAALIYET_SURESI) then do;
if FIRMA_FAALIYET_SURESI < 2 then do;
GRP_FIRMA_FAALIYET_SURESI = 1;
WOE_FIRMA_FAALIYET_SURESI = 0.8055976389;
end;
else
if 2 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 6 then do;
GRP_FIRMA_FAALIYET_SURESI = 2;
WOE_FIRMA_FAALIYET_SURESI = 0.0215748756;
end;
else
if 6 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 9 then do;
GRP_FIRMA_FAALIYET_SURESI = 3;
WOE_FIRMA_FAALIYET_SURESI = -0.422826261;
end;
else
if 9 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 13 then do;
GRP_FIRMA_FAALIYET_SURESI = 4;
WOE_FIRMA_FAALIYET_SURESI = 0.2468586594;
end;
else
if 13 <= FIRMA_FAALIYET_SURESI then do;
GRP_FIRMA_FAALIYET_SURESI = 5;
WOE_FIRMA_FAALIYET_SURESI = -0.062332021;
end;
end;
*------------------------------------------------------------*;
* Variable: HESAP_ACIK_SURE;
*------------------------------------------------------------*;
LABEL GRP_HESAP_ACIK_SURE =
"Grouped: HESAP_ACIK_SURE";
LABEL WOE_HESAP_ACIK_SURE =
"Weight of Evidence: HESAP_ACIK_SURE";
if MISSING(HESAP_ACIK_SURE) then do;
GRP_HESAP_ACIK_SURE = 3;
WOE_HESAP_ACIK_SURE = 0.0422461997;
end;
else if NOT MISSING(HESAP_ACIK_SURE) then do;
if HESAP_ACIK_SURE < 400 then do;
GRP_HESAP_ACIK_SURE = 1;
WOE_HESAP_ACIK_SURE = -0.144141027;
end;
else
if 400 <= HESAP_ACIK_SURE AND HESAP_ACIK_SURE < 619 then do;
GRP_HESAP_ACIK_SURE = 2;
WOE_HESAP_ACIK_SURE = 0.2710179291;
end;
else

246
247

if 619 <= HESAP_ACIK_SURE AND HESAP_ACIK_SURE < 1500 then do;


GRP_HESAP_ACIK_SURE = 3;

The SAS System


17:05 Tuesday, March 25, 2014

248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
V";
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303

WOE_HESAP_ACIK_SURE = 0.0422461997;
end;
else
if 1500 <= HESAP_ACIK_SURE AND HESAP_ACIK_SURE < 2283 then do;
GRP_HESAP_ACIK_SURE = 4;
WOE_HESAP_ACIK_SURE = -0.368522202;
end;
else
if 2283 <= HESAP_ACIK_SURE then do;
GRP_HESAP_ACIK_SURE = 5;
WOE_HESAP_ACIK_SURE = -0.097270073;
end;
end;
*------------------------------------------------------------*;
* Variable: IPOTEK_TEMINAT_LTV;
*------------------------------------------------------------*;
LABEL GRP_IPOTEK_TEMINAT_LTV = "Grouped: IPOTEK_TEMINAT_LTV";
LABEL WOE_IPOTEK_TEMINAT_LTV = "Weight of Evidence: IPOTEK_TEMINAT_LT
if MISSING(IPOTEK_TEMINAT_LTV) then do;
GRP_IPOTEK_TEMINAT_LTV = 1;
WOE_IPOTEK_TEMINAT_LTV = 0.3731996484;
end;
else if NOT MISSING(IPOTEK_TEMINAT_LTV) then do;
if IPOTEK_TEMINAT_LTV < 0.28 then do;
GRP_IPOTEK_TEMINAT_LTV = 1;
WOE_IPOTEK_TEMINAT_LTV = 0.3731996484;
end;
else
if 0.28 <= IPOTEK_TEMINAT_LTV AND IPOTEK_TEMINAT_LTV < 0.6 then do;
GRP_IPOTEK_TEMINAT_LTV = 2;
WOE_IPOTEK_TEMINAT_LTV = 0.0070899427;
end;
else
if 0.6 <= IPOTEK_TEMINAT_LTV AND IPOTEK_TEMINAT_LTV < 0.7 then do;
GRP_IPOTEK_TEMINAT_LTV = 3;
WOE_IPOTEK_TEMINAT_LTV = -0.478417873;
end;
else
if 0.7 <= IPOTEK_TEMINAT_LTV then do;
GRP_IPOTEK_TEMINAT_LTV = 4;
WOE_IPOTEK_TEMINAT_LTV = -0.97498853;
end;
end;
*------------------------------------------------------------*;
* Variable: IPOTEK_TEMINAT_TUTARI;
*------------------------------------------------------------*;
LABEL GRP_IPOTEK_TEMINAT_TUTARI =
"Grouped: IPOTEK_TEMINAT_TUTARI";
LABEL WOE_IPOTEK_TEMINAT_TUTARI =
"Weight of Evidence: IPOTEK_TEMINAT_TUTARI";
if MISSING(IPOTEK_TEMINAT_TUTARI) then do;
GRP_IPOTEK_TEMINAT_TUTARI = 4;

304
305

WOE_IPOTEK_TEMINAT_TUTARI = -0.090890466;
end;

The SAS System


17:05 Tuesday, March 25, 2014

306
else if NOT MISSING(IPOTEK_TEMINAT_TUTARI) then do;
307
if IPOTEK_TEMINAT_TUTARI < 120000 then do;
308
GRP_IPOTEK_TEMINAT_TUTARI = 1;
309
WOE_IPOTEK_TEMINAT_TUTARI = 0.0241261298;
310
end;
311
else
312
if 120000 <= IPOTEK_TEMINAT_TUTARI AND IPOTEK_TEMINAT_TUTARI < 130000
then do;
313
GRP_IPOTEK_TEMINAT_TUTARI = 2;
314
WOE_IPOTEK_TEMINAT_TUTARI = 0.72221603;
315
end;
316
else
317
if 130000 <= IPOTEK_TEMINAT_TUTARI AND IPOTEK_TEMINAT_TUTARI < 240000
then do;
318
GRP_IPOTEK_TEMINAT_TUTARI = 3;
319
WOE_IPOTEK_TEMINAT_TUTARI = 0.2099754785;
320
end;
321
else
322
if 240000 <= IPOTEK_TEMINAT_TUTARI AND IPOTEK_TEMINAT_TUTARI < 130000
0 then do;
323
GRP_IPOTEK_TEMINAT_TUTARI = 4;
324
WOE_IPOTEK_TEMINAT_TUTARI = -0.090890466;
325
end;
326
else
327
if 1300000 <= IPOTEK_TEMINAT_TUTARI then do;
328
GRP_IPOTEK_TEMINAT_TUTARI = 5;
329
WOE_IPOTEK_TEMINAT_TUTARI = -1.091522346;
330
end;
331
end;
332
333
*------------------------------------------------------------*;
334
* Variable: MUSTERIYLE_CALISMA_SURESI;
335
*------------------------------------------------------------*;
336
LABEL GRP_MUSTERIYLE_CALISMA_SURESI = "Grouped: MUSTERIYLE_CALISMA_SU
RESI";
337
LABEL WOE_MUSTERIYLE_CALISMA_SURESI = "Weight of Evidence: MUSTERIYLE
_CALISMA_SURESI";
338
339
if MISSING(MUSTERIYLE_CALISMA_SURESI) then do;
340
GRP_MUSTERIYLE_CALISMA_SURESI = 3;
341
WOE_MUSTERIYLE_CALISMA_SURESI = -0.320988502;
342
end;
343
else if NOT MISSING(MUSTERIYLE_CALISMA_SURESI) then do;
344
if MUSTERIYLE_CALISMA_SURESI < 3 then do;
345
GRP_MUSTERIYLE_CALISMA_SURESI = 1;
346
WOE_MUSTERIYLE_CALISMA_SURESI = 0.1420092606;
347
end;
348
else
349
if 3 <= MUSTERIYLE_CALISMA_SURESI AND MUSTERIYLE_CALISMA_SURESI < 4 t
hen do;
350
GRP_MUSTERIYLE_CALISMA_SURESI = 2;
351
WOE_MUSTERIYLE_CALISMA_SURESI = -0.071777677;
352
end;
353
else
354
if 4 <= MUSTERIYLE_CALISMA_SURESI AND MUSTERIYLE_CALISMA_SURESI < 7 t
hen do;
355
GRP_MUSTERIYLE_CALISMA_SURESI = 3;

356
357
358
359
hen do;
360
361
362
363

WOE_MUSTERIYLE_CALISMA_SURESI = -0.320988502;
end;
else
if 7 <= MUSTERIYLE_CALISMA_SURESI AND MUSTERIYLE_CALISMA_SURESI < 8 t
GRP_MUSTERIYLE_CALISMA_SURESI = 4;
WOE_MUSTERIYLE_CALISMA_SURESI = 0.4666222721;
end;
else

10

The SAS System


17:05 Tuesday, March 25, 2014

364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
V";
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419

if 8 <= MUSTERIYLE_CALISMA_SURESI then do;


GRP_MUSTERIYLE_CALISMA_SURESI = 5;
WOE_MUSTERIYLE_CALISMA_SURESI = 0.1857532775;
end;
end;
*------------------------------------------------------------*;
* Variable: TARAF_TIPI;
*------------------------------------------------------------*;
LABEL GRP_TARAF_TIPI = "Grouped: TARAF_TIPI";
LABEL WOE_TARAF_TIPI = "Weight of Evidence: TARAF_TIPI";
if MISSING(TARAF_TIPI) then do;
GRP_TARAF_TIPI = 2;
WOE_TARAF_TIPI = -0.221358661;
end;
else if NOT MISSING(TARAF_TIPI) then do;
if TARAF_TIPI < 2 then do;
GRP_TARAF_TIPI = 1;
WOE_TARAF_TIPI = 0.2674411214;
end;
else
if 2 <= TARAF_TIPI then do;
GRP_TARAF_TIPI = 2;
WOE_TARAF_TIPI = -0.221358661;
end;
end;
*------------------------------------------------------------*;
* Variable: TOPLAM_TEMINAT_LTV;
*------------------------------------------------------------*;
LABEL GRP_TOPLAM_TEMINAT_LTV = "Grouped: TOPLAM_TEMINAT_LTV";
LABEL WOE_TOPLAM_TEMINAT_LTV = "Weight of Evidence: TOPLAM_TEMINAT_LT
if MISSING(TOPLAM_TEMINAT_LTV) then do;
GRP_TOPLAM_TEMINAT_LTV = 3;
WOE_TOPLAM_TEMINAT_LTV = 0.074100653;
end;
else if NOT MISSING(TOPLAM_TEMINAT_LTV) then do;
if TOPLAM_TEMINAT_LTV < 0.08 then do;
GRP_TOPLAM_TEMINAT_LTV = 1;
WOE_TOPLAM_TEMINAT_LTV = -0.016440555;
end;
else
if 0.08 <= TOPLAM_TEMINAT_LTV AND TOPLAM_TEMINAT_LTV < 0.22 then do;
GRP_TOPLAM_TEMINAT_LTV = 2;
WOE_TOPLAM_TEMINAT_LTV = 0.7709621422;
end;
else
if 0.22 <= TOPLAM_TEMINAT_LTV AND TOPLAM_TEMINAT_LTV < 0.52 then do;
GRP_TOPLAM_TEMINAT_LTV = 3;
WOE_TOPLAM_TEMINAT_LTV = 0.074100653;
end;
else
if 0.52 <= TOPLAM_TEMINAT_LTV AND TOPLAM_TEMINAT_LTV < 1.1 then do;
GRP_TOPLAM_TEMINAT_LTV = 4;

420
421

WOE_TOPLAM_TEMINAT_LTV = -0.495538914;
end;

11

The SAS System


17:05 Tuesday, March 25, 2014

422
else
423
if 1.1 <= TOPLAM_TEMINAT_LTV then do;
424
GRP_TOPLAM_TEMINAT_LTV = 5;
425
WOE_TOPLAM_TEMINAT_LTV = -1.720131005;
426
end;
427
end;
428
429
*------------------------------------------------------------*;
430
* Variable: TOPLAM_TEMINAT_TUTARI;
431
*------------------------------------------------------------*;
432
LABEL GRP_TOPLAM_TEMINAT_TUTARI =
433
"Grouped: TOPLAM_TEMINAT_TUTARI";
434
LABEL WOE_TOPLAM_TEMINAT_TUTARI =
435
"Weight of Evidence: TOPLAM_TEMINAT_TUTARI";
436
437
if MISSING(TOPLAM_TEMINAT_TUTARI) then do;
438
GRP_TOPLAM_TEMINAT_TUTARI = 1;
439
WOE_TOPLAM_TEMINAT_TUTARI = 0.1857226595;
440
end;
441
else if NOT MISSING(TOPLAM_TEMINAT_TUTARI) then do;
442
if TOPLAM_TEMINAT_TUTARI < 240000 then do;
443
GRP_TOPLAM_TEMINAT_TUTARI = 1;
444
WOE_TOPLAM_TEMINAT_TUTARI = 0.1857226595;
445
end;
446
else
447
if 240000 <= TOPLAM_TEMINAT_TUTARI AND TOPLAM_TEMINAT_TUTARI < 343822
then do;
448
GRP_TOPLAM_TEMINAT_TUTARI = 2;
449
WOE_TOPLAM_TEMINAT_TUTARI = -0.189024936;
450
end;
451
else
452
if 343822 <= TOPLAM_TEMINAT_TUTARI AND TOPLAM_TEMINAT_TUTARI < 531539
.5 then do;
453
GRP_TOPLAM_TEMINAT_TUTARI = 3;
454
WOE_TOPLAM_TEMINAT_TUTARI = 0.1124504583;
455
end;
456
else
457
if 531539.5 <= TOPLAM_TEMINAT_TUTARI AND TOPLAM_TEMINAT_TUTARI < 1452
800 then do;
458
GRP_TOPLAM_TEMINAT_TUTARI = 4;
459
WOE_TOPLAM_TEMINAT_TUTARI = -0.216053609;
460
end;
461
else
462
if 1452800 <= TOPLAM_TEMINAT_TUTARI then do;
463
GRP_TOPLAM_TEMINAT_TUTARI = 5;
464
WOE_TOPLAM_TEMINAT_TUTARI = -0.946941117;
465
end;
466
end;
467
468
*------------------------------------------------------------*;
469
* Variable: IL_KODU;
470
*------------------------------------------------------------*;
471
LABEL GRP_IL_KODU = "Grouped: IL_KODU";
472
LABEL WOE_IL_KODU = "Weight of Evidence: IL_KODU";
473
474
_UFormat = put(IL_KODU,$CHAR2.0);
475
%dmnormip(_UFormat);

476
477
478
479

if MISSING(_UFORMAT) then do;


GRP_IL_KODU = 4;
WOE_IL_KODU = -1.328364742;
end;

12

The SAS System


17:05 Tuesday, March 25, 2014

480
else if NOT MISSING(_UFORMAT) then do;
481
if (_UFORMAT eq '15' OR _UFORMAT eq '16' OR _UFORMAT eq '17' OR _UFOR
MAT eq '21' OR _UFORMAT eq '25' OR _UFORMAT eq '28'
481
! OR _UFORMAT eq '31' OR _UFORMAT eq '36' OR _UFORMAT eq '4'
482
) then do;
483
GRP_IL_KODU = 1;
484
WOE_IL_KODU = 1.0260709617;
485
end;
486
else
487
if (_UFORMAT eq '48' OR _UFORMAT eq '5' OR _UFORMAT eq '50' OR _UFORM
AT eq '51' OR _UFORMAT eq '53' OR _UFORMAT eq '57'
487
! OR _UFORMAT eq '58' OR _UFORMAT eq '60' OR _UFORMAT eq '64'
488
) then do;
489
GRP_IL_KODU = 1;
490
WOE_IL_KODU = 1.0260709617;
491
end;
492
else
493
if (_UFORMAT eq '65' OR _UFORMAT eq '66' OR _UFORMAT eq '7' OR _UFORM
AT eq '70' OR _UFORMAT eq '75' OR _UFORMAT eq '76'
494
) then do;
495
GRP_IL_KODU = 1;
496
WOE_IL_KODU = 1.0260709617;
497
end;
498
else
499
if (_UFORMAT eq '10' OR _UFORMAT eq '20' OR _UFORMAT eq '22' OR _UFOR
MAT eq '3' OR _UFORMAT eq '32' OR _UFORMAT eq '33'
499
! OR _UFORMAT eq '34' OR _UFORMAT eq '35' OR _UFORMAT eq '37'
500
) then do;
501
GRP_IL_KODU = 2;
502
WOE_IL_KODU = 0.1196189478;
503
end;
504
else
505
if (_UFORMAT eq '39' OR _UFORMAT eq '43' OR _UFORMAT eq '59' OR _UFOR
MAT eq '61' OR _UFORMAT eq '80' OR _UFORMAT eq '9'
506
) then do;
507
GRP_IL_KODU = 2;
508
WOE_IL_KODU = 0.1196189478;
509
end;
510
else
511
if (_UFORMAT eq '1' OR _UFORMAT eq '18' OR _UFORMAT eq '19' OR _UFORM
AT eq '26' OR _UFORMAT eq '27' OR _UFORMAT eq '38'
511
! OR _UFORMAT eq '45' OR _UFORMAT eq '54' OR _UFORMAT eq '6'
512
) then do;
513
GRP_IL_KODU = 3;
514
WOE_IL_KODU = -0.323151744;
515
end;
516
else
517
if (_UFORMAT eq '67' OR _UFORMAT eq '8'
518
) then do;
519
GRP_IL_KODU = 3;
520
WOE_IL_KODU = -0.323151744;
521
end;
522
else
523
if (_UFORMAT eq '11' OR _UFORMAT eq '14' OR _UFORMAT eq '41' OR _UFOR
MAT eq '42' OR _UFORMAT eq '44' OR _UFORMAT eq '52'
523
! OR _UFORMAT eq '55' OR _UFORMAT eq '69' OR _UFORMAT eq '74'
524
) then do;

525
526
527
528
529
530
531
532

GRP_IL_KODU = 4;
WOE_IL_KODU = -1.328364742;
end;
else
if (_UFORMAT eq '77' OR _UFORMAT eq '81'
) then do;
GRP_IL_KODU = 4;
WOE_IL_KODU = -1.328364742;

13

The SAS System


17:05 Tuesday, March 25, 2014

533
end;
534
else do;
535
GRP_IL_KODU = 4;
536
WOE_IL_KODU = -1.328364742;
537
end;
538
end;
539
540
*------------------------------------------------------------*;
541
* Variable: TARAF_VSAMUS_SEGMENT_TIPI;
542
*------------------------------------------------------------*;
543
LABEL GRP_TARAF_VSAMUS_SEGMENT_TIPI = "Grouped: TARAF_VSAMUS_SEGMENT_
TIPI";
544
LABEL WOE_TARAF_VSAMUS_SEGMENT_TIPI = "Weight of Evidence: TARAF_VSAM
US_SEGMENT_TIPI";
545
546
_UFormat = put(TARAF_VSAMUS_SEGMENT_TIPI,BEST12.0);
547
%dmnormip(_UFormat);
548
if MISSING(_UFORMAT) then do;
549
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 2;
550
WOE_TARAF_VSAMUS_SEGMENT_TIPI = -0.344040814;
551
end;
552
else if NOT MISSING(_UFORMAT) then do;
553
if (_UFORMAT eq '2'
554
) then do;
555
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 1;
556
WOE_TARAF_VSAMUS_SEGMENT_TIPI = -1.239158345;
557
end;
558
else
559
if (_UFORMAT eq '1' OR _UFORMAT eq '3'
560
) then do;
561
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 2;
562
WOE_TARAF_VSAMUS_SEGMENT_TIPI = -0.344040814;
563
end;
564
else
565
if (_UFORMAT eq '7'
566
) then do;
567
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 3;
568
WOE_TARAF_VSAMUS_SEGMENT_TIPI = 0.6232760821;
569
end;
570
else
571
if (_UFORMAT eq '6'
572
) then do;
573
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 4;
574
WOE_TARAF_VSAMUS_SEGMENT_TIPI = 1.0870100983;
575
end;
576
else do;
577
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 2;
578
WOE_TARAF_VSAMUS_SEGMENT_TIPI = -0.344040814;
579
end;
580
end;
581
582
*------------------------------------------------------------*;
583
* Special Code Values
584
*------------------------------------------------------------*;
585
*------------------------------------------------------------*;
586
* TOOL: Metadata Node;
587
* TYPE: UTILITY;

588
589
590

* NODE: Meta4;
*------------------------------------------------------------*;
*------------------------------------------------------------*;

14

The SAS System


17:05 Tuesday, March 25, 2014

591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647

* TOOL: Regression;
* TYPE: MODEL;
* NODE: Reg2;
*------------------------------------------------------------*;
*************************************;
*** begin scoring code for regression;
*************************************;
length _WARN_ $4;
label _WARN_ = 'Warnings' ;
length I_LGD_BINARY_015 $ 12;
label I_LGD_BINARY_015 = 'Into: LGD_BINARY_015' ;
*** Target Values;
array REG2DRF [2] $12 _temporary_ ('1' '0' );
label U_LGD_BINARY_015 = 'Unnormalized Into: LGD_BINARY_015' ;
*** Unnormalized target values;
ARRAY REG2DRU[2] _TEMPORARY_ (1 0);
*** Generate dummy variables for LGD_BINARY_015 ;
drop _Y ;
label F_LGD_BINARY_015 = 'From: LGD_BINARY_015' ;
length F_LGD_BINARY_015 $ 12;
F_LGD_BINARY_015 = put( LGD_BINARY_015 , BEST12. );
%DMNORMIP( F_LGD_BINARY_015 )
if missing( LGD_BINARY_015 ) then do;
_Y = .;
end;
else do;
if F_LGD_BINARY_015 = '0' then do;
_Y = 1;
end;
else if F_LGD_BINARY_015 = '1' then do;
_Y = 0;
end;
else do;
_Y = .;
end;
end;
drop _DM_BAD;
_DM_BAD=0;
*** Generate dummy variables for GRP_IL_KODU ;
drop _1_0 _1_1 _1_2 _1_3 ;
*** encoding is sparse, initialize to zero;
_1_0 = 0;
_1_1 = 0;
_1_2 = 0;
_1_3 = 0;
if missing( GRP_IL_KODU ) then do;
_1_0 = .;
_1_1 = .;
_1_2 = .;
_1_3 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;

648

end;

15

The SAS System


17:05 Tuesday, March 25, 2014

649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705

else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_IL_KODU , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '2' then do;
_1_1 = 1;
end;
else if _dm12 = '3' then do;
_1_2 = 1;
end;
else if _dm12 = '1' then do;
_1_0 = 1;
end;
else if _dm12 = '4' then do;
_1_3 = 1;
end;
else do;
_1_0 = .;
_1_1 = .;
_1_2 = .;
_1_3 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_IPOTEK_TEMINAT_LTV ;
drop _2_0 _2_1 _2_2 _2_3 ;
*** encoding is sparse, initialize to zero;
_2_0 = 0;
_2_1 = 0;
_2_2 = 0;
_2_3 = 0;
if missing( GRP_IPOTEK_TEMINAT_LTV ) then do;
_2_0 = .;
_2_1 = .;
_2_2 = .;
_2_3 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_IPOTEK_TEMINAT_LTV , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '1' then do;
_2_0 = 1;
end;
else if _dm12 = '2' then do;
_2_1 = 1;
end;
else if _dm12 = '4' then do;
_2_3 = 1;
end;
else if _dm12 = '3' then do;
_2_2 = 1;
end;

706

else do;

16

The SAS System


17:05 Tuesday, March 25, 2014

707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763

_2_0 = .;
_2_1 = .;
_2_2 = .;
_2_3 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_TARAF_VSAMUS_SEGMENT_TIPI ;
drop _3_0 _3_1 _3_2 _3_3 ;
*** encoding is sparse, initialize to zero;
_3_0 = 0;
_3_1 = 0;
_3_2 = 0;
_3_3 = 0;
if missing( GRP_TARAF_VSAMUS_SEGMENT_TIPI ) then do;
_3_0 = .;
_3_1 = .;
_3_2 = .;
_3_3 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_TARAF_VSAMUS_SEGMENT_TIPI , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '2' then do;
_3_1 = 1;
end;
else if _dm12 = '3' then do;
_3_2 = 1;
end;
else if _dm12 = '1' then do;
_3_0 = 1;
end;
else if _dm12 = '4' then do;
_3_3 = 1;
end;
else do;
_3_0 = .;
_3_1 = .;
_3_2 = .;
_3_3 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** If missing inputs, use averages;
if _DM_BAD > 0 then do;
_P0 = 0.309204647;
_P1 = 0.690795353;
goto REG2DR1;
end;

764

*** Compute Linear Predictor;

17

The SAS System


17:05 Tuesday, March 25, 2014

765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821

drop _TEMP;
drop _LP0;
_LP0 = 0;
*** Effect: GRP_IL_KODU ;
_TEMP = 1;
_LP0 = _LP0 + ( -2.19240749345786)
_LP0 = _LP0 + ( -1.41590759840828)
_LP0 = _LP0 + ( -0.97041549100901)
_LP0 = _LP0 + (
0)

*
*
*
*

_TEMP
_TEMP
_TEMP
_TEMP

*
*
*
*

_1_0;
_1_1;
_1_2;
_1_3;

*** Effect: GRP_IPOTEK_TEMINAT_LTV ;


_TEMP = 1;
_LP0 = _LP0 + ( -1.16948601276984) *
_LP0 = _LP0 + ( -0.77848139154221) *
_LP0 = _LP0 + (
-0.3941833849832) *
_LP0 = _LP0 + (
0) *

_TEMP
_TEMP
_TEMP
_TEMP

*
*
*
*

_2_0;
_2_1;
_2_2;
_2_3;

*** Effect: GRP_TARAF_VSAMUS_SEGMENT_TIPI ;


_TEMP = 1;
_LP0 = _LP0 + (
2.0010940861008) * _TEMP
_LP0 = _LP0 + (
1.11095777299608) * _TEMP
_LP0 = _LP0 + (
0.23066774407996) * _TEMP
_LP0 = _LP0 + (
0) * _TEMP

*
*
*
*

_3_0;
_3_1;
_3_2;
_3_3;

*** Naive Posterior Probabilities;


drop _MAXP _IY _P0 _P1;
_TEMP =
0.48463588080461 + _LP0;
if (_TEMP < 0) then do;
_TEMP = exp(_TEMP);
_P0 = _TEMP / (1 + _TEMP);
end;
else _P0 = 1 / (1 + exp(-_TEMP));
_P1 = 1.0 - _P0;
REG2DR1:
*** Residuals;
if (_Y = .) then do;
R_LGD_BINARY_0151 = .;
R_LGD_BINARY_0150 = .;
end;
else do;
label R_LGD_BINARY_0151 = 'Residual: LGD_BINARY_015=1' ;
label R_LGD_BINARY_0150 = 'Residual: LGD_BINARY_015=0' ;
R_LGD_BINARY_0151 = - _P0;
R_LGD_BINARY_0150 = - _P1;
select( _Y );
when (0) R_LGD_BINARY_0151 = R_LGD_BINARY_0151 + 1;
when (1) R_LGD_BINARY_0150 = R_LGD_BINARY_0150 + 1;
end;
end;
*** Posterior Probabilities and Predicted Level;
label P_LGD_BINARY_0151 = 'Predicted: LGD_BINARY_015=1' ;
label P_LGD_BINARY_0150 = 'Predicted: LGD_BINARY_015=0' ;
P_LGD_BINARY_0151 = _P0;

822

_MAXP = _P0;

18

The SAS System


17:05 Tuesday, March 25, 2014

823
_IY = 1;
824
P_LGD_BINARY_0150 = _P1;
825
if (_P1 > _MAXP + 1E-8) then do;
826
_MAXP = _P1;
827
_IY = 2;
828
end;
829
I_LGD_BINARY_015 = REG2DRF[_IY];
830
U_LGD_BINARY_015 = REG2DRU[_IY];
831
832
*************************************;
833
***** end scoring code for regression;
834
*************************************;
835
*------------------------------------------------------------*;
836
* TOOL: Score Node;
837
* TYPE: ASSESS;
838
* NODE: Score;
839
*------------------------------------------------------------*;
840
*------------------------------------------------------------*;
841
* Score: Creating Fixed Names;
842
*------------------------------------------------------------*;
843
LABEL EM_EVENTPROBABILITY = 'Probability for level 1 of LGD_BINARY_01
5';
844
EM_EVENTPROBABILITY = P_LGD_BINARY_0151;
845
LABEL EM_PROBABILITY = 'Probability of Classification';
846
EM_PROBABILITY =
847
max(
848
P_LGD_BINARY_0151
849
,
850
P_LGD_BINARY_0150
851
);
852
LENGTH EM_CLASSIFICATION $%dmnorlen;
853
LABEL EM_CLASSIFICATION = "Prediction for LGD_BINARY_015";
854
EM_CLASSIFICATION = I_LGD_BINARY_015;
855
LABEL EM_CLASSTARGET = 'Target Variable: LGD_BINARY_015';
856
EM_CLASSTARGET = F_LGD_BINARY_015;
857
858
859
label PREDICTED_LGD = "CALIBRATED DATASET";
860
label SKOR = "LOG OF BAD OVER GOOD";
861
SKOR = LOG10(P_LGD_BINARY_0151 / P_LGD_BINARY_0150);
862
PREDICTED_LGD = (40.82159 * SKOR) + 51.56547;
863
label LGD_ORJ = "ORIJINAL PREDICTED LGD";
864
865
IF NAKIT_TEMINAT_TUTARI >0 AND TOPLAM_RISK > NAKIT_TEMINAT_TUTARI THE
N DO;
866
LGD_ORJ = (((TOPLAM_RISK - NAKIT_TEMINAT_TUTARI)* PREDICTED_LGD)
/ TOPLAM_RISK);
867
END;
868
ELSE IF NAKIT_TEMINAT_TUTARI > TOPLAM_RISK THEN DO;
869
LGD_ORJ=0;
870
END;
871
ELSE DO LGD_ORJ = PREDICTED_LGD; END;
872
873
RUN;
874
875
DATA BASELIRB.IPOTEKLI_TICARI;
876
SET BASELIRB.IPOTEKLI_TICARI;

877
878
879
880

TARIH2 = datepart(TARIH);
format TARIH2 DATE9.;
IF TARIH2 = "&ay"D then delete;
DROP TARIH2;

19

The SAS System


17:05 Tuesday, March 25, 2014

881
run;
882
883
PROC SQL;
884
insert into BASELIRB.IPOTEKLI_TICARI
885
select * from WORK.IPOTEKLI_TICARI_TUM_DEGISKENLER;
886
QUIT;
887
888
889
proc sql;
890
connect to oracle (user='PSASUSR6' password='{SAS002}0D36CB1B5A51291A
50366D6C24DF9D88' path='PDWH_SAS' path='PDWH_SAS');
891
select distinct (datepart(TARIH)) FORMAT=DATE9. into :ay
892
from ORCLPIRB.RYB_PARAMETRE;
893
quit;
894
%put &ay;
895
896
%macro diger_teminatli_ticari (ay);
897
proc sql;
898
connect to oracle (user='PSASUSR6' password='{SAS002}0D36CB1B5A51291A
50366D6C24DF9D88' path='PDWH_SAS');
899
create table WORK.DIGER_TEM_TICARI as
900
select * from connection to oracle
901
(
902
903
select a.MBB_NO,&ay AS TARIH, NAKIT_TEMINAT_TUTARI,(nvl(BIREYSEL_RISK
_TUTARI,0) + nvl(TICARI_RISK_TUTARI,0) +
903
! nvl(TUREV_RISK_TUTARI,0) + nvl(REPO_RISK_TUTARI,0)) as ACILIS_BAKIYES
I, c.SUBE_ADRES_IL_KODU as IL_KODU, case when (&ay
903
! - d.MUSTERI_KAYIT_TARIHI)
904
left outer join (
905
select MBB_NO, sum(NAKIT_TEMINAT_TUTARI) as NAKIT_TEMINAT_TUTARI, sum
(TASIT_TEMINAT_TUTARI) as TASIT_TEMINAT_TUTARI,
905
! sum(CEK_SENET_TEMINAT_TUTARI) as CEK_SENET_TEMINAT_TUTARI, sum(IPOTEK
_TEMINAT_TUTARI) as IPOTEK_TEMINAT_TUTARI from
906
(
907
select MBB_NO, case when TEMINAT_TURU = 'Nakit' then TEMINAT_TUTARI *
DOVIZ_ALIS else 0 end as NAKIT_TEMINAT_TUTARI, case
907
! when TEMINAT_TURU = 'Tat Rehni' then TEMINAT_TUTARI * DOVIZ_ALIS else
0 end as TASIT_TEMINAT_TUTARI, case when
907
! TEMINAT_TURU in ('ek
908
where a.TEMINAT_DOVIZ_KODU = b.DOVIZ_KODU
909
and a.TARIH = b.TARIH
910
and a.TARIH = &ay
911
and a.PROJE_KODU = 'TMT'
____________________
49
912
and a.KAYNAK in ( 'AK', 'ML')
____ _________________________
49
49
913
and TEMINAT_TURU in ( 'ek', 'Senet', 'Tat Rehni', 'Ipotek', 'Nakit')
____
____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
914
and (BASEL_UYGUNLUK_FLAG = 1 or IRB_FND_UYGUNLUK_FLAG = 1 OR IRB_ADV_

UYGUNLUK_FLAG = 1)
915
and TEMINAT_TUTARI > 0
916
)
917
group by MBB_NO) tem on a.MBB_NO = tem.MBB_NO
918
left outer join PDWH.DWH_TKANAL_SUBE c on a.MBB_SUBE = c.SUBE_KODU
919
left outer join PDWH.DWH_TTARAF_SNP d on a.MBB_NO = d.TARAF_ID + 1000
0000000 and d.TARIH = &ay,
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
920
(select MBB_NO, sum(BIREYSEL_RISK_TUTARI) as BIREYSEL_RISK_TUTARI, su
m(TICARI_RISK_TUTARI) as TICARI_RISK_TUTARI,
920
! sum(TUREV_RISK_TUTARI) as TUREV_RISK_TUTARI, sum(REPO_RISK_TUTARI) as
REPO_RISK_TUTARI from (
921
select MBB_NO, (case when PROJE_KODU = 'TUK' or (PROJE_KODU = 'ART' a
nd MEVCUT_URUN_ID = 527) then nvl(BAKIYE,0) +
____________________ ___
______________________________________________

20

The SAS System


17:05 Tuesday, March 25, 2014

_
49
49
49
921
! nvl(REESKONT_TUTARI,0) + nvl(TAHAKKUK_TUTARI,0) + case when PROJE_KOD
U = 'ART' then case when LIMIT - BAKIYE < 0 then 0
921
! else LIMIT - BAKIYE e
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
922
where a.DOVIZ_KODU = b.DOVIZ_KODU
923
and a.TARIH = b.TARIH
924
and a.TARIH = &ay
925
and a.KAYNAK in ('AK', 'HZ', 'ML')
____ ____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
926
union all
927
select MBB_NO, case when URUN_TIPI = 1 then nvl(BAKIYE_0_6_AY, 0) + n
vl(BAKIYE_7_12_AY,0) + nvl(BAKIYE_13_AY_USTU,0) +
927
! nvl(REESKONT_TUTARI,0) + case when REL_LIMIT - (nvl(BAKIYE_0_6_AY, 0)
+ nvl(BAKIYE_7_12_AY,0) + nvl(BAKIYE_13_AY_USTU,0)
927
! + nvl(REESKONT_T
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
928
where TARIH = &ay
929
union all
925
and a.KAYNAK in ('AK', 'HZ', 'ML')
__
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
930
select MBB_NO, 0 as BIREYSEL_RISK_TUTARI, TUTAR * DOVIZ_ALIS as TICAR
I_RISK_TUTARI, 0 as TUREV_RISK_TUTARI, 0 as
930
! REPO_RISK_TUTARI from PIRB.RSK_TDIS_SISTEM_MENKUL a, PIRB.RSK_TKUR b
931
where a.DOVIZ_KODU = b.DOVIZ_KODU
932
and a.TARIH = b.TARIH
933
and a.TARIH = &ay
934
and a.KAYNAK in ('AK', 'HZ', 'ML')
____ ____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
935
union all
936
select fin.MBB_NO, 0 as BIREYSEL_RISK_TUTARI, 0 as TICARI_RISK_TUTARI
, nvl(SOLO_TUREV_RISK_TOP_TL, 0) as
936
! TUREV_RISK_TUTARI, nvl(SOLO_REPO_RISK_TOP_TL,0) as REPO_RISK_TUTARI f

rom PIRB.RSK_TKONSOLIDE_MUS_FINANSAL fin, (select


936
! distinct MBB_NO from (
937
select MBB_NO from PIRB.RSK_TDIS_SISTEM_REPO
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
934
and a.KAYNAK in ('AK', 'HZ', 'ML')
__
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
938
939

where TARIH = &ay


and KAYNAK in ('AK', 'HZ', 'ML')
____ ____ __
49
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.

21

The SAS System


17:05 Tuesday, March 25, 2014

940
941
942
943

union all
select MBB_NO from PIRB.RSK_TDIS_SISTEM_REPO
where TARIH = &ay
and KAYNAK in ('AK', 'HZ', 'ML')
____ ____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
944
) group by MBB_NO) acilis
945
where fin.MBB_NO = acilis.MBB_NO
946
and fin.TARIH = &ay
947
and (fin.SOLO_TUREV_RISK_TOP_TL is not null or fin.SOLO_REPO_RISK_TOP
_TL is not null)
948
) group by MBB_NO) risk
949
where a.TARIH = &ay
950
and a.MBB_NO = risk.MBB_NO
951
and IPOTEK_TEMINAT_TUTARI = 0
952
and (CEK_SENET_TEMINAT_TUTARI > 0 or TASIT_TEMINAT_TUTARI > 0)
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
953
954
955
);
956
disconnect from oracle;
957
quit;
958
%mend ;
959
%diger_teminatli_ticari (TO_DATE(%str(%')&ay%str(%'),'DD/MM/YYYY'));
960
961
DATA WORK.DIGER_TEM_TICARI_TUM_DEGISKENLER;
962
SET WORK.DIGER_TEM_TICARI;
963
964
*------------------------------------------------------------*;
965
* EM SCORE CODE;
966
* EM Version: 7.1;
967
* SAS Release: 9.03.01M1P110911;
968
* Host: sasskr1;
969
* Encoding: latin5;
970
* Locale: en_US;
971
* Project Path: /data01/EM_Projects;
972
* Project Name: LGD_Model_Ticari;
973
* Diagram Id: EMWS5;
974
* Diagram Name: TEMINATLI_TICARI_MUS;
975
* Generated by: 50519;
976
* Date: 19SEP2013:15:19:25;
977
*------------------------------------------------------------*;
978
*------------------------------------------------------------*;
979
* TOOL: Input Data Source;
980
* TYPE: SAMPLE;
981
* NODE: Ids3;
982
*------------------------------------------------------------*;
983
*------------------------------------------------------------*;
984
* TOOL: Metadata Node;
985
* TYPE: UTILITY;
986
* NODE: Meta5;

987
988
989
990
991

*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Extension Class;
* TYPE: CREDSCORE;
* NODE: IGN3;

22

The SAS System


17:05 Tuesday, March 25, 2014

992
*------------------------------------------------------------*;
993
length _UFormat $200;
994
drop _UFormat;
995
_UFormat='';
996
997
*------------------------------------------------------------*;
998
* Variable: ACILIS_BAKIYESI;
999
*------------------------------------------------------------*;
1000
LABEL GRP_ACILIS_BAKIYESI =
1001
"Grouped: ACILIS_BAKIYESI";
1002
LABEL WOE_ACILIS_BAKIYESI =
1003
"Weight of Evidence: ACILIS_BAKIYESI";
1004
1005
if MISSING(ACILIS_BAKIYESI) then do;
1006
GRP_ACILIS_BAKIYESI = 1;
1007
WOE_ACILIS_BAKIYESI = 0.4055325327;
1008
end;
1009
else if NOT MISSING(ACILIS_BAKIYESI) then do;
1010
if ACILIS_BAKIYESI < 27763.61 then do;
1011
GRP_ACILIS_BAKIYESI = 1;
1012
WOE_ACILIS_BAKIYESI = 0.4055325327;
1013
end;
1014
else
1015
if 27763.61 <= ACILIS_BAKIYESI AND ACILIS_BAKIYESI < 65614.59 then do
;
1016
GRP_ACILIS_BAKIYESI = 2;
1017
WOE_ACILIS_BAKIYESI = -0.105829804;
1018
end;
1019
else
1020
if 65614.59 <= ACILIS_BAKIYESI AND ACILIS_BAKIYESI < 239815.67 then d
o;
1021
GRP_ACILIS_BAKIYESI = 3;
1022
WOE_ACILIS_BAKIYESI = -0.532201597;
1023
end;
1024
else
1025
if 239815.67 <= ACILIS_BAKIYESI then do;
1026
GRP_ACILIS_BAKIYESI = 4;
1027
WOE_ACILIS_BAKIYESI = -1.228754279;
1028
end;
1029
end;
1030
1031
*------------------------------------------------------------*;
1032
* Variable: CALISAN_PERSONEL_SAYISI;
1033
*------------------------------------------------------------*;
1034
LABEL GRP_CALISAN_PERSONEL_SAYISI = "Grouped: CALISAN_PERSONEL_SAYISI
";
1035
LABEL WOE_CALISAN_PERSONEL_SAYISI = "Weight of Evidence: CALISAN_PERS
ONEL_SAYISI";
1036
1037
if MISSING(CALISAN_PERSONEL_SAYISI) then do;
1038
GRP_CALISAN_PERSONEL_SAYISI = 1;
1039
WOE_CALISAN_PERSONEL_SAYISI = 0.2048841476;
1040
end;
1041
else if NOT MISSING(CALISAN_PERSONEL_SAYISI) then do;
1042
if CALISAN_PERSONEL_SAYISI < 2 then do;
1043
GRP_CALISAN_PERSONEL_SAYISI = 1;
1044
WOE_CALISAN_PERSONEL_SAYISI = 0.2048841476;

1045
1046
1047
do;
1048
1049

end;
else
if 2 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 5 then
GRP_CALISAN_PERSONEL_SAYISI = 2;
WOE_CALISAN_PERSONEL_SAYISI = 0.1244955702;

23

The SAS System


17:05 Tuesday, March 25, 2014

1050
1051
1052
do;
1053
1054
1055
1056
1057
n do;
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
_SURESI";
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103

end;
else
if 5 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 10 then
GRP_CALISAN_PERSONEL_SAYISI = 3;
WOE_CALISAN_PERSONEL_SAYISI = -0.145912496;
end;
else
if 10 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 16 the
GRP_CALISAN_PERSONEL_SAYISI = 4;
WOE_CALISAN_PERSONEL_SAYISI = -0.249401767;
end;
else
if 16 <= CALISAN_PERSONEL_SAYISI then do;
GRP_CALISAN_PERSONEL_SAYISI = 5;
WOE_CALISAN_PERSONEL_SAYISI = -0.413436404;
end;
end;
*------------------------------------------------------------*;
* Variable: FIRMA_FAALIYET_SURESI;
*------------------------------------------------------------*;
LABEL GRP_FIRMA_FAALIYET_SURESI = "Grouped: FIRMA_FAALIYET_SURESI";
LABEL WOE_FIRMA_FAALIYET_SURESI = "Weight of Evidence: FIRMA_FAALIYET
if MISSING(FIRMA_FAALIYET_SURESI) then do;
GRP_FIRMA_FAALIYET_SURESI = 5;
WOE_FIRMA_FAALIYET_SURESI = 0.2124940747;
end;
else if NOT MISSING(FIRMA_FAALIYET_SURESI) then do;
if FIRMA_FAALIYET_SURESI < 2 then do;
GRP_FIRMA_FAALIYET_SURESI = 1;
WOE_FIRMA_FAALIYET_SURESI = 0.1474970543;
end;
else
if 2 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 5 then do;
GRP_FIRMA_FAALIYET_SURESI = 2;
WOE_FIRMA_FAALIYET_SURESI = -0.264300145;
end;
else
if 5 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 7 then do;
GRP_FIRMA_FAALIYET_SURESI = 3;
WOE_FIRMA_FAALIYET_SURESI = 0.0748483667;
end;
else
if 7 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 9 then do;
GRP_FIRMA_FAALIYET_SURESI = 4;
WOE_FIRMA_FAALIYET_SURESI = -0.393511877;
end;
else
if 9 <= FIRMA_FAALIYET_SURESI then do;
GRP_FIRMA_FAALIYET_SURESI = 5;
WOE_FIRMA_FAALIYET_SURESI = 0.2124940747;
end;
end;

1104
1105
1106
1107

*------------------------------------------------------------*;
* Variable: HESAP_ACIK_SURE;
*------------------------------------------------------------*;

24

The SAS System


17:05 Tuesday, March 25, 2014

1108
LABEL GRP_HESAP_ACIK_SURE =
1109
"Grouped: HESAP_ACIK_SURE";
1110
LABEL WOE_HESAP_ACIK_SURE =
1111
"Weight of Evidence: HESAP_ACIK_SURE";
1112
1113
if MISSING(HESAP_ACIK_SURE) then do;
1114
GRP_HESAP_ACIK_SURE = 3;
1115
WOE_HESAP_ACIK_SURE = 0.5364141206;
1116
end;
1117
else if NOT MISSING(HESAP_ACIK_SURE) then do;
1118
if HESAP_ACIK_SURE < 430 then do;
1119
GRP_HESAP_ACIK_SURE = 1;
1120
WOE_HESAP_ACIK_SURE = -0.726485436;
1121
end;
1122
else
1123
if 430 <= HESAP_ACIK_SURE AND HESAP_ACIK_SURE < 697 then do;
1124
GRP_HESAP_ACIK_SURE = 2;
1125
WOE_HESAP_ACIK_SURE = -0.097246061;
1126
end;
1127
else
1128
if 697 <= HESAP_ACIK_SURE AND HESAP_ACIK_SURE < 1291 then do;
1129
GRP_HESAP_ACIK_SURE = 3;
1130
WOE_HESAP_ACIK_SURE = 0.5364141206;
1131
end;
1132
else
1133
if 1291 <= HESAP_ACIK_SURE AND HESAP_ACIK_SURE < 2377 then do;
1134
GRP_HESAP_ACIK_SURE = 4;
1135
WOE_HESAP_ACIK_SURE = -0.120935832;
1136
end;
1137
else
1138
if 2377 <= HESAP_ACIK_SURE then do;
1139
GRP_HESAP_ACIK_SURE = 5;
1140
WOE_HESAP_ACIK_SURE = 0.231627169;
1141
end;
1142
end;
1143
1144
*------------------------------------------------------------*;
1145
* Variable: MUSTERIYLE_CALISMA_SURESI;
1146
*------------------------------------------------------------*;
1147
LABEL GRP_MUSTERIYLE_CALISMA_SURESI = "Grouped: MUSTERIYLE_CALISMA_SU
RESI";
1148
LABEL WOE_MUSTERIYLE_CALISMA_SURESI = "Weight of Evidence: MUSTERIYLE
_CALISMA_SURESI";
1149
1150
if MISSING(MUSTERIYLE_CALISMA_SURESI) then do;
1151
GRP_MUSTERIYLE_CALISMA_SURESI = 3;
1152
WOE_MUSTERIYLE_CALISMA_SURESI = 0.1177734114;
1153
end;
1154
else if NOT MISSING(MUSTERIYLE_CALISMA_SURESI) then do;
1155
if MUSTERIYLE_CALISMA_SURESI < 2 then do;
1156
GRP_MUSTERIYLE_CALISMA_SURESI = 1;
1157
WOE_MUSTERIYLE_CALISMA_SURESI = -0.607178428;
1158
end;
1159
else
1160
if 2 <= MUSTERIYLE_CALISMA_SURESI AND MUSTERIYLE_CALISMA_SURESI < 3 t
hen do;
1161
GRP_MUSTERIYLE_CALISMA_SURESI = 2;

1162
1163
1164
1165
hen do;

WOE_MUSTERIYLE_CALISMA_SURESI = 0.0014030204;
end;
else
if 3 <= MUSTERIYLE_CALISMA_SURESI AND MUSTERIYLE_CALISMA_SURESI < 7 t

25

The SAS System


17:05 Tuesday, March 25, 2014

1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
;
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221

GRP_MUSTERIYLE_CALISMA_SURESI = 3;
WOE_MUSTERIYLE_CALISMA_SURESI = 0.1177734114;
end;
else
if 7 <= MUSTERIYLE_CALISMA_SURESI then do;
GRP_MUSTERIYLE_CALISMA_SURESI = 4;
WOE_MUSTERIYLE_CALISMA_SURESI = 0.2469454323;
end;
end;
*------------------------------------------------------------*;
* Variable: TARAF_TIPI;
*------------------------------------------------------------*;
LABEL GRP_TARAF_TIPI = "Grouped: TARAF_TIPI";
LABEL WOE_TARAF_TIPI = "Weight of Evidence: TARAF_TIPI";
if MISSING(TARAF_TIPI) then do;
GRP_TARAF_TIPI = 2;
WOE_TARAF_TIPI = -0.220303896;
end;
else if NOT MISSING(TARAF_TIPI) then do;
if TARAF_TIPI < 2 then do;
GRP_TARAF_TIPI = 1;
WOE_TARAF_TIPI = 0.2895702043;
end;
else
if 2 <= TARAF_TIPI then do;
GRP_TARAF_TIPI = 2;
WOE_TARAF_TIPI = -0.220303896;
end;
end;
*------------------------------------------------------------*;
* Variable: TASIT_TEMINAT_LTV;
*------------------------------------------------------------*;
LABEL GRP_TASIT_TEMINAT_LTV = "Grouped: TASIT_TEMINAT_LTV";
LABEL WOE_TASIT_TEMINAT_LTV = "Weight of Evidence: TASIT_TEMINAT_LTV"
if MISSING(TASIT_TEMINAT_LTV) then do;
GRP_TASIT_TEMINAT_LTV = 5;
WOE_TASIT_TEMINAT_LTV = -0.962901177;
end;
else if NOT MISSING(TASIT_TEMINAT_LTV) then do;
if TASIT_TEMINAT_LTV < 0.07 then do;
GRP_TASIT_TEMINAT_LTV = 1;
WOE_TASIT_TEMINAT_LTV = 0.3880752933;
end;
else
if 0.07 <= TASIT_TEMINAT_LTV AND TASIT_TEMINAT_LTV < 0.21 then do;
GRP_TASIT_TEMINAT_LTV = 2;
WOE_TASIT_TEMINAT_LTV = 0.6193123496;
end;
else
if 0.21 <= TASIT_TEMINAT_LTV AND TASIT_TEMINAT_LTV < 0.49 then do;
GRP_TASIT_TEMINAT_LTV = 3;
WOE_TASIT_TEMINAT_LTV = 0.2601852176;

1222
1223

end;
else

26

The SAS System


17:05 Tuesday, March 25, 2014

1224
if 0.49 <= TASIT_TEMINAT_LTV then do;
1225
GRP_TASIT_TEMINAT_LTV = 4;
1226
WOE_TASIT_TEMINAT_LTV = -0.565452407;
1227
end;
1228
end;
1229
1230
*------------------------------------------------------------*;
1231
* Variable: TASIT_TEMINAT_TUTARI;
1232
*------------------------------------------------------------*;
1233
LABEL GRP_TASIT_TEMINAT_TUTARI =
1234
"Grouped: TASIT_TEMINAT_TUTARI";
1235
LABEL WOE_TASIT_TEMINAT_TUTARI =
1236
"Weight of Evidence: TASIT_TEMINAT_TUTARI";
1237
1238
if MISSING(TASIT_TEMINAT_TUTARI) then do;
1239
GRP_TASIT_TEMINAT_TUTARI = 2;
1240
WOE_TASIT_TEMINAT_TUTARI = 0.1532005878;
1241
end;
1242
else if NOT MISSING(TASIT_TEMINAT_TUTARI) then do;
1243
if TASIT_TEMINAT_TUTARI < 36200 then do;
1244
GRP_TASIT_TEMINAT_TUTARI = 1;
1245
WOE_TASIT_TEMINAT_TUTARI = -0.424605856;
1246
end;
1247
else
1248
if 36200 <= TASIT_TEMINAT_TUTARI AND TASIT_TEMINAT_TUTARI < 86700 the
n do;
1249
GRP_TASIT_TEMINAT_TUTARI = 2;
1250
WOE_TASIT_TEMINAT_TUTARI = 0.1532005878;
1251
end;
1252
else
1253
if 86700 <= TASIT_TEMINAT_TUTARI AND TASIT_TEMINAT_TUTARI < 130359.37
then do;
1254
GRP_TASIT_TEMINAT_TUTARI = 3;
1255
WOE_TASIT_TEMINAT_TUTARI = -0.052568005;
1256
end;
1257
else
1258
if 130359.37 <= TASIT_TEMINAT_TUTARI AND TASIT_TEMINAT_TUTARI < 15311
9.4 then do;
1259
GRP_TASIT_TEMINAT_TUTARI = 4;
1260
WOE_TASIT_TEMINAT_TUTARI = 0.202508593;
1261
end;
1262
else
1263
if 153119.4 <= TASIT_TEMINAT_TUTARI then do;
1264
GRP_TASIT_TEMINAT_TUTARI = 5;
1265
WOE_TASIT_TEMINAT_TUTARI = -0.170842804;
1266
end;
1267
end;
1268
1269
*------------------------------------------------------------*;
1270
* Variable: TOPLAM_TEMINAT_LTV;
1271
*------------------------------------------------------------*;
1272
LABEL GRP_TOPLAM_TEMINAT_LTV = "Grouped: TOPLAM_TEMINAT_LTV";
1273
LABEL WOE_TOPLAM_TEMINAT_LTV = "Weight of Evidence: TOPLAM_TEMINAT_LT
V";
1274
1275
if MISSING(TOPLAM_TEMINAT_LTV) then do;
1276
GRP_TOPLAM_TEMINAT_LTV = 1;

1277
1278
1279
1280
1281

WOE_TOPLAM_TEMINAT_LTV = 0.4288470353;
end;
else if NOT MISSING(TOPLAM_TEMINAT_LTV) then do;
if TOPLAM_TEMINAT_LTV < 0.17 then do;
GRP_TOPLAM_TEMINAT_LTV = 1;

27

The SAS System


17:05 Tuesday, March 25, 2014

1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
2 then do;
1315
1316
1317
1318
1319
2 then do;
1320
1321
1322
1323
1324
then do;
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335

WOE_TOPLAM_TEMINAT_LTV = 0.4288470353;
end;
else
if 0.17 <= TOPLAM_TEMINAT_LTV AND TOPLAM_TEMINAT_LTV < 0.54 then do;
GRP_TOPLAM_TEMINAT_LTV = 2;
WOE_TOPLAM_TEMINAT_LTV = 0.204393858;
end;
else
if 0.54 <= TOPLAM_TEMINAT_LTV then do;
GRP_TOPLAM_TEMINAT_LTV = 3;
WOE_TOPLAM_TEMINAT_LTV = -0.671668928;
end;
end;
*------------------------------------------------------------*;
* Variable: TOPLAM_TEMINAT_TUTARI;
*------------------------------------------------------------*;
LABEL GRP_TOPLAM_TEMINAT_TUTARI =
"Grouped: TOPLAM_TEMINAT_TUTARI";
LABEL WOE_TOPLAM_TEMINAT_TUTARI =
"Weight of Evidence: TOPLAM_TEMINAT_TUTARI";
if MISSING(TOPLAM_TEMINAT_TUTARI) then do;
GRP_TOPLAM_TEMINAT_TUTARI = 4;
WOE_TOPLAM_TEMINAT_TUTARI = -0.061390074;
end;
else if NOT MISSING(TOPLAM_TEMINAT_TUTARI) then do;
if TOPLAM_TEMINAT_TUTARI < 52000 then do;
GRP_TOPLAM_TEMINAT_TUTARI = 1;
WOE_TOPLAM_TEMINAT_TUTARI = 0.026212015;
end;
else
if 52000 <= TOPLAM_TEMINAT_TUTARI AND TOPLAM_TEMINAT_TUTARI < 59991.8
GRP_TOPLAM_TEMINAT_TUTARI = 2;
WOE_TOPLAM_TEMINAT_TUTARI = 0.2401296258;
end;
else
if 59991.82 <= TOPLAM_TEMINAT_TUTARI AND TOPLAM_TEMINAT_TUTARI < 8543
GRP_TOPLAM_TEMINAT_TUTARI = 3;
WOE_TOPLAM_TEMINAT_TUTARI = 0.1072925265;
end;
else
if 85432 <= TOPLAM_TEMINAT_TUTARI AND TOPLAM_TEMINAT_TUTARI < 277762
GRP_TOPLAM_TEMINAT_TUTARI = 4;
WOE_TOPLAM_TEMINAT_TUTARI = -0.061390074;
end;
else
if 277762 <= TOPLAM_TEMINAT_TUTARI then do;
GRP_TOPLAM_TEMINAT_TUTARI = 5;
WOE_TOPLAM_TEMINAT_TUTARI = -0.300034593;
end;
end;
*------------------------------------------------------------*;

1336
1337
1338
1339

* Variable: IL_KODU;
*------------------------------------------------------------*;
LABEL GRP_IL_KODU = "Grouped: IL_KODU";
LABEL WOE_IL_KODU = "Weight of Evidence: IL_KODU";

28

The SAS System


17:05 Tuesday, March 25, 2014

1340
1341
_UFormat = put(IL_KODU,$CHAR2.0);
1342
%dmnormip(_UFormat);
1343
if MISSING(_UFORMAT) then do;
1344
GRP_IL_KODU = 4;
1345
WOE_IL_KODU = 0.9720340399;
1346
end;
1347
else if NOT MISSING(_UFORMAT) then do;
1348
if (_UFORMAT eq '15' OR _UFORMAT eq '2' OR _UFORMAT eq '27' OR _UFORM
AT eq '34' OR _UFORMAT eq '39' OR _UFORMAT eq '44'
1348
! OR _UFORMAT eq '46' OR _UFORMAT eq '52' OR _UFORMAT eq '55'
1349
) then do;
1350
GRP_IL_KODU = 1;
1351
WOE_IL_KODU = -0.354663901;
1352
end;
1353
else
1354
if (_UFORMAT eq '58' OR _UFORMAT eq '6' OR _UFORMAT eq '63' OR _UFORM
AT eq '64' OR _UFORMAT eq '67'
1355
) then do;
1356
GRP_IL_KODU = 1;
1357
WOE_IL_KODU = -0.354663901;
1358
end;
1359
else
1360
if (_UFORMAT eq '11' OR _UFORMAT eq '26' OR _UFORMAT eq '33' OR _UFOR
MAT eq '35' OR _UFORMAT eq '41' OR _UFORMAT eq '42'
1360
! OR _UFORMAT eq '45' OR _UFORMAT eq '5' OR _UFORMAT eq '51'
1361
) then do;
1362
GRP_IL_KODU = 2;
1363
WOE_IL_KODU = -0.095002341;
1364
end;
1365
else
1366
if (_UFORMAT eq '54' OR _UFORMAT eq '7' OR _UFORMAT eq '74' OR _UFORM
AT eq '77' OR _UFORMAT eq '9'
1367
) then do;
1368
GRP_IL_KODU = 2;
1369
WOE_IL_KODU = -0.095002341;
1370
end;
1371
else
1372
if (_UFORMAT eq '1' OR _UFORMAT eq '10' OR _UFORMAT eq '14' OR _UFORM
AT eq '17' OR _UFORMAT eq '18' OR _UFORMAT eq '19'
1372
! OR _UFORMAT eq '20' OR _UFORMAT eq '21' OR _UFORMAT eq '25'
1373
) then do;
1374
GRP_IL_KODU = 3;
1375
WOE_IL_KODU = 0.3501209835;
1376
end;
1377
else
1378
if (_UFORMAT eq '28' OR _UFORMAT eq '3' OR _UFORMAT eq '31' OR _UFORM
AT eq '32' OR _UFORMAT eq '38' OR _UFORMAT eq '48'
1378
! OR _UFORMAT eq '57' OR _UFORMAT eq '59' OR _UFORMAT eq '61'
1379
) then do;
1380
GRP_IL_KODU = 3;
1381
WOE_IL_KODU = 0.3501209835;
1382
end;
1383
else
1384
if (_UFORMAT eq '66' OR _UFORMAT eq '69' OR _UFORMAT eq '8'
1385
) then do;
1386
GRP_IL_KODU = 3;

1387
WOE_IL_KODU = 0.3501209835;
1388
end;
1389
else
1390
if (_UFORMAT eq '12' OR _UFORMAT eq '16' OR _UFORMAT eq '22' OR _UFOR
MAT eq '24' OR _UFORMAT eq '36' OR _UFORMAT eq '37'
1390
! OR _UFORMAT eq '4' OR _UFORMAT eq '43' OR _UFORMAT eq '47'
1391
) then do;
1392
GRP_IL_KODU = 4;

29

The SAS System


17:05 Tuesday, March 25, 2014

1393
WOE_IL_KODU = 0.9720340399;
1394
end;
1395
else
1396
if (_UFORMAT eq '49' OR _UFORMAT eq '50' OR _UFORMAT eq '53' OR _UFOR
MAT eq '56' OR _UFORMAT eq '60' OR _UFORMAT eq '65'
1396
! OR _UFORMAT eq '68' OR _UFORMAT eq '70' OR _UFORMAT eq '71'
1397
) then do;
1398
GRP_IL_KODU = 4;
1399
WOE_IL_KODU = 0.9720340399;
1400
end;
1401
else
1402
if (_UFORMAT eq '72' OR _UFORMAT eq '78' OR _UFORMAT eq '80' OR _UFOR
MAT eq '81'
1403
) then do;
1404
GRP_IL_KODU = 4;
1405
WOE_IL_KODU = 0.9720340399;
1406
end;
1407
else do;
1408
GRP_IL_KODU = 4;
1409
WOE_IL_KODU = 0.9720340399;
1410
end;
1411
end;
1412
1413
*------------------------------------------------------------*;
1414
* Variable: MBB_SISTEMI_TIPI;
1415
*------------------------------------------------------------*;
1416
LABEL GRP_MBB_SISTEMI_TIPI = "Grouped: MBB_SISTEMI_TIPI";
1417
LABEL WOE_MBB_SISTEMI_TIPI = "Weight of Evidence: MBB_SISTEMI_TIPI";
1418
1419
_UFormat = put(MBB_SISTEMI_TIPI,BEST12.0);
1420
%dmnormip(_UFormat);
1421
if MISSING(_UFORMAT) then do;
1422
GRP_MBB_SISTEMI_TIPI = 2;
1423
WOE_MBB_SISTEMI_TIPI = -0.220303896;
1424
end;
1425
else if NOT MISSING(_UFORMAT) then do;
1426
if (_UFORMAT eq '1'
1427
) then do;
1428
GRP_MBB_SISTEMI_TIPI = 1;
1429
WOE_MBB_SISTEMI_TIPI = 0.2895702043;
1430
end;
1431
else
1432
if (_UFORMAT eq '2'
1433
) then do;
1434
GRP_MBB_SISTEMI_TIPI = 2;
1435
WOE_MBB_SISTEMI_TIPI = -0.220303896;
1436
end;
1437
else do;
1438
GRP_MBB_SISTEMI_TIPI = 2;
1439
WOE_MBB_SISTEMI_TIPI = -0.220303896;
1440
end;
1441
end;
1442
1443
*------------------------------------------------------------*;
1444
* Variable: TARAF_VSAMUS_SEGMENT_TIPI;
1445
*------------------------------------------------------------*;
1446
LABEL GRP_TARAF_VSAMUS_SEGMENT_TIPI = "Grouped: TARAF_VSAMUS_SEGMENT_

TIPI";
1447
LABEL WOE_TARAF_VSAMUS_SEGMENT_TIPI = "Weight of Evidence: TARAF_VSAM
US_SEGMENT_TIPI";
1448
1449
_UFormat = put(TARAF_VSAMUS_SEGMENT_TIPI,BEST12.0);

30

The SAS System


17:05 Tuesday, March 25, 2014

1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506

%dmnormip(_UFormat);
if MISSING(_UFORMAT) then do;
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 3;
WOE_TARAF_VSAMUS_SEGMENT_TIPI = 1.5294774881;
end;
else if NOT MISSING(_UFORMAT) then do;
if (_UFORMAT eq '2' OR _UFORMAT eq '3' OR _UFORMAT eq '5'
) then do;
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 1;
WOE_TARAF_VSAMUS_SEGMENT_TIPI = -0.389192216;
end;
else
if (_UFORMAT eq '1' OR _UFORMAT eq '7'
) then do;
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 2;
WOE_TARAF_VSAMUS_SEGMENT_TIPI = 0.2877485506;
end;
else
if (_UFORMAT eq '4' OR _UFORMAT eq '6'
) then do;
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 3;
WOE_TARAF_VSAMUS_SEGMENT_TIPI = 1.5294774881;
end;
else do;
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 3;
WOE_TARAF_VSAMUS_SEGMENT_TIPI = 1.5294774881;
end;
end;
*------------------------------------------------------------*;
* Special Code Values
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Metadata Node;
* TYPE: UTILITY;
* NODE: Meta6;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Regression;
* TYPE: MODEL;
* NODE: Reg3;
*------------------------------------------------------------*;
*************************************;
*** begin scoring code for regression;
*************************************;
length _WARN_ $4;
label _WARN_ = 'Warnings' ;
length I_LGD_BINARY_NEW015 $ 12;
label I_LGD_BINARY_NEW015 = 'Into: LGD_BINARY_NEW015' ;
*** Target Values;
array REG3DRF [2] $12 _temporary_ ('1' '0' );
label U_LGD_BINARY_NEW015 = 'Unnormalized Into: LGD_BINARY_NEW015' ;
*** Unnormalized target values;
ARRAY REG3DRU[2] _TEMPORARY_ (1 0);

1507

*** Generate dummy variables for LGD_BINARY_NEW015 ;

31

The SAS System


17:05 Tuesday, March 25, 2014

1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564

drop _Y ;
label F_LGD_BINARY_NEW015 = 'From: LGD_BINARY_NEW015' ;
length F_LGD_BINARY_NEW015 $ 12;
F_LGD_BINARY_NEW015 = put( LGD_BINARY_NEW015 , BEST12. );
%DMNORMIP( F_LGD_BINARY_NEW015 )
if missing( LGD_BINARY_NEW015 ) then do;
_Y = .;
end;
else do;
if F_LGD_BINARY_NEW015 = '0' then do;
_Y = 1;
end;
else if F_LGD_BINARY_NEW015 = '1' then do;
_Y = 0;
end;
else do;
_Y = .;
end;
end;
drop _DM_BAD;
_DM_BAD=0;
*** Generate dummy variables for GRP_ACILIS_BAKIYESI ;
drop _1_0 _1_1 _1_2 _1_3 ;
*** encoding is sparse, initialize to zero;
_1_0 = 0;
_1_1 = 0;
_1_2 = 0;
_1_3 = 0;
if missing( GRP_ACILIS_BAKIYESI ) then do;
_1_0 = .;
_1_1 = .;
_1_2 = .;
_1_3 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_ACILIS_BAKIYESI , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '1' then do;
_1_0 = 1;
end;
else if _dm12 = '2' then do;
_1_1 = 1;
end;
else if _dm12 = '3' then do;
_1_2 = 1;
end;
else if _dm12 = '4' then do;
_1_3 = 1;
end;
else do;
_1_0 = .;
_1_1 = .;

1565

_1_2 = .;

32

The SAS System


17:05 Tuesday, March 25, 2014

1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622

_1_3 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_IL_KODU ;
drop _2_0 _2_1 _2_2 _2_3 ;
*** encoding is sparse, initialize to zero;
_2_0 = 0;
_2_1 = 0;
_2_2 = 0;
_2_3 = 0;
if missing( GRP_IL_KODU ) then do;
_2_0 = .;
_2_1 = .;
_2_2 = .;
_2_3 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_IL_KODU , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '1' then do;
_2_0 = 1;
end;
else if _dm12 = '2' then do;
_2_1 = 1;
end;
else if _dm12 = '3' then do;
_2_2 = 1;
end;
else if _dm12 = '4' then do;
_2_3 = 1;
end;
else do;
_2_0 = .;
_2_1 = .;
_2_2 = .;
_2_3 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_MUSTERIYLE_CALISMA_SURESI ;
drop _3_0 _3_1 _3_2 _3_3 ;
*** encoding is sparse, initialize to zero;
_3_0 = 0;
_3_1 = 0;
_3_2 = 0;
_3_3 = 0;
if missing( GRP_MUSTERIYLE_CALISMA_SURESI ) then do;
_3_0 = .;
_3_1 = .;

1623

_3_2 = .;

33

The SAS System


17:05 Tuesday, March 25, 2014

1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680

_3_3 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_MUSTERIYLE_CALISMA_SURESI , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '3' then do;
_3_2 = 1;
end;
else if _dm12 = '2' then do;
_3_1 = 1;
end;
else if _dm12 = '4' then do;
_3_3 = 1;
end;
else if _dm12 = '1' then do;
_3_0 = 1;
end;
else do;
_3_0 = .;
_3_1 = .;
_3_2 = .;
_3_3 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_TOPLAM_TEMINAT_LTV ;
drop _4_0 _4_1 _4_2 ;
*** encoding is sparse, initialize to zero;
_4_0 = 0;
_4_1 = 0;
_4_2 = 0;
if missing( GRP_TOPLAM_TEMINAT_LTV ) then do;
_4_0 = .;
_4_1 = .;
_4_2 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_TOPLAM_TEMINAT_LTV , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '2' then do;
_4_1 = 1;
end;
else if _dm12 = '1' then do;
_4_0 = 1;
end;
else if _dm12 = '3' then do;
_4_2 = 1;
end;
else do;

1681

_4_0 = .;

34

The SAS System


17:05 Tuesday, March 25, 2014

1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738

_4_1 = .;
_4_2 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** If missing inputs, use averages;
if _DM_BAD > 0 then do;
_P0 = 0.4267626614;
_P1 = 0.5732373386;
goto REG3DR1;
end;
*** Compute Linear Predictor;
drop _TEMP;
drop _LP0;
_LP0 = 0;
*** Effect: GRP_ACILIS_BAKIYESI ;
_TEMP = 1;
_LP0 = _LP0 + ( -1.22490568835272)
_LP0 = _LP0 + ( -0.95951084354503)
_LP0 = _LP0 + ( -0.62230355949804)
_LP0 = _LP0 + (
0)

*
*
*
*

_TEMP
_TEMP
_TEMP
_TEMP

*
*
*
*

_1_0;
_1_1;
_1_2;
_1_3;

*** Effect: GRP_IL_KODU ;


_TEMP = 1;
_LP0 = _LP0 + (
1.28579054255136)
_LP0 = _LP0 + (
1.04470666453502)
_LP0 = _LP0 + (
0.5731581623522)
_LP0 = _LP0 + (
0)

*
*
*
*

_TEMP
_TEMP
_TEMP
_TEMP

*
*
*
*

_2_0;
_2_1;
_2_2;
_2_3;

*** Effect: GRP_MUSTERIYLE_CALISMA_SURESI ;


_TEMP = 1;
_LP0 = _LP0 + (
0.88932002784761) * _TEMP
_LP0 = _LP0 + (
0.3992748945542) * _TEMP
_LP0 = _LP0 + (
0.20144380975595) * _TEMP
_LP0 = _LP0 + (
0) * _TEMP

*
*
*
*

_3_0;
_3_1;
_3_2;
_3_3;

*** Effect: GRP_TOPLAM_TEMINAT_LTV ;


_TEMP = 1;
_LP0 = _LP0 + ( -0.61290756320518) * _TEMP * _4_0;
_LP0 = _LP0 + ( -0.56124836192449) * _TEMP * _4_1;
_LP0 = _LP0 + (
0) * _TEMP * _4_2;
*** Naive Posterior Probabilities;
drop _MAXP _IY _P0 _P1;
_TEMP =
-0.17449988538432 + _LP0;
if (_TEMP < 0) then do;
_TEMP = exp(_TEMP);
_P0 = _TEMP / (1 + _TEMP);
end;
else _P0 = 1 / (1 + exp(-_TEMP));
_P1 = 1.0 - _P0;
REG3DR1:

1739

35

The SAS System


17:05 Tuesday, March 25, 2014

1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
W015';
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795

*** Residuals;
if (_Y = .) then do;
R_LGD_BINARY_NEW0151 = .;
R_LGD_BINARY_NEW0150 = .;
end;
else do;
label R_LGD_BINARY_NEW0151 = 'Residual: LGD_BINARY_NEW015=1' ;
label R_LGD_BINARY_NEW0150 = 'Residual: LGD_BINARY_NEW015=0' ;
R_LGD_BINARY_NEW0151 = - _P0;
R_LGD_BINARY_NEW0150 = - _P1;
select( _Y );
when (0) R_LGD_BINARY_NEW0151 = R_LGD_BINARY_NEW0151 + 1;
when (1) R_LGD_BINARY_NEW0150 = R_LGD_BINARY_NEW0150 + 1;
end;
end;
*** Posterior Probabilities and Predicted Level;
label P_LGD_BINARY_NEW0151 = 'Predicted: LGD_BINARY_NEW015=1' ;
label P_LGD_BINARY_NEW0150 = 'Predicted: LGD_BINARY_NEW015=0' ;
P_LGD_BINARY_NEW0151 = _P0;
_MAXP = _P0;
_IY = 1;
P_LGD_BINARY_NEW0150 = _P1;
if (_P1 > _MAXP + 1E-8) then do;
_MAXP = _P1;
_IY = 2;
end;
I_LGD_BINARY_NEW015 = REG3DRF[_IY];
U_LGD_BINARY_NEW015 = REG3DRU[_IY];
*************************************;
***** end scoring code for regression;
*************************************;
*------------------------------------------------------------*;
* TOOL: Score Node;
* TYPE: ASSESS;
* NODE: Score2;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* Score2: Creating Fixed Names;
*------------------------------------------------------------*;
LABEL EM_EVENTPROBABILITY = 'Probability for level 1 of LGD_BINARY_NE
EM_EVENTPROBABILITY = P_LGD_BINARY_NEW0151;
LABEL EM_PROBABILITY = 'Probability of Classification';
EM_PROBABILITY =
max(
P_LGD_BINARY_NEW0151
,
P_LGD_BINARY_NEW0150
);
LENGTH EM_CLASSIFICATION $%dmnorlen;
LABEL EM_CLASSIFICATION = "Prediction for LGD_BINARY_NEW015";
EM_CLASSIFICATION = I_LGD_BINARY_NEW015;
LABEL EM_CLASSTARGET = 'Target Variable: LGD_BINARY_NEW015';
EM_CLASSTARGET = F_LGD_BINARY_NEW015;

1796
1797

label PREDICTED_LGD = "CALIBRATED DATASET";

36

The SAS System


17:05 Tuesday, March 25, 2014

1798
label SKOR = "LOG OF BAD OVER GOOD";
1799
SKOR = LOG10(P_LGD_BINARY_NEW0151 / P_LGD_BINARY_NEW0150);
1800
PREDICTED_LGD = (48.15908 * SKOR) + 52.15732;
1801
label LGD_ORJ = "ORIJINAL PREDICTED LGD";
1802
1803
IF NAKIT_TEMINAT_TUTARI >0 AND ACILIS_BAKIYESI > NAKIT_TEMINAT_TUTARI
THEN DO;
1804
LGD_ORJ = (((ACILIS_BAKIYESI - NAKIT_TEMINAT_TUTARI)* PREDICTED_
LGD) / ACILIS_BAKIYESI);
1805
END;
1806
ELSE IF NAKIT_TEMINAT_TUTARI > ACILIS_BAKIYESI THEN DO;
1807
LGD_ORJ=0;
1808
END;
1809
ELSE DO LGD_ORJ = PREDICTED_LGD; END;
1810
1811
RUN;
1812
1813
DATA BASELIRB.DIGER_TEM_TICARI;
1814
SET BASELIRB.DIGER_TEM_TICARI;
1815
TARIH2 = datepart(TARIH);
1816
format TARIH2 DATE9.;
1817
IF TARIH2 = "&ay"D then delete;
1818
DROP TARIH2;
1819
run;
1820
1821
PROC SQL;
1822
insert into BASELIRB.DIGER_TEM_TICARI
1823
select * from WORK.DIGER_TEM_TICARI_TUM_DEGISKENLER;
1824
QUIT;
1825
1826
proc sql;
1827
connect to oracle (user='PSASUSR6' password='{SAS002}0D36CB1B5A51291A
50366D6C24DF9D88' path='PDWH_SAS');
1828
select distinct (datepart(TARIH)) FORMAT=DATE9. into :ay
1829
from ORCLPIRB.RYB_PARAMETRE;
1830
quit;
1831
%put &ay;
1832
1833
%macro teminatsiz_ticari (ay);
1834
proc sql;
1835
connect to oracle (user='PSASUSR6' password='{SAS002}0D36CB1B5A51291A
50366D6C24DF9D88' path='PDWH_SAS');
1836
create table WORK.TEMINATSIZ_TICARI as
1837
select * from connection to oracle
1838
(
1839
1840
select a.MBB_NO,&ay AS TARIH, NAKIT_TEMINAT_TUTARI,(nvl(BIREYSEL_RISK
_TUTARI,0) + nvl(TICARI_RISK_TUTARI,0) +
1840
! nvl(TUREV_RISK_TUTARI,0) + nvl(REPO_RISK_TUTARI,0)) as ACILIS_BAKIYES
I,case when (&ay - d.MUSTERI_KAYIT_TARIHI) < 0 then
1840
! 0 else (&ay - d.MUSTERI_K
1841
left outer join (
1842
select MBB_NO, sum(NAKIT_TEMINAT_TUTARI) as NAKIT_TEMINAT_TUTARI, sum
(TASIT_TEMINAT_TUTARI) as TASIT_TEMINAT_TUTARI,
1842
! sum(CEK_SENET_TEMINAT_TUTARI) as CEK_SENET_TEMINAT_TUTARI, sum(IPOTEK
_TEMINAT_TUTARI) as IPOTEK_TEMINAT_TUTARI from
1843
(

1844
select MBB_NO, case when TEMINAT_TURU = 'Nakit' then TEMINAT_TUTARI *
DOVIZ_ALIS else 0 end as NAKIT_TEMINAT_TUTARI, case
1844
! when TEMINAT_TURU = 'Tat Rehni' then TEMINAT_TUTARI * DOVIZ_ALIS else
0 end as TASIT_TEMINAT_TUTARI, case when
1844
! TEMINAT_TURU in ('ek
1845
where a.TEMINAT_DOVIZ_KODU = b.DOVIZ_KODU
1846
and a.TARIH = b.TARIH
1847
and a.TARIH = &ay
1848
and a.PROJE_KODU = 'TMT'
____________________
49

37

The SAS System


17:05 Tuesday, March 25, 2014

1849

and a.KAYNAK in ( 'AK', 'ML')


____ _________________________
49
49
1850
and TEMINAT_TURU in ( 'ek', 'Senet', 'Tasit Rehni', 'Ipotek', 'Nakit')
____
____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
1851
and (BASEL_UYGUNLUK_FLAG = 1 or IRB_FND_UYGUNLUK_FLAG = 1 OR IRB_ADV_
UYGUNLUK_FLAG = 1)
1852
and TEMINAT_TUTARI > 0
1853
)
1854
group by MBB_NO) tem on a.MBB_NO = tem.MBB_NO
1855
left outer join PDWH.DWH_TKANAL_SUBE c on a.MBB_SUBE = c.SUBE_KODU
1856
left outer join (select e.TARIH, e.TARAF_ID, e. MUSTERI_KAYIT_TARIHI,
f.ISYERI_KURULUS_TARIHI from PDWH.DWH_TTARAF_SNP e
1856
! left outer join PDWH.DWH_TTARAF_TUZEL_SNP f on e.TARAF_ID = f.TARAF_I
D and e.TARIH = f.TARIH) d on a.MBB_NO = d.TARAF_ID
1856
! + 10000000000
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
1857
(select MBB_NO, min(ACILIS_TARIHI) as ACILIS_TARIHI, sum(BIREYSEL_RIS
K_TUTARI) as BIREYSEL_RISK_TUTARI,
1857
! sum(TICARI_RISK_TUTARI) as TICARI_RISK_TUTARI, sum(TUREV_RISK_TUTARI)
as TUREV_RISK_TUTARI, sum(REPO_RISK_TUTARI) as
1857
! REPO_RISK_TUTARI from (
1858
select MBB_NO, ACILIS_TARIHI, (case when PROJE_KODU = 'TUK' or (PROJE
_KODU = 'ART' and MEVCUT_URUN_ID = 527) then
___________
_________ _________________________________
_
49
49
49
1858
! nvl(BAKIYE,0) + nvl(REESKONT_TUTARI,0) + nvl(TAHAKKUK_TUTARI,0) + cas
e when PROJE_KODU = 'ART' then case when LIMIT 1858
! BAKIYE < 0 then 0 else L
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
1859
where a.DOVIZ_KODU = b.DOVIZ_KODU
1860
and a.TARIH = b.TARIH
1861
and a.TARIH = &ay
1862
and a.KAYNAK in ('AK', 'HZ', 'ML')
____ ____ __________________________
49
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
1863
and not ((PROJE_KODU = 'ART' and MEVCUT_URUN_ID = 527) or PROJE_KODU

= 'TUK')
1864
union all
1865
select MBB_NO, ACILIS_TARIHI, case when URUN_TIPI = 1 then nvl(BAKIYE
_0_6_AY, 0) + nvl(BAKIYE_7_12_AY,0) +
1865
! nvl(BAKIYE_13_AY_USTU,0) + nvl(REESKONT_TUTARI,0) + case when REL_LIM
IT - (nvl(BAKIYE_0_6_AY, 0) + nvl(BAKIYE_7_12_AY,0)
1865
! + nvl(BAKIYE_13_AY_USTU,0) +
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
1866
(select HESAP_ANA_SAHIBI_TARAF_ID, min(BASLANGIC_TARIHI) as ACILIS_TA
RIHI from PDWH.DWH_THESAP_SNP
1867
where URUN_TIPI = 5
1868
and HESAP_STATU_TIP_ID = 1
1869
and TARIH = &ay
1870
and URUN_TIPI = 2
1871
group by HESAP_ANA_SAHIBI_TARAF_ID) hesap on kk.MBB_NO = hesap.HESAP_
ANA_SAHIBI_TARAF_ID + 10000000000
1872
where TARIH = &ay
1873
and URUN_TIPI = 2
1874
union all
1863
and not ((PROJE_KODU = 'ART' and MEVCUT_URUN_ID = 527) or PROJE_KODU
= 'TUK')
__
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space

38

The SAS System


17:05 Tuesday, March 25, 2014
between a quoted string and the succeeding identifier is recommende

d.
1875
select MBB_NO, ACILIS_TARIHI, 0 as BIREYSEL_RISK_TUTARI, TUTAR * DOVI
Z_ALIS as TICARI_RISK_TUTARI, 0 as
1875
! TUREV_RISK_TUTARI, 0 as REPO_RISK_TUTARI from PIRB.RSK_TDIS_SISTEM_ME
NKUL a, PIRB.RSK_TKUR b
1876
where a.DOVIZ_KODU = b.DOVIZ_KODU
1877
and a.TARIH = b.TARIH
1878
and a.TARIH = &ay
1879
and a.KAYNAK in ('AK', 'HZ', 'ML')
____ ____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
1880
union all
1881
select fin.MBB_NO, ACILIS_TARIHI, 0 as BIREYSEL_RISK_TUTARI, 0 as TIC
ARI_RISK_TUTARI, nvl(SOLO_TUREV_RISK_TOP_TL, 0) as
1881
! TUREV_RISK_TUTARI, nvl(SOLO_REPO_RISK_TOP_TL,0) as REPO_RISK_TUTARI f
rom PIRB.RSK_TKONSOLIDE_MUS_FINANSAL fin, (select
1881
! MBB_NO, min(ACILI
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
1879
and a.KAYNAK in ('AK', 'HZ', 'ML')
__
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
1882
1883
1884

select MBB_NO, ACILIS_TARIHI from PIRB.RSK_TDIS_SISTEM_REPO


where TARIH = &ay
and KAYNAK in ('AK', 'HZ', 'ML')
____ ____ __
49
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
1885
union all
1886
select MBB_NO, ACILIS_TARIHI from PIRB.RSK_TDIS_SISTEM_REPO
1887
where TARIH = &ay
1888
and KAYNAK in ('AK', 'HZ', 'ML')
____ ____
49
49
NOTE 49-169: The meaning of an identifier after a quoted string might change in
a future SAS release. Inserting white space
between a quoted string and the succeeding identifier is recommende
d.
1889
) group by MBB_NO) acilis
1890
where fin.MBB_NO = acilis.MBB_NO
1891
and fin.TARIH = &ay
1892
and (fin.SOLO_TUREV_RISK_TOP_TL is not null or fin.SOLO_REPO_RISK_TOP

_TL is not null)


1893
) group by MBB_NO) risk
1894
where a.TARIH = &ay
1895
and a.MBB_NO = risk.MBB_NO
1896
and nvl(IPOTEK_TEMINAT_TUTARI,0) = 0
WARNING: The quoted string currently being processed has become more than 262 ch
aracters long. You might have unbalanced quotation
marks.
1897
and nvl(CEK_SENET_TEMINAT_TUTARI,0) = 0
1898
and nvl(TASIT_TEMINAT_TUTARI,0) = 0
1899
);
1900
disconnect from oracle;
1901
quit;
1902
%mend ;
1903
%teminatsiz_ticari (TO_DATE(%str(%')&ay%str(%'),'DD/MM/YYYY'));
1904
1905

39

The SAS System


17:05 Tuesday, March 25, 2014

1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962

DATA WORK.TEMINATSIZ_TICARI_TUM_DGSKNLR;
SET WORK.TEMINATSIZ_TICARI;
*------------------------------------------------------------*;
* EM SCORE CODE;
* EM Version: 7.1;
* SAS Release: 9.03.01M1P110911;
* Host: sasskr1;
* Encoding: latin5;
* Locale: en_US;
* Project Path: /data01/EM_Projects;
* Project Name: LGD_Model_Ticari;
* Diagram Id: EMWS6;
* Diagram Name: TEMINATSIZ_TICARI_MUS;
* Generated by: 50519;
* Date: 19SEP2013:16:59:51;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Input Data Source;
* TYPE: SAMPLE;
* NODE: Ids;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Metadata Node;
* TYPE: UTILITY;
* NODE: Meta;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Extension Class;
* TYPE: CREDSCORE;
* NODE: IGN;
*------------------------------------------------------------*;
length _UFormat $200;
drop _UFormat;
_UFormat='';
*------------------------------------------------------------*;
* Variable: ACILIS_BAKIYESI;
*------------------------------------------------------------*;
LABEL GRP_ACILIS_BAKIYESI =
"Grouped: ACILIS_BAKIYESI";
LABEL WOE_ACILIS_BAKIYESI =
"Weight of Evidence: ACILIS_BAKIYESI";
if MISSING(ACILIS_BAKIYESI) then do;
GRP_ACILIS_BAKIYESI = 4;
WOE_ACILIS_BAKIYESI = -0.324274478;
end;
else if NOT MISSING(ACILIS_BAKIYESI) then do;
if ACILIS_BAKIYESI < 285.81 then do;
GRP_ACILIS_BAKIYESI = 1;
WOE_ACILIS_BAKIYESI = -0.028784012;
end;
else
if 285.81 <= ACILIS_BAKIYESI AND ACILIS_BAKIYESI < 5270.85 then do;
GRP_ACILIS_BAKIYESI = 2;

1963

WOE_ACILIS_BAKIYESI = 0.5094912007;

40

The SAS System


17:05 Tuesday, March 25, 2014

1964
end;
1965
else
1966
if 5270.85 <= ACILIS_BAKIYESI AND ACILIS_BAKIYESI < 15800.55 then do;
1967
GRP_ACILIS_BAKIYESI = 3;
1968
WOE_ACILIS_BAKIYESI = 0.1437928147;
1969
end;
1970
else
1971
if 15800.55 <= ACILIS_BAKIYESI AND ACILIS_BAKIYESI < 127468.24 then d
o;
1972
GRP_ACILIS_BAKIYESI = 4;
1973
WOE_ACILIS_BAKIYESI = -0.324274478;
1974
end;
1975
else
1976
if 127468.24 <= ACILIS_BAKIYESI then do;
1977
GRP_ACILIS_BAKIYESI = 5;
1978
WOE_ACILIS_BAKIYESI = -0.965995305;
1979
end;
1980
end;
1981
1982
*------------------------------------------------------------*;
1983
* Variable: CALISAN_PERSONEL_SAYISI;
1984
*------------------------------------------------------------*;
1985
LABEL GRP_CALISAN_PERSONEL_SAYISI = "Grouped: CALISAN_PERSONEL_SAYISI
";
1986
LABEL WOE_CALISAN_PERSONEL_SAYISI = "Weight of Evidence: CALISAN_PERS
ONEL_SAYISI";
1987
1988
if MISSING(CALISAN_PERSONEL_SAYISI) then do;
1989
GRP_CALISAN_PERSONEL_SAYISI = 1;
1990
WOE_CALISAN_PERSONEL_SAYISI = -0.192020334;
1991
end;
1992
else if NOT MISSING(CALISAN_PERSONEL_SAYISI) then do;
1993
if CALISAN_PERSONEL_SAYISI < 1 then do;
1994
GRP_CALISAN_PERSONEL_SAYISI = 1;
1995
WOE_CALISAN_PERSONEL_SAYISI = -0.192020334;
1996
end;
1997
else
1998
if 1 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 2 then
do;
1999
GRP_CALISAN_PERSONEL_SAYISI = 2;
2000
WOE_CALISAN_PERSONEL_SAYISI = 0.2166907238;
2001
end;
2002
else
2003
if 2 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 3 then
do;
2004
GRP_CALISAN_PERSONEL_SAYISI = 3;
2005
WOE_CALISAN_PERSONEL_SAYISI = 0.2778790446;
2006
end;
2007
else
2008
if 3 <= CALISAN_PERSONEL_SAYISI AND CALISAN_PERSONEL_SAYISI < 9 then
do;
2009
GRP_CALISAN_PERSONEL_SAYISI = 4;
2010
WOE_CALISAN_PERSONEL_SAYISI = -0.014133719;
2011
end;
2012
else
2013
if 9 <= CALISAN_PERSONEL_SAYISI then do;
2014
GRP_CALISAN_PERSONEL_SAYISI = 5;

2015
2016
2017
2018
2019
2020
2021

WOE_CALISAN_PERSONEL_SAYISI = -0.160435709;
end;
end;
*------------------------------------------------------------*;
* Variable: FIRMA_FAALIYET_SURESI;
*------------------------------------------------------------*;

41

The SAS System


17:05 Tuesday, March 25, 2014

2022
2023
_SURESI";
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077

LABEL GRP_FIRMA_FAALIYET_SURESI = "Grouped: FIRMA_FAALIYET_SURESI";


LABEL WOE_FIRMA_FAALIYET_SURESI = "Weight of Evidence: FIRMA_FAALIYET
if MISSING(FIRMA_FAALIYET_SURESI) then do;
GRP_FIRMA_FAALIYET_SURESI = 4;
WOE_FIRMA_FAALIYET_SURESI = 0.0972266801;
end;
else if NOT MISSING(FIRMA_FAALIYET_SURESI) then do;
if FIRMA_FAALIYET_SURESI < 1 then do;
GRP_FIRMA_FAALIYET_SURESI = 1;
WOE_FIRMA_FAALIYET_SURESI = 0.0347703347;
end;
else
if 1 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 2 then do;
GRP_FIRMA_FAALIYET_SURESI = 2;
WOE_FIRMA_FAALIYET_SURESI = -0.967603969;
end;
else
if 2 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 5 then do;
GRP_FIRMA_FAALIYET_SURESI = 3;
WOE_FIRMA_FAALIYET_SURESI = -0.287010113;
end;
else
if 5 <= FIRMA_FAALIYET_SURESI AND FIRMA_FAALIYET_SURESI < 14 then do;
GRP_FIRMA_FAALIYET_SURESI = 4;
WOE_FIRMA_FAALIYET_SURESI = 0.0972266801;
end;
else
if 14 <= FIRMA_FAALIYET_SURESI then do;
GRP_FIRMA_FAALIYET_SURESI = 5;
WOE_FIRMA_FAALIYET_SURESI = 0.4353945576;
end;
end;
*------------------------------------------------------------*;
* Variable: HESAP_ACIK_SURE;
*------------------------------------------------------------*;
LABEL GRP_HESAP_ACIK_SURE =
"Grouped: HESAP_ACIK_SURE";
LABEL WOE_HESAP_ACIK_SURE =
"Weight of Evidence: HESAP_ACIK_SURE";
if MISSING(HESAP_ACIK_SURE) then do;
GRP_HESAP_ACIK_SURE = 5;
WOE_HESAP_ACIK_SURE = 0.8519800064;
end;
else if NOT MISSING(HESAP_ACIK_SURE) then do;
if HESAP_ACIK_SURE < 241 then do;
GRP_HESAP_ACIK_SURE = 1;
WOE_HESAP_ACIK_SURE = -0.584159557;
end;
else
if 241 <= HESAP_ACIK_SURE AND HESAP_ACIK_SURE < 422 then do;
GRP_HESAP_ACIK_SURE = 2;
WOE_HESAP_ACIK_SURE = -0.246376233;
end;

2078
2079

else
if 422 <= HESAP_ACIK_SURE AND HESAP_ACIK_SURE < 2955 then do;

42

The SAS System


17:05 Tuesday, March 25, 2014

2080
GRP_HESAP_ACIK_SURE = 3;
2081
WOE_HESAP_ACIK_SURE = 0.1356193075;
2082
end;
2083
else
2084
if 2955 <= HESAP_ACIK_SURE then do;
2085
GRP_HESAP_ACIK_SURE = 4;
2086
WOE_HESAP_ACIK_SURE = 0.4388520255;
2087
end;
2088
end;
2089
2090
*------------------------------------------------------------*;
2091
* Variable: MUSTERIYLE_CALISMA_SURESI;
2092
*------------------------------------------------------------*;
2093
LABEL GRP_MUSTERIYLE_CALISMA_SURESI = "Grouped: MUSTERIYLE_CALISMA_SU
RESI";
2094
LABEL WOE_MUSTERIYLE_CALISMA_SURESI = "Weight of Evidence: MUSTERIYLE
_CALISMA_SURESI";
2095
2096
if MISSING(MUSTERIYLE_CALISMA_SURESI) then do;
2097
GRP_MUSTERIYLE_CALISMA_SURESI = 5;
2098
WOE_MUSTERIYLE_CALISMA_SURESI = -0.939779463;
2099
end;
2100
else if NOT MISSING(MUSTERIYLE_CALISMA_SURESI) then do;
2101
if MUSTERIYLE_CALISMA_SURESI < 2 then do;
2102
GRP_MUSTERIYLE_CALISMA_SURESI = 1;
2103
WOE_MUSTERIYLE_CALISMA_SURESI = -0.532565552;
2104
end;
2105
else
2106
if 2 <= MUSTERIYLE_CALISMA_SURESI AND MUSTERIYLE_CALISMA_SURESI < 3 t
hen do;
2107
GRP_MUSTERIYLE_CALISMA_SURESI = 2;
2108
WOE_MUSTERIYLE_CALISMA_SURESI = -0.07721413;
2109
end;
2110
else
2111
if 3 <= MUSTERIYLE_CALISMA_SURESI AND MUSTERIYLE_CALISMA_SURESI < 6 t
hen do;
2112
GRP_MUSTERIYLE_CALISMA_SURESI = 3;
2113
WOE_MUSTERIYLE_CALISMA_SURESI = 0.1246012733;
2114
end;
2115
else
2116
if 6 <= MUSTERIYLE_CALISMA_SURESI then do;
2117
GRP_MUSTERIYLE_CALISMA_SURESI = 4;
2118
WOE_MUSTERIYLE_CALISMA_SURESI = 0.3574455459;
2119
end;
2120
end;
2121
2122
*------------------------------------------------------------*;
2123
* Variable: IL_KODU;
2124
*------------------------------------------------------------*;
2125
LABEL GRP_IL_KODU = "Grouped: IL_KODU";
2126
LABEL WOE_IL_KODU = "Weight of Evidence: IL_KODU";
2127
2128
_UFormat = put(IL_KODU,$CHAR2.0);
2129
%dmnormip(_UFormat);
2130
if MISSING(_UFORMAT) then do;
2131
GRP_IL_KODU = 5;
2132
WOE_IL_KODU = -0.023488731;

2133
end;
2134
else if NOT MISSING(_UFORMAT) then do;
2135
if (_UFORMAT eq '27' OR _UFORMAT eq '33' OR _UFORMAT eq '34' OR _UFOR
MAT eq '42' OR _UFORMAT eq '6' OR _UFORMAT eq '63'
2136
) then do;
2137
GRP_IL_KODU = 1;

43

The SAS System


17:05 Tuesday, March 25, 2014

2138
WOE_IL_KODU = -0.449522159;
2139
end;
2140
else
2141
if (_UFORMAT eq '1' OR _UFORMAT eq '11' OR _UFORMAT eq '18' OR _UFORM
AT eq '19' OR _UFORMAT eq '2' OR _UFORMAT eq '21' OR
2141
! _UFORMAT eq '25' OR _UFORMAT eq '26' OR _UFORMAT eq '31'
2142
) then do;
2143
GRP_IL_KODU = 2;
2144
WOE_IL_KODU = -0.044649681;
2145
end;
2146
else
2147
if (_UFORMAT eq '32' OR _UFORMAT eq '35' OR _UFORMAT eq '36' OR _UFOR
MAT eq '38' OR _UFORMAT eq '41' OR _UFORMAT eq '44'
2147
! OR _UFORMAT eq '49' OR _UFORMAT eq '54' OR _UFORMAT eq '55'
2148
) then do;
2149
GRP_IL_KODU = 2;
2150
WOE_IL_KODU = -0.044649681;
2151
end;
2152
else
2153
if (_UFORMAT eq '56' OR _UFORMAT eq '58' OR _UFORMAT eq '67' OR _UFOR
MAT eq '69' OR _UFORMAT eq '7' OR _UFORMAT eq '74'
2153
! OR _UFORMAT eq '77' OR _UFORMAT eq '78' OR _UFORMAT eq '80'
2154
) then do;
2155
GRP_IL_KODU = 2;
2156
WOE_IL_KODU = -0.044649681;
2157
end;
2158
else
2159
if (_UFORMAT eq '81' OR _UFORMAT eq '9'
2160
) then do;
2161
GRP_IL_KODU = 2;
2162
WOE_IL_KODU = -0.044649681;
2163
end;
2164
else
2165
if (_UFORMAT eq '14' OR _UFORMAT eq '15' OR _UFORMAT eq '16' OR _UFOR
MAT eq '20' OR _UFORMAT eq '23' OR _UFORMAT eq '3'
2165
! OR _UFORMAT eq '37' OR _UFORMAT eq '39' OR _UFORMAT eq '4'
2166
) then do;
2167
GRP_IL_KODU = 3;
2168
WOE_IL_KODU = 0.3856152543;
2169
end;
2170
else
2171
if (_UFORMAT eq '40' OR _UFORMAT eq '43' OR _UFORMAT eq '45' OR _UFOR
MAT eq '46' OR _UFORMAT eq '48' OR _UFORMAT eq '5'
2171
! OR _UFORMAT eq '50' OR _UFORMAT eq '52' OR _UFORMAT eq '57'
2172
) then do;
2173
GRP_IL_KODU = 3;
2174
WOE_IL_KODU = 0.3856152543;
2175
end;
2176
else
2177
if (_UFORMAT eq '59' OR _UFORMAT eq '60' OR _UFORMAT eq '61' OR _UFOR
MAT eq '64' OR _UFORMAT eq '66' OR _UFORMAT eq '72'
2177
! OR _UFORMAT eq '76' OR _UFORMAT eq '8'
2178
) then do;
2179
GRP_IL_KODU = 3;
2180
WOE_IL_KODU = 0.3856152543;
2181
end;
2182
else

2183
if (_UFORMAT eq '10' OR _UFORMAT eq '12' OR _UFORMAT eq '17' OR _UFOR
MAT eq '22' OR _UFORMAT eq '24' OR _UFORMAT eq '28'
2183
! OR _UFORMAT eq '47' OR _UFORMAT eq '51' OR _UFORMAT eq '53'
2184
) then do;
2185
GRP_IL_KODU = 4;
2186
WOE_IL_KODU = 1.0136213579;
2187
end;
2188
else

44

The SAS System


17:05 Tuesday, March 25, 2014

2189
if (_UFORMAT eq '65' OR _UFORMAT eq '68' OR _UFORMAT eq '70' OR _UFOR
MAT eq '71'
2190
) then do;
2191
GRP_IL_KODU = 4;
2192
WOE_IL_KODU = 1.0136213579;
2193
end;
2194
else
2195
if (_UFORMAT eq '73' OR _UFORMAT eq '75'
2196
) then do;
2197
GRP_IL_KODU = 5;
2198
WOE_IL_KODU = -0.023488731;
2199
end;
2200
else do;
2201
GRP_IL_KODU = 5;
2202
WOE_IL_KODU = -0.023488731;
2203
end;
2204
end;
2205
2206
*------------------------------------------------------------*;
2207
* Variable: MBB_SISTEMI_TIPI;
2208
*------------------------------------------------------------*;
2209
LABEL GRP_MBB_SISTEMI_TIPI = "Grouped: MBB_SISTEMI_TIPI";
2210
LABEL WOE_MBB_SISTEMI_TIPI = "Weight of Evidence: MBB_SISTEMI_TIPI";
2211
2212
_UFormat = put(MBB_SISTEMI_TIPI,BEST12.0);
2213
%dmnormip(_UFormat);
2214
if MISSING(_UFORMAT) then do;
2215
GRP_MBB_SISTEMI_TIPI = 3;
2216
WOE_MBB_SISTEMI_TIPI = -0.246632282;
2217
end;
2218
else if NOT MISSING(_UFORMAT) then do;
2219
if (_UFORMAT eq '2'
2220
) then do;
2221
GRP_MBB_SISTEMI_TIPI = 1;
2222
WOE_MBB_SISTEMI_TIPI = -0.288140217;
2223
end;
2224
else
2225
if (_UFORMAT eq '1'
2226
) then do;
2227
GRP_MBB_SISTEMI_TIPI = 2;
2228
WOE_MBB_SISTEMI_TIPI = 0.1677006538;
2229
end;
2230
else
2231
if (_UFORMAT eq '3'
2232
) then do;
2233
GRP_MBB_SISTEMI_TIPI = 3;
2234
WOE_MBB_SISTEMI_TIPI = -0.246632282;
2235
end;
2236
else do;
2237
GRP_MBB_SISTEMI_TIPI = 3;
2238
WOE_MBB_SISTEMI_TIPI = -0.246632282;
2239
end;
2240
end;
2241
2242
*------------------------------------------------------------*;
2243
* Variable: TARAF_TIPI;
2244
*------------------------------------------------------------*;

2245
2246

LABEL GRP_TARAF_TIPI = "Grouped: TARAF_TIPI";


LABEL WOE_TARAF_TIPI = "Weight of Evidence: TARAF_TIPI";

45

The SAS System


17:05 Tuesday, March 25, 2014

2247
2248
_UFormat = put(TARAF_TIPI,BEST12.0);
2249
%dmnormip(_UFormat);
2250
if MISSING(_UFORMAT) then do;
2251
GRP_TARAF_TIPI = 3;
2252
WOE_TARAF_TIPI = -0.939779463;
2253
end;
2254
else if NOT MISSING(_UFORMAT) then do;
2255
if (_UFORMAT eq '2'
2256
) then do;
2257
GRP_TARAF_TIPI = 1;
2258
WOE_TARAF_TIPI = -0.287996073;
2259
end;
2260
else
2261
if (_UFORMAT eq '1'
2262
) then do;
2263
GRP_TARAF_TIPI = 2;
2264
WOE_TARAF_TIPI = 0.1677006538;
2265
end;
2266
else do;
2267
GRP_TARAF_TIPI = 3;
2268
WOE_TARAF_TIPI = -0.939779463;
2269
end;
2270
end;
2271
2272
*------------------------------------------------------------*;
2273
* Variable: TARAF_VSAMUS_SEGMENT_TIPI;
2274
*------------------------------------------------------------*;
2275
LABEL GRP_TARAF_VSAMUS_SEGMENT_TIPI = "Grouped: TARAF_VSAMUS_SEGMENT_
TIPI";
2276
LABEL WOE_TARAF_VSAMUS_SEGMENT_TIPI = "Weight of Evidence: TARAF_VSAM
US_SEGMENT_TIPI";
2277
2278
_UFormat = put(TARAF_VSAMUS_SEGMENT_TIPI,BEST12.0);
2279
%dmnormip(_UFormat);
2280
if MISSING(_UFORMAT) then do;
2281
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 4;
2282
WOE_TARAF_VSAMUS_SEGMENT_TIPI = -0.939779463;
2283
end;
2284
else if NOT MISSING(_UFORMAT) then do;
2285
if (_UFORMAT eq '1' OR _UFORMAT eq '2' OR _UFORMAT eq '3'
2286
) then do;
2287
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 1;
2288
WOE_TARAF_VSAMUS_SEGMENT_TIPI = -0.292517579;
2289
end;
2290
else
2291
if (_UFORMAT eq '7'
2292
) then do;
2293
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 2;
2294
WOE_TARAF_VSAMUS_SEGMENT_TIPI = 0.0573944802;
2295
end;
2296
else
2297
if (_UFORMAT eq '5' OR _UFORMAT eq '6'
2298
) then do;
2299
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 3;
2300
WOE_TARAF_VSAMUS_SEGMENT_TIPI = 0.2209156956;
2301
end;

2302
2303
2304

else do;
GRP_TARAF_VSAMUS_SEGMENT_TIPI = 4;
WOE_TARAF_VSAMUS_SEGMENT_TIPI = -0.939779463;

46

The SAS System


17:05 Tuesday, March 25, 2014

2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361

end;
end;
*------------------------------------------------------------*;
* Special Code Values
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Metadata Node;
* TYPE: UTILITY;
* NODE: Meta2;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* TOOL: Regression;
* TYPE: MODEL;
* NODE: Reg;
*------------------------------------------------------------*;
*************************************;
*** begin scoring code for regression;
*************************************;
length _WARN_ $4;
label _WARN_ = 'Warnings' ;
length I_LGD_BINARY_015 $ 12;
label I_LGD_BINARY_015 = 'Into: LGD_BINARY_015' ;
*** Target Values;
array REGDRF [2] $12 _temporary_ ('1' '0' );
label U_LGD_BINARY_015 = 'Unnormalized Into: LGD_BINARY_015' ;
*** Unnormalized target values;
ARRAY REGDRU[2] _TEMPORARY_ (1 0);
*** Generate dummy variables for LGD_BINARY_015 ;
drop _Y ;
label F_LGD_BINARY_015 = 'From: LGD_BINARY_015' ;
length F_LGD_BINARY_015 $ 12;
F_LGD_BINARY_015 = put( LGD_BINARY_015 , BEST12. );
%DMNORMIP( F_LGD_BINARY_015 )
if missing( LGD_BINARY_015 ) then do;
_Y = .;
end;
else do;
if F_LGD_BINARY_015 = '0' then do;
_Y = 1;
end;
else if F_LGD_BINARY_015 = '1' then do;
_Y = 0;
end;
else do;
_Y = .;
end;
end;
drop _DM_BAD;
_DM_BAD=0;
*** Generate dummy variables for GRP_ACILIS_BAKIYESI ;
drop _1_0 _1_1 _1_2 _1_3 _1_4 ;

2362

*** encoding is sparse, initialize to zero;

47

The SAS System


17:05 Tuesday, March 25, 2014

2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419

_1_0 = 0;
_1_1 = 0;
_1_2 = 0;
_1_3 = 0;
_1_4 = 0;
if missing( GRP_ACILIS_BAKIYESI ) then do;
_1_0 = .;
_1_1 = .;
_1_2 = .;
_1_3 = .;
_1_4 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_ACILIS_BAKIYESI , BEST12. );
%DMNORMIP( _dm12 )
_dm_find = 0; drop _dm_find;
if _dm12 <= '3' then do;
if _dm12 <= '2' then do;
if _dm12 = '1' then do;
_1_0 = 1;
_dm_find = 1;
end;
else do;
if _dm12 = '2' then do;
_1_1 = 1;
_dm_find = 1;
end;
end;
end;
else do;
if _dm12 = '3' then do;
_1_2 = 1;
_dm_find = 1;
end;
end;
end;
else do;
if _dm12 = '4' then do;
_1_3 = 1;
_dm_find = 1;
end;
else do;
if _dm12 = '5' then do;
_1_4 = 1;
_dm_find = 1;
end;
end;
end;
if not _dm_find then do;
_1_0 = .;
_1_1 = .;
_1_2 = .;
_1_3 = .;
_1_4 = .;

2420

substr(_warn_,2,1) = 'U';

48

The SAS System


17:05 Tuesday, March 25, 2014

2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477

_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_FIRMA_FAALIYET_SURESI ;
drop _2_0 _2_1 _2_2 _2_3 _2_4 ;
*** encoding is sparse, initialize to zero;
_2_0 = 0;
_2_1 = 0;
_2_2 = 0;
_2_3 = 0;
_2_4 = 0;
if missing( GRP_FIRMA_FAALIYET_SURESI ) then do;
_2_0 = .;
_2_1 = .;
_2_2 = .;
_2_3 = .;
_2_4 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_FIRMA_FAALIYET_SURESI , BEST12. );
%DMNORMIP( _dm12 )
_dm_find = 0; drop _dm_find;
if _dm12 <= '3' then do;
if _dm12 <= '2' then do;
if _dm12 = '1' then do;
_2_0 = 1;
_dm_find = 1;
end;
else do;
if _dm12 = '2' then do;
_2_1 = 1;
_dm_find = 1;
end;
end;
end;
else do;
if _dm12 = '3' then do;
_2_2 = 1;
_dm_find = 1;
end;
end;
end;
else do;
if _dm12 = '4' then do;
_2_3 = 1;
_dm_find = 1;
end;
else do;
if _dm12 = '5' then do;
_2_4 = 1;
_dm_find = 1;
end;
end;

2478

end;

49

The SAS System


17:05 Tuesday, March 25, 2014

2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535

if not _dm_find then do;


_2_0 = .;
_2_1 = .;
_2_2 = .;
_2_3 = .;
_2_4 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_HESAP_ACIK_SURE ;
drop _3_0 _3_1 _3_2 _3_3 _3_4 ;
*** encoding is sparse, initialize to zero;
_3_0 = 0;
_3_1 = 0;
_3_2 = 0;
_3_3 = 0;
_3_4 = 0;
if missing( GRP_HESAP_ACIK_SURE ) then do;
_3_0 = .;
_3_1 = .;
_3_2 = .;
_3_3 = .;
_3_4 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_HESAP_ACIK_SURE , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '3' then do;
_3_2 = 1;
end;
else if _dm12 = '2' then do;
_3_1 = 1;
end;
else if _dm12 = '1' then do;
_3_0 = 1;
end;
else if _dm12 = '4' then do;
_3_3 = 1;
end;
else if _dm12 = '5' then do;
_3_4 = 1;
end;
else do;
_3_0 = .;
_3_1 = .;
_3_2 = .;
_3_3 = .;
_3_4 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;

2536

50

The SAS System


17:05 Tuesday, March 25, 2014

2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593

*** Generate dummy variables for GRP_IL_KODU ;


drop _4_0 _4_1 _4_2 _4_3 _4_4 ;
*** encoding is sparse, initialize to zero;
_4_0 = 0;
_4_1 = 0;
_4_2 = 0;
_4_3 = 0;
_4_4 = 0;
if missing( GRP_IL_KODU ) then do;
_4_0 = .;
_4_1 = .;
_4_2 = .;
_4_3 = .;
_4_4 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_IL_KODU , BEST12. );
%DMNORMIP( _dm12 )
_dm_find = 0; drop _dm_find;
if _dm12 <= '3' then do;
if _dm12 <= '2' then do;
if _dm12 = '1' then do;
_4_0 = 1;
_dm_find = 1;
end;
else do;
if _dm12 = '2' then do;
_4_1 = 1;
_dm_find = 1;
end;
end;
end;
else do;
if _dm12 = '3' then do;
_4_2 = 1;
_dm_find = 1;
end;
end;
end;
else do;
if _dm12 = '4' then do;
_4_3 = 1;
_dm_find = 1;
end;
else do;
if _dm12 = '5' then do;
_4_4 = 1;
_dm_find = 1;
end;
end;
end;
if not _dm_find then do;
_4_0 = .;
_4_1 = .;

2594

_4_2 = .;

51

The SAS System


17:05 Tuesday, March 25, 2014

2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651

_4_3 = .;
_4_4 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_MUSTERIYLE_CALISMA_SURESI ;
drop _5_0 _5_1 _5_2 _5_3 _5_4 ;
*** encoding is sparse, initialize to zero;
_5_0 = 0;
_5_1 = 0;
_5_2 = 0;
_5_3 = 0;
_5_4 = 0;
if missing( GRP_MUSTERIYLE_CALISMA_SURESI ) then do;
_5_0 = .;
_5_1 = .;
_5_2 = .;
_5_3 = .;
_5_4 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_MUSTERIYLE_CALISMA_SURESI , BEST12. );
%DMNORMIP( _dm12 )
_dm_find = 0; drop _dm_find;
if _dm12 <= '3' then do;
if _dm12 <= '2' then do;
if _dm12 = '1' then do;
_5_0 = 1;
_dm_find = 1;
end;
else do;
if _dm12 = '2' then do;
_5_1 = 1;
_dm_find = 1;
end;
end;
end;
else do;
if _dm12 = '3' then do;
_5_2 = 1;
_dm_find = 1;
end;
end;
end;
else do;
if _dm12 = '4' then do;
_5_3 = 1;
_dm_find = 1;
end;
else do;
if _dm12 = '5' then do;
_5_4 = 1;

2652

_dm_find = 1;

52

The SAS System


17:05 Tuesday, March 25, 2014

2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709

end;
end;
end;
if not _dm_find then do;
_5_0 = .;
_5_1 = .;
_5_2 = .;
_5_3 = .;
_5_4 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** Generate dummy variables for GRP_TARAF_VSAMUS_SEGMENT_TIPI ;
drop _6_0 _6_1 _6_2 _6_3 ;
*** encoding is sparse, initialize to zero;
_6_0 = 0;
_6_1 = 0;
_6_2 = 0;
_6_3 = 0;
if missing( GRP_TARAF_VSAMUS_SEGMENT_TIPI ) then do;
_6_0 = .;
_6_1 = .;
_6_2 = .;
_6_3 = .;
substr(_warn_,1,1) = 'M';
_DM_BAD = 1;
end;
else do;
length _dm12 $ 12; drop _dm12 ;
_dm12 = put( GRP_TARAF_VSAMUS_SEGMENT_TIPI , BEST12. );
%DMNORMIP( _dm12 )
if _dm12 = '2' then do;
_6_1 = 1;
end;
else if _dm12 = '1' then do;
_6_0 = 1;
end;
else if _dm12 = '3' then do;
_6_2 = 1;
end;
else if _dm12 = '4' then do;
_6_3 = 1;
end;
else do;
_6_0 = .;
_6_1 = .;
_6_2 = .;
_6_3 = .;
substr(_warn_,2,1) = 'U';
_DM_BAD = 1;
end;
end;
*** If missing inputs, use averages;
if _DM_BAD > 0 then do;

2710

_P0 = 0.438652582;

53

The SAS System


17:05 Tuesday, March 25, 2014

2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767

_P1 = 0.561347418;
goto REGDR1;
end;
*** Compute Linear Predictor;
drop _TEMP;
drop _LP0;
_LP0 = 0;
*** Effect: GRP_ACILIS_BAKIYESI ;
_TEMP = 1;
_LP0 = _LP0 + ( -0.83846017839783)
_LP0 = _LP0 + ( -1.42216085786046)
_LP0 = _LP0 + (
-1.0225340991025)
_LP0 = _LP0 + ( -0.58230966025616)
_LP0 = _LP0 + (
0)

*
*
*
*
*

*** Effect: GRP_FIRMA_FAALIYET_SURESI


_TEMP = 1;
_LP0 = _LP0 + (
0.53337684753007) *
_LP0 = _LP0 + (
1.02860007149394) *
_LP0 = _LP0 + (
0.60405207581377) *
_LP0 = _LP0 + (
0.29195441609546) *
_LP0 = _LP0 + (
0) *

_TEMP
_TEMP
_TEMP
_TEMP
_TEMP

*
*
*
*
*

_1_0;
_1_1;
_1_2;
_1_3;
_1_4;

_TEMP
_TEMP
_TEMP
_TEMP
_TEMP

*
*
*
*
*

_2_0;
_2_1;
_2_2;
_2_3;
_2_4;

*** Effect: GRP_HESAP_ACIK_SURE ;


_TEMP = 1;
_LP0 = _LP0 + (
5.12596300683283)
_LP0 = _LP0 + (
4.8544627291399)
_LP0 = _LP0 + (
4.62483981261925)
_LP0 = _LP0 + (
4.6162735946107)
_LP0 = _LP0 + (
0)

*
*
*
*
*

_TEMP
_TEMP
_TEMP
_TEMP
_TEMP

*
*
*
*
*

_3_0;
_3_1;
_3_2;
_3_3;
_3_4;

*** Effect: GRP_IL_KODU ;


_TEMP = 1;
_LP0 = _LP0 + (
0.3326675183006)
_LP0 = _LP0 + ( -0.05172507379713)
_LP0 = _LP0 + ( -0.39096978751178)
_LP0 = _LP0 + ( -0.91051296594409)
_LP0 = _LP0 + (
0)

*
*
*
*
*

_TEMP
_TEMP
_TEMP
_TEMP
_TEMP

*
*
*
*
*

_4_0;
_4_1;
_4_2;
_4_3;
_4_4;

*** Effect: GRP_MUSTERIYLE_CALISMA_SURESI ;


_TEMP = 1;
_LP0 = _LP0 + ( -0.09447263914116) * _TEMP
_LP0 = _LP0 + ( -0.35838645412899) * _TEMP
_LP0 = _LP0 + ( -0.50835662301998) * _TEMP
_LP0 = _LP0 + ( -0.63295230090841) * _TEMP
_LP0 = _LP0 + (
0) * _TEMP

*
*
*
*
*

_5_0;
_5_1;
_5_2;
_5_3;
_5_4;

*** Effect: GRP_TARAF_VSAMUS_SEGMENT_TIPI ;


_TEMP = 1;
_LP0 = _LP0 + (
0.06439392138755) * _TEMP
_LP0 = _LP0 + ( -0.03312191451557) * _TEMP
_LP0 = _LP0 + (
0) * _TEMP
_LP0 = _LP0 + (
0) * _TEMP

*
*
*
*

_6_0;
_6_1;
_6_2;
_6_3;

*** Naive Posterior Probabilities;

2768

drop _MAXP _IY _P0 _P1;

54

The SAS System


17:05 Tuesday, March 25, 2014

2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
5';
2821
2822
2823
2824

_TEMP =
-3.95275054580957 + _LP0;
if (_TEMP < 0) then do;
_TEMP = exp(_TEMP);
_P0 = _TEMP / (1 + _TEMP);
end;
else _P0 = 1 / (1 + exp(-_TEMP));
_P1 = 1.0 - _P0;
REGDR1:
*** Residuals;
if (_Y = .) then do;
R_LGD_BINARY_0151 = .;
R_LGD_BINARY_0150 = .;
end;
else do;
label R_LGD_BINARY_0151 = 'Residual: LGD_BINARY_015=1' ;
label R_LGD_BINARY_0150 = 'Residual: LGD_BINARY_015=0' ;
R_LGD_BINARY_0151 = - _P0;
R_LGD_BINARY_0150 = - _P1;
select( _Y );
when (0) R_LGD_BINARY_0151 = R_LGD_BINARY_0151 + 1;
when (1) R_LGD_BINARY_0150 = R_LGD_BINARY_0150 + 1;
end;
end;
*** Posterior Probabilities and Predicted Level;
label P_LGD_BINARY_0151 = 'Predicted: LGD_BINARY_015=1' ;
label P_LGD_BINARY_0150 = 'Predicted: LGD_BINARY_015=0' ;
P_LGD_BINARY_0151 = _P0;
_MAXP = _P0;
_IY = 1;
P_LGD_BINARY_0150 = _P1;
if (_P1 > _MAXP + 1E-8) then do;
_MAXP = _P1;
_IY = 2;
end;
I_LGD_BINARY_015 = REGDRF[_IY];
U_LGD_BINARY_015 = REGDRU[_IY];
*************************************;
***** end scoring code for regression;
*************************************;
*------------------------------------------------------------*;
* TOOL: Score Node;
* TYPE: ASSESS;
* NODE: Score;
*------------------------------------------------------------*;
*------------------------------------------------------------*;
* Score: Creating Fixed Names;
*------------------------------------------------------------*;
LABEL EM_EVENTPROBABILITY = 'Probability for level 1 of LGD_BINARY_01
EM_EVENTPROBABILITY = P_LGD_BINARY_0151;
LABEL EM_PROBABILITY = 'Probability of Classification';
EM_PROBABILITY =
max(

2825
2826

P_LGD_BINARY_0151
,

55

The SAS System


17:05 Tuesday, March 25, 2014

2827
P_LGD_BINARY_0150
2828
);
2829
LENGTH EM_CLASSIFICATION $%dmnorlen;
2830
LABEL EM_CLASSIFICATION = "Prediction for LGD_BINARY_015";
2831
EM_CLASSIFICATION = I_LGD_BINARY_015;
2832
LABEL EM_CLASSTARGET = 'Target Variable: LGD_BINARY_015';
2833
EM_CLASSTARGET = F_LGD_BINARY_015;
2834
2835
2836
label PREDICTED_LGD = "CALIBRATED DATASET";
2837
label SKOR = "LOG OF BAD OVER GOOD";
2838
SKOR = LOG10(P_LGD_BINARY_0151 / P_LGD_BINARY_0150);
2839
PREDICTED_LGD = (48.63203 * SKOR) + 51.36016;
2840
label LGD_ORJ = "ORIJINAL PREDICTED LGD";
2841
2842
LGD_ORJ = PREDICTED_LGD;
2843
2844
RUN;
2845
2846
DATA BASELIRB.TEMINATSIZ_TICARI;
2847
SET BASELIRB.TEMINATSIZ_TICARI;
2848
TARIH2 = datepart(TARIH);
2849
format TARIH2 DATE9.;
2850
IF TARIH2 = "&ay"D then delete;
2851
DROP TARIH2;
2852
run;
2853
2854
PROC SQL;
2855
insert into BASELIRB.TEMINATSIZ_TICARI
2856
select * from WORK.TEMINATSIZ_TICARI_TUM_DGSKNLR;
2857
QUIT;
2858
2859
2860
DATA BASELIRB.RSK_TLGD_TICARI;
2861
SET BASELIRB.RSK_TLGD_TICARI;
2862
TARIH2 = datepart(TARIH);
2863
format TARIH2 DATE9.;
2864
IF TARIH2 = "&ay"D then delete;
2865
DROP TARIH2;
2866
run;
2867
2868
2869
PROC SQL;
2870
insert into BASELIRB.RSK_TLGD_TICARI
2871
SELECT TARIH, MBB_NO, TARAF_VSAMUS_SEGMENT_TIPI as SEGMENT_KODU, LGD
_ORJ AS PREDICTED_LGD, 'IPOTEKLI' as KAYNAK FROM
2871
! WORK.IPOTEKLI_TICARI_TUM_DEGISKENLER
2872
OUTER UNION CORR
2873
SELECT TARIH, MBB_NO, TARAF_VSAMUS_SEGMENT_TIPI as SEGMENT_KODU, LG
D_ORJ AS PREDICTED_LGD, 'DIGER_TEMINATLI' as KAYNAK
2873
! FROM WORK.DIGER_TEM_TICARI_TUM_DEGISKENLER
2874
OUTER UNION CORR
2875
SELECT TARIH, MBB_NO, TARAF_VSAMUS_SEGMENT_TIPI as SEGMENT_KODU, LGD
_ORJ AS PREDICTED_LGD, 'TEMINATSIZ' as KAYNAK FROM
2875
! WORK.TEMINATSIZ_TICARI_TUM_DGSKNLR
2876
;
2877
Quit;

2878
2879
2880
2881

data _NULL_;

56

The SAS System


17:05 Tuesday, March 25, 2014

2882
call symput('TARIH',put(&ay,DATE9.));
2883
call symput('YILAY',put(&ay,yymmn6.));
2884
run;
2885
proc sql ;
2886
connect to oracle (user='PSASUSR6' password='{SAS002}
0D36CB1B5A51291A50366D6C24DF9D88' path='PDWH_SAS');
2887
DISCONNECT FROM ORACLE;
2888
QUIT;
2889
2890
2891
proc append base = ORCLPIRB.STG_TLGD_TICARI( BL_OPTIONS
= '
ERRORS=50'
2892
BL_DELETE_DATAFILE =
YES
2893
BL_DIRECT_PATH
=
NO
2894
BL_DELETE_FILES
=
YES
2895
BL_DATAFILE
=
'/temp03/lgd.dat'
2896
BL_LOG
=
'/temp03/lgd.log'
2897
BL_CONTROL = '/temp03/lgd.ctl'
2898
)
2899
data = BASELIRB.RSK_TLGD_TICARI force;
2900
2901
run;
2902
2903
/* Oracle a Raise_file gnderir */
2904
x cd /install/sas/project/raise_files/;
2905
x Send_Ticari.bat;
2906
run;
WARNING: Missing %MEND statement for macro IPOTEKLI_TICARI.
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
real time
2.45 seconds
cpu time
0.13 seconds

Das könnte Ihnen auch gefallen