증강분석(Augmented Analytics)에 연계되는 AI 서비스 개발기

조회수 1920

근래의 데이터 기반 환경은 많은 데이터를 스스로 분석하고 인사이트를 도출할 수 있는 Self Discovery로 대변되는 기술적인 움직임과 데이터 활동을 누구나 어렵지않게  수행할 수 있도록 하는 데이터 민주화(Data Democratization) 정책으로 구분하여 볼 수 있습니다. 여기에 최근에는 각종 마이닝 기법과 ML, AI 모델을 적용한 예측된 데이터를 추가하여 "정보에 증강된 부가가치"를 부여하여 지식(knowledge)을 뛰어넘어 지혜(wisdom)를 추구하려는 증강분석(Augmented Analytics) 시대에 접어들고 있습니다. 여러분들께서 많이 들어 보셨던 태블로라는 BI분석 플랫폼에서도 비지니스 사이언스라는 상품과 개념을 앞세워 라인업을 구축해나가고 있는 것이 좋은 예일 듯 합니다.


저 또한 데이터 분석, 사이언스 업무를 수행하고 이 데이터 업무를 쉽게 수행할 수 있도록 플랫폼을 개발하고 있으며 이렇게 산출된 정보를 누구나 쉽게 접하고 자신만의 분석체계를 꾸릴 수 있도록 BI 업무 또한 수행하고 있다보니 앞서 말씀드린 움직임에 동참을 하고 있습니다. 데이터가 정보가 되어 우리 눈앞에 보여지기까지는 많은 여정이 필요합니다. 예를 들어, "우리 고객별 누적매출을 집계해보니 앞으로 이고객이 얼만큼이나 더 구매를 할까?" 라는 예측을 해야 한다면 이 한 줄에 다음과 같은 많은 자원이 필요한 세부업무를 진행해야만 합니다.


- 산재되어 있는 각종 데이터를 중앙 집중하여 저장할 수 있는 DataLake를 구축하고 (빅데이터 인프라 엔지니어링)

- 이 데이터를 사용할 수 있는 형태도 정형/가공한 후 (데이터 엔지니어링)

- 각종 비지니스 로직을 적용하여 집계하여 모델링 한 후 (데이터 애널리틱스, 데이터 사이언스)

- 빠르게 응답할 수 있는 저장소에 이 정보를 차곡차곡 쌓은 후 쉽게 조회해볼 수 있는 인터페이스를 만들어야 합니다. (서비스 기획, 설계, 개발)


데이터 사이언티스트 1~2명 뽑았다고 당장 뭐가 나오지 않는 이유가 여기에 있기도 합니다.


제 epic은 여기에서부터 시작 되었는데요. 모든 사업체에서 귀하다는 데이터 직군을 뽑고 많은 비용을 들여 인프라, 서비스를 구축할 수 없으니 "전체 데이터 중 필요한 것만 자동으로 추출하여 고객이 평생동안 얼마나 구매할 것인가?(LTV)를 예측한 후 전달해 주는 시스템을 만들자"라는 목표로 서비스를 구축하기 시작했습니다.


AWS의 sagemaker 등도 누군가는 데이터를 정제하고 필요한 필드만 추출해서 s3에 올려놓고 인스턴스를 띄우고 노트북을 실행하여 python과 라이브러리를 통해 학습/검증하는 과정이 필요한데 저는 좀 더 나아가 고객의 "내 디비 여기에 매출 정보가 있으니 퍼가서 LTV를 구한다음 저 디비에 넣어라!" 라는 요청을 호출 하나로 처리하는 식의 좀 더 high level의 API서비스로 설계했으며 지속적으로 개발해 나가고 있습니다.


이 서비스의 대략적인 시스템 구성은 다음과 같습니다.


 <그림> AI API 서비스


흐름은 아래와 같이 정리해 볼 수 있습니다.


1. 격리된 시스템에 접근이 허용된 환경에서 필요한 데이터만 추출 및 익명화 처리한 후 cloud에 업로드

2. 업로드된 데이터의 볼륨을 측정하여 클러스터를 구성할 것인지(scale-out)

    혹은 고스펙의 인스턴스(scale-up)로 작업을 수행할 것인지 자동 분기

3. 로드된 데이터를 정규화하고 서머리를 생성한 후 학습에 적합한 형태로 인코딩 및 저장

    - 여기까지가 bigdata section 입니다.

4. 인코딩된 데이터로 학습 및 검증 수행 (DNN, 통계모델)

5. 앙상블 기법을 통한 최적의 모델 도출 및 예측 모델링 시행

6. 시행된 결과를 서비스에 전달


API 요청부터 데이터처리, AI엔진 전 구간을 서버리스 환경으로 구축하여 호출마다 독립적으로 운영될 수 있도록 구성을 하였으며 처음에는 고객평생가치예측(LTV)로 시작하였으나 이탈확률 예측, 아이템 추천, 시계열 분석/예측 등으로 기능을 점차 늘려나가고 있습니다. 또, 민감정보를 다루는 금융권 등에서는 외부로 데이터가 이동되는 것이 불가능한 경우가 대부분인데 이러한 조건에 맞춰 고객사의 private 환경에 우리 시스템이 deploy되는 outpost 구축방안을 컨테이너기반 패키지로 준비하며 발전 시켜 나가고 있습니다.


<그림> n일동안 구매할 금액 예측, 이탈할 확률, 구매횟수 예측 데이터


위의 그림은 고객의 평생가치예측, 구매횟수예측, 한번 구매시 평균금액 예측, 이탈률 예측 데이터를 전달받아 분석에 활용하는 Self Discovery의 일부 화면 입니다.


이를 통해 데이터를 분석하고자 하는 분들은 빅데이터 환경이나 머신러닝에 대한 소양이 없어도 아래와 같은 시나리오를 만들어 보고 실험해 볼 수 있습니다. 


이탈하지 않을 확률(그림의 pred_alive)가 0.3보다 낮으면 
"이탈할 고객"으로 간주하고 이들을 따로 모아 분석하며 비용을 들여가며 대응을 할 때 
1년 LTV(그림의 pred_purchase_365)가 캠페인비용보다 낮은 고객은 
대응해도 손해이니 
이 금액이 높은 고객을 우선으로 전략을 짜보자. 


여기까지 증강분석에 대한 한 예와 더불어 이를 손쉽게 구축하려는 저의 수행과정에 대해 설명 드려봤습니다. 미약하나마 저와 같은 고민을 하시는 분들께 도움이 되었으면 좋겠구요. 궁금한 사항은 부담없이 편하게 연락주시면 가능한 한도 내에서 의견 드리도록 하겠습니다. 

긴 글 읽어 주셔서 감사합니다.




무료 인사이트 리포트와 최신 마케팅 트렌드 자료를 받아보고 싶다면
다이티 뉴스레터를 구독해보세요!