brunch

You can make anything
by writing

C.S.Lewis

by 빌베리 May 08. 2024

User Distribution 기능 개발기

Segmentation 말고 Distribution 하세요!

안녕하세요. Blux ML Research Engineer, Simon입니다.

지난번 User Segmentation을 위한 범용적인 이탈모델 제작기에 이어 Blux가 User Segmentation에 이어 야심차게 준비하고 있는 User Distribution 기능을 개발한 과정을 공유드리려 합니다. 이번 글은 그간 제가 적어온 글과 다르게 자세한 기술적인 이야기보다는 제품을 개발하는 개발자의 입장에서 어떻게 문제를 접근하여 해결하였는지 그 과정을 적어보았습니다.


� 본 콘텐츠는 2편의 글로 구성됩니다. AI 알고리즘을 통해 해결책을 제시한 저의 관점에서 작성된 현재 글과 문제 정의에 집중한 PO인 Conor의 관점에서 작성된 별도의 글(링크)이 있습니다. 같은 프로젝트에서 서로 다른 역할을 수행한 두 명의 시각을 공유드려보고자 하였습니다.


User Segmentation, 충분한가?

Blux의 초기 제품 개발 목표 중 하나는 마케터가 수동으로 설정해야 하는 복잡한 조건(예: N일 이내 구매 유저, 특정 브랜드 상품을 Y회 이상 클릭한 유저)을 자동화하여, 이들의 수고를 덜어주는 것이었습니다. 이를 위해 기존의 룰-베이스(Rule-Based) 세그먼테이션을 Machine Learning으로 훨씬 더 정교하고 쉽게 유저 그룹을 추출할 수 있는 기능을 개발하게 되었습니다. 이 과정에서 활성도를 기반으로 유저군을 추출하는 기능(유저 활성도 기반 Segmentation)과 특정 상품들을 선호할 것 같은 유저군을 추출하는 기능(상품 선호도 기반 Segmentation)을 개발하였습니다.


이후 브레이즈(Braze)라는 메시징 도구를 통해 클라이언트들과 협업하며 이 기능을 제공하였고, 세그먼테이션을 통해 추출된 30~50%의 유저가 전체 메시지의 오픈 및 전환의 80~100%의 유저를 커버하며 긍정적인 성과를 보여주었습니다. 또한 Segmentation 기능을 통해 아래와 같이 하루에 여러 기획전을 더 많이 집행할 수 있게 되었습니다.


하지만 상품 선호도를 기반 Segmentation 기능을 개발하는 과정에서 개발자로서 저는 이 기능이 Machine Learning을 충분히 활용하지 못하고 있다고 판단했습니다. 기존의 Blux 추천 모델을 응용한 이 기능은 사용자가 특정 상품을 선호하는지 여부를 이진 분류로 결정하게 됩니다. 반면 추천 모델은 사용자와 상품 간의 선호도 차이를 분석하여 상대적인 순위를 매기는 랭킹 알고리즘입니다. 즉, 추천모델의 관점에서 절대적인 확률값을 기준으로 이진 분류를 해야하는 상품 선호도 Segmentation이 완전히 적합한 기능은 아니었습니다. 이를 위해 목적 함수를 수정하는 등 많은 튜닝 작업을 진행했지만, 추천 모델의 본래 기능을 충분히 활용하지 못했다고 느꼈습니다. 추가적으로 일부 유저들은 과도한 메시지를 받거나 어떤 유저들은 아예 소외되는 등 모델이 통제하지 못하는 상황도 발생하였습니다.


실제 고객사와 소통하며 이 기능을 바라보던 Conor 역시 저에게 ML을 활용한 Segmentation 기능은 성과의 상방이 명확한 기능이라는 문제점을 지적해주었습니다. Segmentation 기능을 활용할 경우 성과의 상방은 전수에게 보내는 것을 넘을 수 없기 때문에 전환율과 오픈율이 높아져도 전환수와 오픈수가 줄어든다면 고객사는 이 기능을 신뢰하지 못한다고 이야기해주셨습니다. 또한 Segmentation을 통해 집행할 수 있는 기획전의 수가 늘어나면서 이들을 셋팅하고, 관리하기 위한 마케터의 리소스도 함께 증대되어 본래 목적과 상충되는 결과가 도출되었다는 사실을 공유해주셨습니다.


PO인 Conor와 개발자인 저는 서로 다른 관점에서 Segmentation 기능이 명확한 한계를 가지고 있다는 것을  느끼고 있었습니다. 이는 마케터들이 Segmentation을 통해 원하는 것이 무엇인지 문제 정의를 다시하고, Machine Learning이 가장 잘 동작할 수 있는 기능을 고민하는 계기가 되었습니다.


User Distribution, 이건 어떠세요?

큰 틀에서 저와 Conor는 다음과 같이 문제를 다시 정의하였습니다.

기업들의 CRM 마케팅 캠페인은 고객의 전환 건수를 극대화하지 못하고 있다


그리고 개발자의 관점에서 해결해야할 문제를 구조화하여, 이를 해결해줄 수 있는 새로운 기능들을 고민하였습니다.   

고객의 Engagement를 극대화하여 매출을 올릴 수 있는 새로운 방식이 필요하다.

여러 기획전을 효율적으로 집행하고 관리할 수 있어야 한다.

추천 모델의 동작과 유사한 방식으로 기능이 동작되어야 한다.


그 결과 'User Distribution' 기능이 탄생하였습니다.

User Distribution은 전체 User를 대상으로 여러 기획전 중 더 선호할 것 같은 기획전에 대한 메세지를 보내는 기능입니다. 즉, Segmentation은 특정 기획전에 반응할만한 Target User군을 추출해주는 기능이었다면 Distribution은 여러 기획전에 User들을 분배해주는 기능이라고 이야기할 수 있습니다. 이상적인 기획전 집행 과정을 그림으로 표현하면 다음과 같습니다.


User Distribution을 통해 마케터는 집행할 수 있는 기획전의 수를 증가시키면서 유저 피로도를 관리할 수 있고, 각 유저가 선호하는 콘텐츠에 더 집중할 수 있도록 유저 경험을 개인화할 수 있습니다. 또한 각 기획전 사이의 상대적인 선호를 파악해 분배하기 때문에 기존 추천 모델의 결과를 온전히 활용할 수 있어 기능을 운영함에 있어서도 이점이 있습니다.


마무리

이 프로젝트를 진행하며, PO와 개발자가 각기 다른 관점에서 문제에 대해 깊이 있게 고민하는 과정을 통해 서로의 생각을 나누고 이해하는 데 큰 가치가 있음을 느꼈습니다. 이러한 소통은 더 좋은 기능을 갖춘 제품을 개발하는데 필수적인 요소임을 다시 한번 깨달았습니다.


User Distribution은 이제 시작에 불과합니다. 앞으로 더 좋은 기능들로 기술을 통해 마케터들의 고민들을 해결해줄 수 있도록 노력하겠습니다!

매거진의 이전글 CRM 마케팅, 세그먼테이션이 필요 없는 이유
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari