*&---------------------------------------------------------------------*
*& Report ZBIIP_TAKIM_AC
*&---------------------------------------------------------------------*
REPORT ZBIIP_TAKIM_AC.
TYPE-POOLS: rsplf.
DATA: l_repid TYPE sy-repid.
DATA: ls_column_selection TYPE baldisp,
ls_display_profile TYPE bal_s_prof.
data: l_local_log TYPE RSPC_LOGID.
data: l_chain_status TYPE RSPC_STATE.
data: start_time like SY-UZEIT.
data: end_time like SY-UZEIT.
data: diff_time like SY-UZEIT.
data: curr_time like SY-UZEIT.
data: polling_interval type i value 30.
DATA: l_c_nm TYPE RSPC_CHAIN.
DATA: l_time like SY-UZEIT.
DATA : ZENQ TYPE STANDARD TABLE OF SEQG3.
DATA : wa_ZENQ TYPE SEQG3.
DATA : ANSWER.
CALL FUNCTION 'RSPC_API_CHAIN_START'
EXPORTING
I_CHAIN = 'ZBIIP_TAKIMAC'
IMPORTING
E_LOGID = l_local_log.
do.
CALL FUNCTION 'RSPC_API_CHAIN_GET_STATUS'
EXPORTING
I_CHAIN = l_c_nm
I_LOGID = l_local_log
IMPORTING
E_STATUS = l_chain_status.
case l_chain_status.
when 'G' or 'F'.
write: / 'Chain OK ', sy-uzeit.
exit.
when 'A' or 'P' or 'S' or 'Q' or 'Y'.
wait up to polling_interval seconds.
* curr_time = sy-uzeit.
* diff_time = curr_time - start_time.
* if diff_time > l_time.
* write: / 'Job timed out for chain ', l_c_nm.
* message: E000(Chain_Timeout).
* exit.
* endif.
when 'R'.
write: / 'LOGID = ', l_local_log.
write: / 'Status = ', l_chain_status.
message: E000(Chain_Failed01).
exit.
when others.
write: / 'LOGID = ', l_local_log.
write: / 'Status = ', l_chain_status.
message: E000(Chain_Failed02).
exit.
endcase.
enddo.
* Process Chain contains Planning function below code shows planning function log
CALL FUNCTION 'APPL_LOG_DISPLAY'
EXPORTING
object = rsplf_c_appl_log_planning
object_attribute = 2
subobject = rsplf_c_appl_log_plsq_exec
subobject_attribute = 2
external_number = ' '
external_number_attribute = 2
title_list_screen = ' '
title_selection_screen = ' '
date_from = sy-datum "#EC DOM_EQUAL
date_to = sy-datum "#EC DOM_EQUAL
time_to = '235959' "#EC DOM_EQUAL
external_number_display_length = 20
column_selection = ls_column_selection
i_s_display_profile = ls_display_profile
i_variant_report = l_repid
EXCEPTIONS
no_authority = 01.
Tuesday, November 10, 2009
Thursday, November 5, 2009
How to change Data Slice Behaviour (BI-IP)
CALL FUNCTION 'Z_SWITCH_DSLICE'
EXPORTING
I_INFOPROV = 'ZICR003'
I_DSNR = 1
I_STATUS = 1.
FUNCTION Z_SWITCH_DSLICE.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(I_INFOPROV) TYPE RSINFOPROV
*" REFERENCE(I_DSNR) TYPE RSPLS_DSNR
*" REFERENCE(I_STATUS) TYPE I
*"----------------------------------------------------------------------
data wa_ds type rspls_ds.
select single * from rspls_ds
into wa_ds
where infoprov = I_INFOPROV
AND objvers = 'A'
AND dsnr = I_DSNR.
if I_status = 1. wa_ds-used = abap_true.
elseif I_status = 0. wa_ds-used = abap_false.
endif.
update rspls_ds from wa_ds.
COMMIT WORK.
ENDFUNCTION.
EXPORTING
I_INFOPROV = 'ZICR003'
I_DSNR = 1
I_STATUS = 1.
FUNCTION Z_SWITCH_DSLICE.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(I_INFOPROV) TYPE RSINFOPROV
*" REFERENCE(I_DSNR) TYPE RSPLS_DSNR
*" REFERENCE(I_STATUS) TYPE I
*"----------------------------------------------------------------------
data wa_ds type rspls_ds.
select single * from rspls_ds
into wa_ds
where infoprov = I_INFOPROV
AND objvers = 'A'
AND dsnr = I_DSNR.
if I_status = 1. wa_ds-used = abap_true.
elseif I_status = 0. wa_ds-used = abap_false.
endif.
update rspls_ds from wa_ds.
COMMIT WORK.
ENDFUNCTION.
Monday, November 2, 2009
BI-IP Aggregation Level Activation Program
*&---------------------------------------------------------------------*
*& Report ZBIIP_ACTIVATE_ALVL
*&---------------------------------------------------------------------*
REPORT ZBIIP_ACTIVATE_ALVL.
TYPE-POOLS: rs.
PARAMETER: g_iprov TYPE rsinfoprov,
g_objv TYPE rsobjvers DEFAULT 'M'.
DATA p_area TYPE RSINFOAREA .
TYPE-POOLS rsdg.
TYPES: ty_s_rsdcube LIKE rsdcube.
TYPES: ty_t_rsdcube TYPE ty_s_rsdcube OCCURS 0.
TABLES rsdcube.
DATA: objvers TYPE rsobjvers .
objvers = rs_c_objvers-modified .
DATA: g_s_rsdcube TYPE ty_s_rsdcube.
DATA: g_t_rsdcube TYPE ty_t_rsdcube.
DATA: g_infoarea TYPE rsd_infoarea.
DATA: g_r_mpro TYPE REF TO cl_rsd_mpro.
DATA: l_r_exception TYPE REF TO cx_rs_error.
DATA: l_actvt TYPE activ_auth.
DATA: l_enqueue TYPE rs_bool.
DATA: l_with_cto TYPE rs_bool.
DATA: l_success_pre TYPE rs_bool.
DATA: l_success_act TYPE rs_bool.
DATA: l_subrc LIKE sy-subrc.
DATA: l_cnt(4) TYPE n.
DATA: l_cnt_ok(4) TYPE n.
DATA: l_cnt_no(4) TYPE n.
DATA: l_text1(60) TYPE c.
DATA: l_text_out(132) TYPE c.
DATA: l_answer TYPE rs_answer.
DATA: l_not_all TYPE rs_bool.
DATA: l_time_from LIKE sy-uzeit.
DATA: l_time_to LIKE sy-uzeit.
DATA: l_extnumber LIKE balhdr-extnumber.
DATA: l_t_return TYPE STANDARD TABLE OF bapiret2,
l_s_return TYPE bapiret2,
l_t_alvl TYPE STANDARD TABLE OF rspls_alvl,
l_s_alvl TYPE rspls_alvl,
l_t_alvl_iobj TYPE STANDARD TABLE OF rspls_s_rfc_alvl_iobj.
PERFORM run.
PERFORM run2.
*&---------------------------------------------------------------------*
*& Form run
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM run.
SELECT * FROM rspls_alvl INTO TABLE l_t_alvl
WHERE infoprov = g_iprov
AND objvers = g_objv.
CHECK l_t_alvl IS NOT INITIAL.
LOOP AT l_t_alvl INTO l_s_alvl.
CALL FUNCTION 'RSPLS_ALVL_CHANGE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
i_tk_alvl_iobj = l_t_alvl_iobj
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_CHECK'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
i_objvers = rs_c_objvers-active
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_ACTIVATE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
ENDLOOP.
ENDFORM. "run
*&---------------------------------------------------------------------*
*& Form run2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM run2.
SELECT SINGLE INFOAREA INTO p_area FROM RSDCUBE
WHERE INFOCUBE = g_iprov .
SELECT * FROM rsdcube
INTO TABLE g_t_rsdcube
WHERE
* infocube IN so_mpro AND
objvers = objvers
AND infoarea LIKE p_area
AND cubetype = rsd_c_cubetype-multi_ic.
* warning popup
DESCRIBE TABLE g_t_rsdcube LINES l_cnt.
l_text1 = text-pt1.
REPLACE '&1' WITH l_cnt INTO l_text1.
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
EXPORTING
defaultoption = rs_c_yes
diagnosetext1 = l_text1
* DIAGNOSETEXT2 = ' '
* DIAGNOSETEXT3 = ' '
textline1 = text-pt2
* TEXTLINE2 = ' '
titel = text-ptt
* START_COLUMN = 25
* START_ROW = 6
cancel_display = rs_c_true
IMPORTING
answer = l_answer.
CHECK: l_answer = rs_c_yes.
l_success_pre = rs_c_true.
l_success_act = rs_c_true.
l_actvt = rssb_c_auth_actvt-maintain.
l_enqueue = rs_c_false.
l_with_cto = rs_c_false.
LOOP AT g_t_rsdcube INTO g_s_rsdcube.
* create instance of multiprovider
CALL METHOD cl_rsd_mpro=>factory
EXPORTING
i_infoprov = g_s_rsdcube-infocube
* I_REFNM =
* I_TXTLG =
* I_INFOAREA =
* I_BWAPPL =
RECEIVING
r_r_mpro = g_r_mpro
EXCEPTIONS
input_invalid = 1
cancelled = 2
OTHERS = 3.
CHECK: sy-subrc = 0.
* prepare multiprovider
TRY.
CALL METHOD g_r_mpro->prepare
EXPORTING
i_with_enqueue = l_enqueue
i_with_cto_check = l_with_cto
i_with_authority = rs_c_true
i_actvt = l_actvt.
CATCH cx_rs_display_only INTO l_r_exception.
l_cnt_no = l_cnt_no + 1.
l_success_pre = rs_c_false.
CONTINUE.
CATCH cx_rs_error INTO l_r_exception.
l_cnt_no = l_cnt_no + 1.
l_success_pre = rs_c_false.
CONTINUE.
ENDTRY.
* activate multiprovider
CALL METHOD g_r_mpro->activate
EXPORTING
i_objvers = objvers
* I_TH_TLOGO =
i_force_activation = rs_c_true
* I_SHOW_CHECK_PROTOCOL = RS_C_FALSE
i_with_cto = l_with_cto
IMPORTING
* E_T_TABLNM_CNV =
e_subrc = l_subrc.
IF l_subrc <> space.
l_success_act = rs_c_false.
l_cnt_no = l_cnt_no + 1.
ELSE.
l_cnt_ok = l_cnt_ok + 1.
ENDIF.
SELECT * FROM rspls_alvl INTO TABLE l_t_alvl
WHERE infoprov = g_s_rsdcube-infocube
AND objvers = g_objv.
CHECK l_t_alvl IS NOT INITIAL.
LOOP AT l_t_alvl INTO l_s_alvl.
CALL FUNCTION 'RSPLS_ALVL_CHANGE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
i_tk_alvl_iobj = l_t_alvl_iobj
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_CHECK'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
i_objvers = rs_c_objvers-active
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_ACTIVATE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
ENDLOOP.
ENDLOOP.
ENDFORM. "run2
*& Report ZBIIP_ACTIVATE_ALVL
*&---------------------------------------------------------------------*
REPORT ZBIIP_ACTIVATE_ALVL.
TYPE-POOLS: rs.
PARAMETER: g_iprov TYPE rsinfoprov,
g_objv TYPE rsobjvers DEFAULT 'M'.
DATA p_area TYPE RSINFOAREA .
TYPE-POOLS rsdg.
TYPES: ty_s_rsdcube LIKE rsdcube.
TYPES: ty_t_rsdcube TYPE ty_s_rsdcube OCCURS 0.
TABLES rsdcube.
DATA: objvers TYPE rsobjvers .
objvers = rs_c_objvers-modified .
DATA: g_s_rsdcube TYPE ty_s_rsdcube.
DATA: g_t_rsdcube TYPE ty_t_rsdcube.
DATA: g_infoarea TYPE rsd_infoarea.
DATA: g_r_mpro TYPE REF TO cl_rsd_mpro.
DATA: l_r_exception TYPE REF TO cx_rs_error.
DATA: l_actvt TYPE activ_auth.
DATA: l_enqueue TYPE rs_bool.
DATA: l_with_cto TYPE rs_bool.
DATA: l_success_pre TYPE rs_bool.
DATA: l_success_act TYPE rs_bool.
DATA: l_subrc LIKE sy-subrc.
DATA: l_cnt(4) TYPE n.
DATA: l_cnt_ok(4) TYPE n.
DATA: l_cnt_no(4) TYPE n.
DATA: l_text1(60) TYPE c.
DATA: l_text_out(132) TYPE c.
DATA: l_answer TYPE rs_answer.
DATA: l_not_all TYPE rs_bool.
DATA: l_time_from LIKE sy-uzeit.
DATA: l_time_to LIKE sy-uzeit.
DATA: l_extnumber LIKE balhdr-extnumber.
DATA: l_t_return TYPE STANDARD TABLE OF bapiret2,
l_s_return TYPE bapiret2,
l_t_alvl TYPE STANDARD TABLE OF rspls_alvl,
l_s_alvl TYPE rspls_alvl,
l_t_alvl_iobj TYPE STANDARD TABLE OF rspls_s_rfc_alvl_iobj.
PERFORM run.
PERFORM run2.
*&---------------------------------------------------------------------*
*& Form run
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM run.
SELECT * FROM rspls_alvl INTO TABLE l_t_alvl
WHERE infoprov = g_iprov
AND objvers = g_objv.
CHECK l_t_alvl IS NOT INITIAL.
LOOP AT l_t_alvl INTO l_s_alvl.
CALL FUNCTION 'RSPLS_ALVL_CHANGE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
i_tk_alvl_iobj = l_t_alvl_iobj
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_CHECK'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
i_objvers = rs_c_objvers-active
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_ACTIVATE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
ENDLOOP.
ENDFORM. "run
*&---------------------------------------------------------------------*
*& Form run2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM run2.
SELECT SINGLE INFOAREA INTO p_area FROM RSDCUBE
WHERE INFOCUBE = g_iprov .
SELECT * FROM rsdcube
INTO TABLE g_t_rsdcube
WHERE
* infocube IN so_mpro AND
objvers = objvers
AND infoarea LIKE p_area
AND cubetype = rsd_c_cubetype-multi_ic.
* warning popup
DESCRIBE TABLE g_t_rsdcube LINES l_cnt.
l_text1 = text-pt1.
REPLACE '&1' WITH l_cnt INTO l_text1.
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
EXPORTING
defaultoption = rs_c_yes
diagnosetext1 = l_text1
* DIAGNOSETEXT2 = ' '
* DIAGNOSETEXT3 = ' '
textline1 = text-pt2
* TEXTLINE2 = ' '
titel = text-ptt
* START_COLUMN = 25
* START_ROW = 6
cancel_display = rs_c_true
IMPORTING
answer = l_answer.
CHECK: l_answer = rs_c_yes.
l_success_pre = rs_c_true.
l_success_act = rs_c_true.
l_actvt = rssb_c_auth_actvt-maintain.
l_enqueue = rs_c_false.
l_with_cto = rs_c_false.
LOOP AT g_t_rsdcube INTO g_s_rsdcube.
* create instance of multiprovider
CALL METHOD cl_rsd_mpro=>factory
EXPORTING
i_infoprov = g_s_rsdcube-infocube
* I_REFNM =
* I_TXTLG =
* I_INFOAREA =
* I_BWAPPL =
RECEIVING
r_r_mpro = g_r_mpro
EXCEPTIONS
input_invalid = 1
cancelled = 2
OTHERS = 3.
CHECK: sy-subrc = 0.
* prepare multiprovider
TRY.
CALL METHOD g_r_mpro->prepare
EXPORTING
i_with_enqueue = l_enqueue
i_with_cto_check = l_with_cto
i_with_authority = rs_c_true
i_actvt = l_actvt.
CATCH cx_rs_display_only INTO l_r_exception.
l_cnt_no = l_cnt_no + 1.
l_success_pre = rs_c_false.
CONTINUE.
CATCH cx_rs_error INTO l_r_exception.
l_cnt_no = l_cnt_no + 1.
l_success_pre = rs_c_false.
CONTINUE.
ENDTRY.
* activate multiprovider
CALL METHOD g_r_mpro->activate
EXPORTING
i_objvers = objvers
* I_TH_TLOGO =
i_force_activation = rs_c_true
* I_SHOW_CHECK_PROTOCOL = RS_C_FALSE
i_with_cto = l_with_cto
IMPORTING
* E_T_TABLNM_CNV =
e_subrc = l_subrc.
IF l_subrc <> space.
l_success_act = rs_c_false.
l_cnt_no = l_cnt_no + 1.
ELSE.
l_cnt_ok = l_cnt_ok + 1.
ENDIF.
SELECT * FROM rspls_alvl INTO TABLE l_t_alvl
WHERE infoprov = g_s_rsdcube-infocube
AND objvers = g_objv.
CHECK l_t_alvl IS NOT INITIAL.
LOOP AT l_t_alvl INTO l_s_alvl.
CALL FUNCTION 'RSPLS_ALVL_CHANGE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
i_tk_alvl_iobj = l_t_alvl_iobj
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_CHECK'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
i_objvers = rs_c_objvers-active
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_ACTIVATE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
ENDLOOP.
ENDLOOP.
ENDFORM. "run2
Sunday, November 1, 2009
Şirketinizin cevherini keşfedin...
Yöneticilerin nitelikli işgücünü yoğun rekabet şartlarında yönetebilmek için operasyonel ve stratejik bilgiyle donanımlı olması gerekmektedir. Zamanında ve yerinde kararlar almanın temeli hatasız işlenmiş verilere, bu verileri hızlı şekilde anlamlı bilgiye dönüştürecek şirket zekasını ve kültürünü oluşturabilmeye dayanıyor. Veri, insan kaynağı ve süreçlerini kurumsal kaynak planlama sistemleri sayesinde başarıyla entegre etmiş şirketler için sonraki adım sahip olduğu verileri çok boyutlu analiz etmeyi ve raporlamayı sağlayacak sistemleri kuruyor olmaktır.
İş hayatında doğru hedeflere koşmak için belirsizlikleri minimuma indirgeyecek, rasyonel karar almaya destek olacak etkin bilgi sistemlerine ihtiyacımız olduğu şüphesiz bir gerçek. Verimliliği arttırmak, ürün ve müşteri potansiyelini fırsata dönüştürmek için sorulması gereken sorular ve yanıtları çoğunlukla veri yığınları içerisinde keşfedilmeyi bekliyor. Çok boyutlu veri analizi ve veri madenciliği bu aşamada şirketlere çözüm getiriyor.
Veri madenciliği ve OLAP şirket zekası sistemlerinin (Business Intelligence Systems - BIS) bir parçası olarak karşımıza çıkıyor. Bilgi işçileri ve iş analistleri şirket zekası sistemleri aracılığıyla çeşitli ortamlardan sağlanan verileri veri ambarlarında konsolide ederek çeşitli modellemelere dayalı karar destek sonuçları elde etmektedir. Bu süreç içerisinde şirket hedeflerinin keşfedilmeyi bekleyen sorulara dönüştürülmesi hızlı sonuçlar almak ve veri yığınlarında kaybolmamak için çok önemli. Şirket hedefleriniz çerçevesinde sorduğunuz ve sıkça cevaplarını revize etmeniz gereken sorulardan bazıları şunlar olabilir:
• Müşterilerim kimler, özellikleri nelerdir? (Profil oluşturma)
• En değerli müşterilerim kimler? (Müşteri değerleme)
• En değerli müşterilerimin bir sonraki siparişi ne olacak, ne zaman olabilir? (Olasılık hesaplama)
• Pazarı nasıl bölebiliriz? Müşteri segmentasyonum satışlarımla ne ölçüde tutarlı? (Pazar segmentasyonu)
• Müşterilerime ne tür promosyonları ne sıklıkta yapmalıyım? Hangi iletişim kanalını kullanmalıyım? (Müşteri iletişimi optimizasyonu)
• Müşterilerimin birlikte almayı tercih ettiği ürün veya hizmetler neler? (Birliktelik analizi)
Bunun gibi soruları şirket hedefleri doğrultusunda periyodik olarak sormak, oluşturulan modellerin doğruluğunu sınamak gerekiyor.
Veri madenciliği sürecinde çeşitli istatistik ve matematik tekniklerle birlikte ilişki tanıma teknolojileri kullanılarak, depolama ortamlarında bulunan veri yığınlarının elenmesi ile anlamlı yeni ilişki ve eğilimler keşfedilmektedir. Kurumlar yeni müşteri kazanmanın her geçen gün zorlaştığı rekabet ortamında varolan müşterileri memnun edebilmenin, onları tanıyabilmenin ve ileriye dönük ihtiyaçlarını fırsata dönüştürmenin yollarını arıyorlar. Müşteri segmentasyonu, yeni müşteri kazanma, kârlılığı artırmak için çapraz ve dikey satış fırsatları oluşturma, dolandırıcılık tespiti, müşteriye özel fiyatlandırma gibi daha bir çok konuda ve sektörde veri madenciliği uygulamalarının başarılı örneklerini görebiliriz.
Şirket verilerinin doğru raporlanması, analiz edilmesi ve yorumlanması süreci içinde çeşitli zorlukları barındırıyor. Zorlukların en başında verinin değişik uygulamalara dağıtılmış olması, geçmişe dönük hacminin sınırlı olması ve raporlamadan ziyade veriyi işlemek için optimize edilmiş bir formatta tutuluyor olması gelmektedir. Heterojen yapıdaki verilerin standardize edilmesi, depolanması, geçmişe dönük analiz ve raporlama için operasyonel sistemlerden farklı sistemler kullanılmalıdır.
Veri Madenciliği ve CRM
Müşteri İlişkileri Yönetimini (CRM), müşteri memnuniyetini maksimize ederken, müşterilerin servis masraflarını minimize etmek, müşteri yaşam döngüsünü akıllıca yönetmek için doğru müşterilerle doğru şirket etkileşimini birleştiren müşteri odaklı stratejileri oluşturmayı amaçlayan bir konsept olarak tanımlayabiliriz. CRM aktivitelerinin ana hedeflerinden biri uzun vadede karlılığı arttırmaktır. Bu hedeflere ulaşmak için yeni müşteriler kazanmak, müşteri değerini arttırmak, değerli müşterileri yitirmemek gibi stratejiler geliştirilir. Bu stratejilerde başarılı olabilmek için müşteri ve satın alma davranışlarının analiz edilmesi gerekiyor. Daha büyük veri kümeleri kullanmak istatistiksel olarak daha doğru sonuçlara ulaşmak için en doğru yaklaşımdır fakat veri kümesi büyüdükçe pazar araştırmacısının işi manuel yapılamayacak kadar büyümekte dolayısıyla veri madenciliği konsepti CRM araştırmaları için temel oluşturmaktadır.
Uzun vadede karlılığı sağlamak için yeni müşterilere yönelmektense değerli müşterileri elde tutmak daha doğru bir strateji olarak kabul görüyor. Cevap bulunması gereken soru şu: “Hangi müşterilerimi elde tutmaya yoğunlaşmalıyım?”. Her kurumun geniş yelpazede müşteri çeşitliliği bulunmaktadır. Pazarı gruplara ayırmak, bu grupların özelliklerini profillemek ve değerli müşterileri tanımlamak için veri madenciliği teknikleri uygulanmaktadır. Buradaki mantık grup içerisindeki müşterilerin önceden belirlenmiş değişkenlere göre benzerliklerinin keşfedilmesidir. Örneğin yeni operatörlerin rekabeti kızıştırdığı GSM sektörünü ele alalım, hergün bir kısım müşteri rakip firmaların promosyonlarından etkilenip operatörünü değiştiriyor. Elde bulunan müşteri verisi veri madenciliği kullanılarak bu müşterilerin profilleri çıkarılabiliyor. Kaybedilen müşterilerin yaş grupları, iş durumları ve servis kullanım saatleri gibi değişkenlere göre stratejik sonuçlar çıkarılabiliyor. GSM operatörlerinin öğrenciler, memurlar için promosyonları, gece yapılan konuşmalara getirdiği indirimleri, hediye dakikaları sunmasındaki amaç uzun vadede karlılığı korumak, bunu yaparken müşteriyi ve davranışlarını eldeki imkanlarla en iyi şekilde analiz etmesi, veri madenindeki cevhere ulaşması gerekiyor.
Veri madenciliğinde dikkat edilmesi gereken hususlar vardır. Büyük miktarlardaki ham veriden doğru sonuçlar çıkarabilmek için öncelikle verinin güvenilir ve hatalardan arındırılmış olması gerekiyor. Çıkarılacak kuralların kalitesi veri kaynağının kalitesine bağlıdır. Bir başka önemli husus bu konudaki uzmanların yetkinliğidir. Veri madenciliği kendi başına bir çözüm değildir, şirket süreçleri ve verilerin gerekli işlemler sonucu modellenmesiyle anlamlı sonuçlara ulaşılabilir. Dolayısıyla bu modellemeleri yapacak bilgi işçisiyle, iş süreçlerine vakıf analistlerin vizyonlarının geniş olması ve doğru soruları sorabilecek yetkinlikte olması gerekmektedir. Çalışma sonucunda çıkacak verilerin doğru yorumlanması da ancak konunun uzmanları tarafından yapılabilir. Unutulmaması gereken bir konu da veri madenciliğinin kurulup hemen sonuçlar çıkaran bir yazılım olmadığıdır. Veri madenciliği sabır isteyen bir süreçtir, doğru modeller oluşturuluncaya dek defalarca deneme gerektirebilir ve sonuçların alınması veri kümesinin büyüklüğüne göre uzayabilir. Bu sebeple çalışan ekibin ve yönetimin kısa vadede büyük beklentiler içinde olmaması gerekir. Şirket zekası yazılımlarının ihtiyacı ne kadar karşılayabilir olduğu ve pazardaki uygulamalardan hangisinin kullanılacağı sorusu ise projenin daha başlangıçta başarı veya başarısızlık ayrımını belirliyor.
Veri madenciliğinin gelecek yıllardaki pozisyonu hakkında fikir sahibi olmak için dünyanın önde gelen araştırma ve danışmanlık firmalarından açıklanan rakamları dikkate aldığımızda, veri madenciliğinin oldukça popüler bir konu olacağını görebiliyoruz. Örneğin, Gartner Group Araştırma Şirketi, gelecek on yıl içinde, hedef pazarlarda veri madenciliği kullanımının yüzde 80'lere ulaşacağı tahmininde bulunuyor. Öte yandan şirket zekası yazılımlarının yeni lisans gelirlerinin 2009 senesinde üç milyar dolar seviyelerinde olacağı öngörülüyor. Sektördeki markalardan kompozit çözümler sunan Microsoft ve SAP’nin gücüyle pazarı canlandırdığını görüyoruz. Microsoft ürünü “Analysis and Reporting Services” yazılım geliştiriciler tarafından yoğun ilgi görerek 2004 yılında %53’lük bir büyüme başarısı elde etti. SAP ise R/3 kullanıcıları için full entegre çözümü olan SEM(Strategic Enterprise Management) ile pazardaki OLAP, veri madenciliği, bütçeleme, konsolidasyon gibi süreçlerde kullanıcılara tatmin edici sonuçlar vermektedir. Geçtiğimiz yıllarda IBM, SAS Institute, Business Objects ve Informatica gibi BI pazarındaki firmaların stratejik satınalmalar ve birleşmeler yoluyla güçlerini arttırdığını görmekteyiz.
Sonuç olarak her geçen gün büyüyen BI sektörü, kullanıcılara doğru bilgiyle ve analiz yeteneğiyle kararlarında destek olacak çözümler sunmaktadır. Bugün çoğu bilişim firması BI uygulamaları için bütçelerini arttırmakta ve şirket zekasını departman bağımlı olmaktan çok şirket tabanına yayacak uygulamalara doğru gitmektedir. Büyük firmalar sadece raporlama amacının dışında BI tabanlı diğer uygulamalarıyla (Bütçeleme, Şirket Performans Yönetimi, Konsolidasyon, Portal vb.) entegre çalışacak çözümler satın almakta ve efektif şekilde kullanmaktadır. Kullanıcı ihtiyaçlarını karşılayacak, şirket hedefleriyle uyumlu çalışacak, yetenekli ve ölçeklenebilir BI yazılımlarıyla şirketinizin en değerli sermayesi olan verilerinizin içerisinde gizli kalmış bilgileri keşfetmek için siz de gerekli adımları atın. Şirketinizin cevherini keşfedin...
Ergin ÖZTÜRK
SAP BI Danışmanı
İş hayatında doğru hedeflere koşmak için belirsizlikleri minimuma indirgeyecek, rasyonel karar almaya destek olacak etkin bilgi sistemlerine ihtiyacımız olduğu şüphesiz bir gerçek. Verimliliği arttırmak, ürün ve müşteri potansiyelini fırsata dönüştürmek için sorulması gereken sorular ve yanıtları çoğunlukla veri yığınları içerisinde keşfedilmeyi bekliyor. Çok boyutlu veri analizi ve veri madenciliği bu aşamada şirketlere çözüm getiriyor.
Veri madenciliği ve OLAP şirket zekası sistemlerinin (Business Intelligence Systems - BIS) bir parçası olarak karşımıza çıkıyor. Bilgi işçileri ve iş analistleri şirket zekası sistemleri aracılığıyla çeşitli ortamlardan sağlanan verileri veri ambarlarında konsolide ederek çeşitli modellemelere dayalı karar destek sonuçları elde etmektedir. Bu süreç içerisinde şirket hedeflerinin keşfedilmeyi bekleyen sorulara dönüştürülmesi hızlı sonuçlar almak ve veri yığınlarında kaybolmamak için çok önemli. Şirket hedefleriniz çerçevesinde sorduğunuz ve sıkça cevaplarını revize etmeniz gereken sorulardan bazıları şunlar olabilir:
• Müşterilerim kimler, özellikleri nelerdir? (Profil oluşturma)
• En değerli müşterilerim kimler? (Müşteri değerleme)
• En değerli müşterilerimin bir sonraki siparişi ne olacak, ne zaman olabilir? (Olasılık hesaplama)
• Pazarı nasıl bölebiliriz? Müşteri segmentasyonum satışlarımla ne ölçüde tutarlı? (Pazar segmentasyonu)
• Müşterilerime ne tür promosyonları ne sıklıkta yapmalıyım? Hangi iletişim kanalını kullanmalıyım? (Müşteri iletişimi optimizasyonu)
• Müşterilerimin birlikte almayı tercih ettiği ürün veya hizmetler neler? (Birliktelik analizi)
Bunun gibi soruları şirket hedefleri doğrultusunda periyodik olarak sormak, oluşturulan modellerin doğruluğunu sınamak gerekiyor.
Veri madenciliği sürecinde çeşitli istatistik ve matematik tekniklerle birlikte ilişki tanıma teknolojileri kullanılarak, depolama ortamlarında bulunan veri yığınlarının elenmesi ile anlamlı yeni ilişki ve eğilimler keşfedilmektedir. Kurumlar yeni müşteri kazanmanın her geçen gün zorlaştığı rekabet ortamında varolan müşterileri memnun edebilmenin, onları tanıyabilmenin ve ileriye dönük ihtiyaçlarını fırsata dönüştürmenin yollarını arıyorlar. Müşteri segmentasyonu, yeni müşteri kazanma, kârlılığı artırmak için çapraz ve dikey satış fırsatları oluşturma, dolandırıcılık tespiti, müşteriye özel fiyatlandırma gibi daha bir çok konuda ve sektörde veri madenciliği uygulamalarının başarılı örneklerini görebiliriz.
Şirket verilerinin doğru raporlanması, analiz edilmesi ve yorumlanması süreci içinde çeşitli zorlukları barındırıyor. Zorlukların en başında verinin değişik uygulamalara dağıtılmış olması, geçmişe dönük hacminin sınırlı olması ve raporlamadan ziyade veriyi işlemek için optimize edilmiş bir formatta tutuluyor olması gelmektedir. Heterojen yapıdaki verilerin standardize edilmesi, depolanması, geçmişe dönük analiz ve raporlama için operasyonel sistemlerden farklı sistemler kullanılmalıdır.
Veri Madenciliği ve CRM
Müşteri İlişkileri Yönetimini (CRM), müşteri memnuniyetini maksimize ederken, müşterilerin servis masraflarını minimize etmek, müşteri yaşam döngüsünü akıllıca yönetmek için doğru müşterilerle doğru şirket etkileşimini birleştiren müşteri odaklı stratejileri oluşturmayı amaçlayan bir konsept olarak tanımlayabiliriz. CRM aktivitelerinin ana hedeflerinden biri uzun vadede karlılığı arttırmaktır. Bu hedeflere ulaşmak için yeni müşteriler kazanmak, müşteri değerini arttırmak, değerli müşterileri yitirmemek gibi stratejiler geliştirilir. Bu stratejilerde başarılı olabilmek için müşteri ve satın alma davranışlarının analiz edilmesi gerekiyor. Daha büyük veri kümeleri kullanmak istatistiksel olarak daha doğru sonuçlara ulaşmak için en doğru yaklaşımdır fakat veri kümesi büyüdükçe pazar araştırmacısının işi manuel yapılamayacak kadar büyümekte dolayısıyla veri madenciliği konsepti CRM araştırmaları için temel oluşturmaktadır.
Uzun vadede karlılığı sağlamak için yeni müşterilere yönelmektense değerli müşterileri elde tutmak daha doğru bir strateji olarak kabul görüyor. Cevap bulunması gereken soru şu: “Hangi müşterilerimi elde tutmaya yoğunlaşmalıyım?”. Her kurumun geniş yelpazede müşteri çeşitliliği bulunmaktadır. Pazarı gruplara ayırmak, bu grupların özelliklerini profillemek ve değerli müşterileri tanımlamak için veri madenciliği teknikleri uygulanmaktadır. Buradaki mantık grup içerisindeki müşterilerin önceden belirlenmiş değişkenlere göre benzerliklerinin keşfedilmesidir. Örneğin yeni operatörlerin rekabeti kızıştırdığı GSM sektörünü ele alalım, hergün bir kısım müşteri rakip firmaların promosyonlarından etkilenip operatörünü değiştiriyor. Elde bulunan müşteri verisi veri madenciliği kullanılarak bu müşterilerin profilleri çıkarılabiliyor. Kaybedilen müşterilerin yaş grupları, iş durumları ve servis kullanım saatleri gibi değişkenlere göre stratejik sonuçlar çıkarılabiliyor. GSM operatörlerinin öğrenciler, memurlar için promosyonları, gece yapılan konuşmalara getirdiği indirimleri, hediye dakikaları sunmasındaki amaç uzun vadede karlılığı korumak, bunu yaparken müşteriyi ve davranışlarını eldeki imkanlarla en iyi şekilde analiz etmesi, veri madenindeki cevhere ulaşması gerekiyor.
Veri madenciliğinde dikkat edilmesi gereken hususlar vardır. Büyük miktarlardaki ham veriden doğru sonuçlar çıkarabilmek için öncelikle verinin güvenilir ve hatalardan arındırılmış olması gerekiyor. Çıkarılacak kuralların kalitesi veri kaynağının kalitesine bağlıdır. Bir başka önemli husus bu konudaki uzmanların yetkinliğidir. Veri madenciliği kendi başına bir çözüm değildir, şirket süreçleri ve verilerin gerekli işlemler sonucu modellenmesiyle anlamlı sonuçlara ulaşılabilir. Dolayısıyla bu modellemeleri yapacak bilgi işçisiyle, iş süreçlerine vakıf analistlerin vizyonlarının geniş olması ve doğru soruları sorabilecek yetkinlikte olması gerekmektedir. Çalışma sonucunda çıkacak verilerin doğru yorumlanması da ancak konunun uzmanları tarafından yapılabilir. Unutulmaması gereken bir konu da veri madenciliğinin kurulup hemen sonuçlar çıkaran bir yazılım olmadığıdır. Veri madenciliği sabır isteyen bir süreçtir, doğru modeller oluşturuluncaya dek defalarca deneme gerektirebilir ve sonuçların alınması veri kümesinin büyüklüğüne göre uzayabilir. Bu sebeple çalışan ekibin ve yönetimin kısa vadede büyük beklentiler içinde olmaması gerekir. Şirket zekası yazılımlarının ihtiyacı ne kadar karşılayabilir olduğu ve pazardaki uygulamalardan hangisinin kullanılacağı sorusu ise projenin daha başlangıçta başarı veya başarısızlık ayrımını belirliyor.
Veri madenciliğinin gelecek yıllardaki pozisyonu hakkında fikir sahibi olmak için dünyanın önde gelen araştırma ve danışmanlık firmalarından açıklanan rakamları dikkate aldığımızda, veri madenciliğinin oldukça popüler bir konu olacağını görebiliyoruz. Örneğin, Gartner Group Araştırma Şirketi, gelecek on yıl içinde, hedef pazarlarda veri madenciliği kullanımının yüzde 80'lere ulaşacağı tahmininde bulunuyor. Öte yandan şirket zekası yazılımlarının yeni lisans gelirlerinin 2009 senesinde üç milyar dolar seviyelerinde olacağı öngörülüyor. Sektördeki markalardan kompozit çözümler sunan Microsoft ve SAP’nin gücüyle pazarı canlandırdığını görüyoruz. Microsoft ürünü “Analysis and Reporting Services” yazılım geliştiriciler tarafından yoğun ilgi görerek 2004 yılında %53’lük bir büyüme başarısı elde etti. SAP ise R/3 kullanıcıları için full entegre çözümü olan SEM(Strategic Enterprise Management) ile pazardaki OLAP, veri madenciliği, bütçeleme, konsolidasyon gibi süreçlerde kullanıcılara tatmin edici sonuçlar vermektedir. Geçtiğimiz yıllarda IBM, SAS Institute, Business Objects ve Informatica gibi BI pazarındaki firmaların stratejik satınalmalar ve birleşmeler yoluyla güçlerini arttırdığını görmekteyiz.
Sonuç olarak her geçen gün büyüyen BI sektörü, kullanıcılara doğru bilgiyle ve analiz yeteneğiyle kararlarında destek olacak çözümler sunmaktadır. Bugün çoğu bilişim firması BI uygulamaları için bütçelerini arttırmakta ve şirket zekasını departman bağımlı olmaktan çok şirket tabanına yayacak uygulamalara doğru gitmektedir. Büyük firmalar sadece raporlama amacının dışında BI tabanlı diğer uygulamalarıyla (Bütçeleme, Şirket Performans Yönetimi, Konsolidasyon, Portal vb.) entegre çalışacak çözümler satın almakta ve efektif şekilde kullanmaktadır. Kullanıcı ihtiyaçlarını karşılayacak, şirket hedefleriyle uyumlu çalışacak, yetenekli ve ölçeklenebilir BI yazılımlarıyla şirketinizin en değerli sermayesi olan verilerinizin içerisinde gizli kalmış bilgileri keşfetmek için siz de gerekli adımları atın. Şirketinizin cevherini keşfedin...
Ergin ÖZTÜRK
SAP BI Danışmanı
Subscribe to:
Posts (Atom)