SAP LOB 확장 - SAP Marketing Cloud 데이터 활용을 통한 비지니스 고도화

 이번 글에서는 SAP가 제공하는 다양한 LOB 솔루션들중의 하나인 SAP Marketing Cloud 데이터를 활용해서 SAP Marketing Cloud의 비지니스를 고도화하는 방법에 대해 알아보겠습니다. 특히, SAP BTP의 Data Intelligence Cloud의 데이터 통합과 머신 러닝 기능을 활용해서 Data를 Value로 전환하는 방법에 대해 살표보겠습니다.


비지니스 목표

A기업 마케팅 담당자는 상품 판매 촉진을 위해 최초 구매에 대한 프로모션 진행을 계획하고 있습니다. 그런데, 프로모션 대상자 선택(예상 구매자)을 어떻게 해야 할지에 대한 문제에 직면하게 되었습니다. 내부 회의 끝에 머신 러닝을 활용한 과학적 방법으로 접근 하기로 결정을 하였습니다.

현재 A기업이 사용중인 마케팅 솔루션인 SAP Marketing Cloud의 사용자 기본 정보와 사용자 행동 정보를 기반으로 사용자가 30일 이내에 상품을 최초 구매할지 여부를 파악한 후 예상 구매자에 대한 마케팅 프로모션을 진행하려고 합니다.



솔루션 및 구현

SAP BTP에서는 머신 러닝 개발을 위해 다음과 같은 솔루션과 기능들을 제공합니다.

  • HANA Cloud, HANA - 머신 러닝 엔진(PAL/APL Library)
  • Data Intelligence Cloud - 개발 도구(JupyterLab), 머신 러닝 운영 자동화(Pipeline)


이 비지니스 시나리오에서 머신 러닝을 선택한 이유는 머신 러닝 모델의 개발을 통해 예상 구매자의 구매 예측 점수를 예측한 후, 이 점수를 바탕으로 마케팅 프로모션을 진행하려고 하기 때문입니다. 전체적인 구현 절차는 다음과 같습니다.

   1. SAP Marketing Cloud에서 사용자 관련 마스터 데이터와 행동 데이터 추출

   2. 머신 러닝을 위한 데이터 준비 - 머신 러닝 학습(모델 생성)에 알맞은 형태로 변환

   3. 머신 러닝 학습(모델 개발) 및 예측 - 예측 점수

   4. 예측 점수를 SAP Marketing Cloud로 전달

   5. SAP Marketing Cloud에서 예측 점수를 통한 프로모션 진행


1. SAP Marketing Cloud에서 고객 관련 데이터 추출

SAP Marketing Cloud의 데이터를 추출하기 전에 먼저 SAP Marketing Cloud 시스템에 연결을 해야 합니다. SAP Data Intelligence Cloud는 SAP Marketing Cloud 및 다양한 SAP LOB와 연결을 위한 연결 관리를 제공합니다.

SAP Data Intelligence Cloud의 Connection Management에서 Cloud Data Integration 커넥터를 사용하여 SAP Marketing Cloud와 연결합니다.


필요한 고객 관련 대상 데이터는 SAP Marketing Cloud에 CDS로 다음과 같이 존재합니다. 

  • I_MKT_CONTACT - 고객 마스터 데이터
  • I_MKT_INTERACTION - 고객 행동 데이터

SAP Data Intelligence Cloud의 SAP Application Consumer Operator를 중심으로 Pipeline를 생성하여 데이터 추출을 진행합니다.




2. 머신 러닝을 위한 데이터 준비

추출된 데이터를 가지고 머신 러닝 학습에 맞게 데이터를 가공/변환하는 데이터 준비 단계를 시작합니다.

특정 날짜를 오늘이라고 가정하고 다음 30일 동안 어떤 연락처가 첫 구매를 하는지 예측하려고 합니다. 지난 30일 동안 첫 구매를 한 연락처에 대한 모델을 훈련하여 이를 달성할 수 있습니다.

각각의 사용자 데이터의 단일 행에 설명되도록 데이터를 준비해야 합니다.

SAP Data Intelligence Cloud에서 JupyterLab에서 hana_ml 패키지를 사용하여 직접 HANA DB로 여


3. 머신 러닝 학습(모델 개발) 및 예측

이전 단계에서 머신 러닝 학습을 위한 준비된 데이터 세트를 기본으로 HANA APL에서 제공하는 GradientBoostingClassifier 알고리즘 라이브러리를 사용하여 데이터를 학습니다.

학습된 모델의 성능 판단을 위해 Area Under the Curve(AUC) 값을 확인합니다. AUC가 0.961이 출력되어 매우 환상적인 수치이며 모델의 성능이 매우 높다고 판단할 수 있습니다.

그리고, 모델에 가장 많은 영향을 준 Feature(속성)은 다음과 같습니다.

  • WEBSITE_SEARCH_COUNT_DELTA – 웹사이트에서 연락처가 검색된 빈도의 두 기간 사이 변경
  • WEBSITE_DOWNLOAD_1M_COUNT – 연락처가 최근 30일 동안 자료를 다운로드한 빈도
  • WEBSITE_VISIT_1M_COUNT – 연락처가 최근 30일 동안 웹사이트를 방문한 빈도

학습된 모델은 위의 속성을 보면 더 깊이 해석될 수 있습니다. WEBSITE_SEARCH_COUNT_DELTA 라는 속성이 매우 중요하다는 것을 알고 있습니다.


4. SAP Marketing Cloud로 예측 점수 전달

이전 단계에서 학습하고 예측된 값 즉 예측 스코어를 테이블에 저장했습니다. 이제 이 데이터를 SAP Marketing Cloud로 전달해서 프로모션을 할 수 있도록 해야 합니다.

SAP Data Intelligence Cloud의 Modeler에서 예측 스코어 데이터를 SAP Marketing Cloud로 전달하는 Pipeline를 작성합니다.

SAP Marketing Cloud는 다양한 API를 expose하여 외부에서 사용할 수 있도록 제공하고 있습니다. Python 패키지를 사용하여 SAP Marketing Cloud로 데이터 적재합니다.




5. SAP Marketing Cloud에서 예측 점수를 통한 프로모션 진행

이전 단계에서 전달 받은 머시러닝 모델에서 예측된 스코어 데이터를 기반으로 앞으로 30일 이내에 최초 사용자를 선택할 수 있습니다. 이 예상 구매자를 대상으로 SAP Marketing Cloud에서 제공하는 다양한 프로모션을 진행합니다.



이 블로그의 인기 게시물

DI 구축사례 - 오뚜기 : 데이터 작업 간소화와 예측 분석 업무 활용

DI 구축사례 - Döhler : S/4HANA와 SAP BTP 활용을 통한 지능형 기업으로 전환

Data Intelligence - SAP Data Intelligence 란 무엇인가?