세줄 코딩(실무용 알고리즘)

디시전트리(의사결정나무)로 쉽고 정교하게 타겟팅하는 방법

정데만 2023. 8. 19. 11:22
728x90

개인화 vs. 타겟팅

 

개인화와 타겟팅의 차이

고객에게 상품과 서비스를 권유하는 방법론에서 개인화와 타겟팅은 연장선에 있으며 1:1 마케팅, 개인 맞춤형 서비스 등 표현하는 방법에서도 상당히 비슷하다. 또한 데이터와 알고리즘에서도 혼용하는 부분이 많기 때문에 사실상 같은 범주로 놓고 처리하는 경향이 있기는 하지만, 사실 궁극적인 목표에서 개인화와 타겟팅은 상당히 큰 차이를 가지고 있다.

 

먼저, 개인화는 고객의 니즈를 충족시키는 것을 최우선 목표로 한다. 그래서 설령 기업이 당장 주력하는 상품과 서비스가 아니라고 해도 고객한테 맞춰 가다보면 결국 고객이 원하는 서비스를 제공하는 기업으로 성장하게 될 것이라는 관점을 가지고 있다.

 

그래서 데이터 또한 초개인화라는 관점에서 고객이 남긴 흔적 하나하나를 수집하려고 하며, 알고리즘은 고객의 의도를 해석하고 원하는 서비스를 제공하는 방식으로 발전하게 된다. 

 

이에 반해 타겟팅은 말그대로 표적을 정하고 공략하는 방식으로써, 아직 출시되지 않은 상품과 서비스로 지금 당장은 고객이 원하지 않더라도 홍보하고 설득해나가면서 점차 영역을 넓혀나가는 것을 목표로 한다.

 

그래서 주로 코호트, 페르소나같은 세그멘테이션 기법을 이용하면서 아직 발현되진 않았지만 향후 예상되는 니즈를 발굴하거나, 이제까지 보여준 고객의 소비패턴을 분석하는데 알고리즘과 데이터를 이용한다.

 

노키아가 장악하고 있던 휴대폰시장에서 스티브 잡스가 아이폰을 처음으로 시장에 선보인다면 타겟팅이 활용되지만, 이미 아이폰 이용하는 고객에게는 관련 상품과 서비스를 제공함으로써 충성도를 높이는 개인화가 주로 활용되는 것이다. 

 


 

타겟팅에서 데이터를 사용하는 방식

애플의 실제 마케팅 전략을 떠나서 피처폰이 대세인 시장에서 스마트폰과 같은 신제품으로 시장을 공략해야 한다면 데이터 분석가는 어떤 고객을 대상으로 해야할까? 

 

만약, 아이폰을 판매하는 유통점이었다면, 터치방식 또는 고급형 휴대폰을 가진 고객과 디지털 카메라 및 MP3 등의 포터블 전자기기를 이용하는 고객을 분석하여 특성을 찾아내고자 했을 것이다.

 

유사 제품군 또는 기존 제품과 비슷한 소비 성향을 가진 고객을 중심으로 점차 확대해나가는 방식이 타겟팅의 핵심이다. 그래서 인구통계/사회학 등에서 활용되는 코호트와 피어그룹의 개념을 차용하여 연령, 성별, 지역, 직업 등의 공통점을 가진 그룹을 통해서 기존 제품과의 유사성을 찾아나가거나 고객이 이미 보여준 행동(구매, 설문 등)을 기반으로 이를 추정하기도 한다.

 


 

필터링 방식의 타겟팅 

신제품에 우호적인 반응을 보이는 고객을 찾기 위해 실무자들은 외부 보고서 및 설문자료 등을 활용하기도 하지만, 이미 자사의 회원을 보유하고 있거나 광고사 고객 반응 데이터를 활용할 수 있다면, 타겟 마케팅을 고려해서 직접 유사 상품을 구매한 고객을 분석하는 것이 좋다.

 

아래는 타겟팅 솔루션(오브젠)에서 제공하는 타겟팅 설계 화면으로 고객 속성을 순차적으로 대입하면서 대상 고객을 찾아내는 필터링 방식이 적용되어있다.

 

출처 : Obzect Flow Designer

 

필터링 방식은 고객의 속성이나 행동 값을 순차적으로 대입하면서 구매가 이루어질 것으로 예상되는 고객을 찾는 방식으로 (남성 → 40대 → 회사원)처럼 순서대로 값을 중첩시켜 그룹을 세분화하면서 적정한 그룹을 타겟팅하는 방식이다.

 

위에서 예시로 들었던 아이폰과 같은 경우 터치/고급형 휴대폰 구매와 일반 휴대폰 구매고객을 비교하면서 반응이 좋은 그룹을 찾아내는 형태로 타겟팅을 하며, 이에 활용되는 데이터는 다음과 같은 형태를 띄게 된다.

 

고객ID 성별 연령대 직업 구매제품
고객_1 남성 40대 회사원 터치폰
고객_2 남성 70대 무직 플립폰

 


 

타겟팅에 활용 가능한 알고리즘

필터링 방식은 데이터를 하나하나 짚어가면서 발굴하기 때문에 그룹 속성을 파악하기 쉽고, 추출 시 적용 했던 값을 토대로 광고물도 제작할 수 있으며, 공략하기 쉬운 적정 규모의 시장을 발굴한다는 측면에서 마케팅 친화적인 접근 방법이다.

 

하지만, 데이터가 많아질 수 록 그룹이 세분화되고 여러가지 경우의 수를 검증해야하기 때문에 한계가 있으며 자칫 익숙한 데이터나 직관에만 의지하게 될 수도 있다.

 

특히 단순히 속성만 가지고 조합하는게 아닌 금액 및 건수 등을 컷오프하는 등 적정 구간을 지정하는 것은 상당히 어려운 작업에 해당한다.

 

이런 상황에선 앞서 소개했던 클러스터링(바로가기)도 좋은 방법이지만, 클러스터링은 그룹을 만든 후 관리를 하는데 적합하며, 단계적 탐색에는 디시전트리(Decision Tree)가 더 효율적이다. 

 

Desicion Tree (saedsayad.com)

 

한국어로 직역하면 의사결정나무라는 이름의 이 알고리즘은 특정 값에 도달하는 데 필요한 최적값을 찾아 단계별로 보여주는 방식으로 가지가 뻗어나가면서 확률이 높아지는 방식을 취한다.

 

예측모델로써 활용되기도 하지만, 분석결과가 직관적이라는 장점 때문에 알고리즘의 이름처럼 의사결정을 지원하는데 최적화되어있으며 속성을 짚어가면서 그룹 발굴해야하는 타겟팅 작업에 적합하다.

 

디시전트리 이용방법

파이썬에서 디시전트리에 사용되는 코드는 다음과 같다.

from sklearn import tree # 디시전트리 라이브러리 호출
result = tree.DecisionTreeClassifier().fit(X, Y) #목표값(Y)와 설명데이터(X)를 입력하여 result에 저장
tree.plot_tree(result, feature_names=X.columns) #결과를 차트로 보여주기

 

첫줄에서 라이브러리를 호출하고, 두번째줄에서는 목표값 Y와 이를 발굴하기 위한 X로 구성된 데이터를 지정해 알고리즘을 실행하고 마지막줄에서 차트형태로 결과를 보여주는 간단한 방식이다.

 

타겟팅에서 목표값 Y는 시장을 공략하기 위한 유사고객을 입력하면 되는데, 위에서 언급한 예시로 설명하면 터치/고급형 휴대폰을 구매한 고객과 피처폰 등을 구매한 고객을 목표 값으로 설정하고 성별, 연령, 직업 등을  표시하면 된다.

 

디시전트리 실행 예시

아래는 위에 예시로 들었던 사례를 간략하게 샘플로 만들어본 데이터로 성별과 직업은 크기를 나타내는 숫자가 아니기 때문에 Y/N로 구분되게 입력되어 있으며 마지막의 touch_phone_yn은 터치폰을 구매했는지 여부를 표시하였다.

 

 

해당 파일을 touch_phone.csv로 저장한 후 코랩의 좌측 파일창을 열어 업로드한 후 아래의 코드를 입력하면 데이터를 로딩할 수 있다. 여기서 3번째줄은 touch_phone_yn을 제외한 나머지 값을 설명 데이터 X에 할당하는 명령어이며, 4번째는 touch_phone_yn를 목표값Y로 지정하는 문장이다.

 

import pandas as pd
source_data = pd.read_csv('touch_phone.csv')
X = source_data[source_data.columns.difference(['touch_phone_yn'])]
Y = source_data['touch_phone_yn']

 

여기에 위에서 안내했던 디시전트리를 실행코드를 추가하면 다음과 같은 결과를 얻을 수 있다. 

 

 

[실행결과]

 

각 박스의 내용은 첫번째줄이 필터링 조건이며, 3번째줄이 고객 수, 그리고 4번째줄 대괄호에서 첫번째 값은 0의 개수, 두번째값은 1의 개수를 가르킨다.

 

 

맨위의 박스부터 해석하면 첫번째 박스에서 40.5세 이하라는 조건으로 고객이 나눠지고 두번째 박스에서는 성별에 따라 나눠지는 것을 볼 수 있다.

 

예시로 보여주기 위해 간단한 데이터를 이용해 트리를 생성했지만, 그럼에도 불구하고 연령이 고객을 구분하는 가장 중요한 데이터라는걸 알 수 있으며, 그 다음으로 성별로 나눠진다는 걸 직관적으로 볼 수 있다. 이러한 장점으로 인해 디시전트리가 타겟팅에 유용하게 사용되는 것이다.

 

개인화 + 타겟팅 기법

위 글에서는 타겟팅과 개인화를 구분해뒀지만, 실제로는 타겟팅이 자연스럽게 개인화로 발전했기 때문에 굳이 이를 구분하지 않는 편이다.

 

다만, 현업에선 둘을 구분하지 않고 사용하다가 성과 측정 과정에서 타겟팅 작업에 개인화 수준의 실적을 요구하는 등 충돌이 발생할 수도 있으니 미연에 방지하기 위해서라도 목적에 따라 접근 방법을 정해두는 것이 좋다.

 

이러한 구분이 정리되고 나면 타겟팅과 개인화 방법은 서로 보완하는 부분이 많으니 굳이 나누지 않고 활용하는 것이 좋다. 예를 들어 개인화 알고리즘을 구축할 때 초창기 데이터가 쌓이지 않은 시기의 고객(Cold Start)에게는 세그먼트 방식의 타겟팅 기법이 상당히 유용할 수 있다.

 

그래서 최근 사용되는 대다수의 개인화 알고리즘들이 타겟팅에서 주로 이용하는 세그멘테이션 기법과 개인화의 협업 필터링 방식을 섞어서 활용한다. 


728x90