데이터로 고객을 움직이는 팀이 되어가는 여정, 7월 COMMIT 현장 스케치

이진형이진형 데이터 과학자구름 COMMIT

2022년 10월부터 시작한 구름 COMMIT이 어느덧 10회차를 맞이했습니다. 7월 COMMIT에는 ‘더쎈카드’ 앱을 서비스하는 빅쏠 리드 데이터 과학자 이진형 님을 모셨어요.

진형 님은 11번가에서 개인화 추천 서비스를 위한 데이터 파이프라인과 데이터 모델을 개발했고, 빅쏠에서는 데이터팀을 신설하고 데이터 수집부터 시작해 분석 파이프라인을 구축했습니다. 

데이터로 비즈니스에 기여하는 데이터팀을 만들기까지 우여곡절이 많았다고 하는데요. 진형 님이 맨땅에서 팀을 빌딩하고 데이터로 고객을 움직이는 팀을 만든 여정을 전해드립니다.  

🎤 이 아티클은 이진형 님의 7월 COMMIT 세미나 내용을 바탕으로 재구성되었습니다.

데이터에 숨어 있는
인사이트를 찾는 일을 좋아합니다

저는 데이터와 관련된 문제를 해결하는 일도 좋아하고요. 위세아이텍, SK플래닛, 11번가를 거쳐 지금은 ‘더쎈카드’를 서비스하는 빅쏠에서 데이터 인사이트팀 리더를 맡고 있습니다.

11번가에서는 주로 데이터 모델링을 진행했고, 필요에 따라 데이터 파이프라인을 만드는 엔지니어링 업무도 함께 진행했습니다. 

‘한국 데이터 엔지니어 모임’, ‘한국 데이터 과학자&데이터 분석가 모임’ 등 다양한 오픈채팅 모임도 운영하고 있어요. ≪추천 시스템≫, ≪오토케라스로 만드는 AutoML≫을 번역했고, ≪데이터 과학자 원칙≫에 공동 저자로 참여했습니다. 

오늘 COMMIT은 ‘데이터로 고객을 움직이는 팀을 만드는 방법’이 아니라 ‘데이터로 고객을 움직이는 팀이 되어가는 여정’입니다. 저도 아직 길을 찾고 있는 단계예요. 그럼에도 제 경험과 고민이 조금이라도 도움이 되셨으면 하는 바람입니다.

데이터 과학자란?

제가 생각하는 데이터 과학자는 컴퓨터 과학, 통계 그리고 도메인 지식을 조합해 비즈니스 문제를 데이터로 해결하는 사람입니다. 각 분야에 모두 통달하기보다는 전반적으로 모든 분야를 아우를 수 있는 능력이 중요하다고 생각해요. 

데이터팀을 선택하는 7가지 원칙

제가 데이터팀을 선택할 때 고려했던 조건들이에요. 지금은 이 원칙을 지킬 수 있는 팀을 만들기 위해 노력하고 있습니다. 

1. 데이터가 있는지 확인하기

첫 번째는 데이터가 있는지 확인하는 겁니다. 아무리 훌륭한 데이터 과학자, 데이터 엔지니어가 있어도 데이터가 없다면 아무것도 만들 수 없어요. 예를 들어 이커머스 같은 경우는 상품, 주문, 결제, 구매 고객 데이터, 판매자 데이터 또는 행동 로그 등이 있어야겠죠.

2. 데이터를 활용하는 목적이 있는지 확인하기

신규 고객 증가, 리텐션 상승, 구매 유도, 불량률 감소 등 데이터를 활용하는 목적이 명확해야 해야 할 일이 명확해집니다. 목적이 없다면 어떻게 될까요? 무엇을 해야 할지 몰라 우왕좌왕하게 되겠죠. 목적에 맞는 데이터를 쌓아야 하는데 필요한 데이터가 없을 수도 있고요. 

3. 관심 있는 도메인 확인하기

비즈니스마다 목표가 다릅니다. 목표가 다르면 다루는 데이터도 달라지고요. 이 중에 어떤 목표를 달성하고 싶고, 어떤 데이터에 관심이 있는지 고민해보면 좋습니다. 저는 금융이나 소비 데이터에 관심이 있어 관련 분야에 있었어요. 관심 있는 도메인에서 커리어를 시작하는 게 유리할 수 있습니다.

도메인 별 데이터

4. 데이터를 활용할 수 있는 환경 확인하기

데이터 분석에 집중할 수 있는 환경을 갖추고 있는지 확인해 보세요. 물론 데이터베이스(DB)만 있어도 분석할 수 있지만, 아파치 스파크(Apache Spark), 아파치 에어플로우(Apache Airflow), 태블로(Tableau) 같은 서비스를 사용하고 있지 않다면 데이터 분석 초기 단계이거나, 아직 환경이 갖추어져 있지 않다고 볼 수 있겠죠. 

주니어라면 채용 공고를 꼼꼼히 확인해 보세요. 우대 사항보다는 요구 사항을 중점적으로 보면 좋습니다.

5. 함께 일할 데이터 구성원 확인하기

본인이 어떤 조직 구조를 선호하는지 생각해 보세요. 조직은 크게 목적 조직기능 조직으로 나뉩니다. 목적 조직은 다양한 직군이 모여 하나의 목적을 달성하기 위해 노력합니다. 기능 조직은 같은 직군 혹은 비슷한 직군끼리 팀을 이뤄 시너지를 내는 거죠.

목적 조직 기능 조직

조직마다 특징이 달라요. 목적 조직은 비즈니스 성과에 어떻게 기여할지 빠르게 확인할 수 있고, 팀 자체적으로 오너십을 갖고 일할 수 있지만, 팀 내에 같은 직군이 없다면 직무 관련 소통이 어렵습니다. 개개인의 성장 고민을 해결하기도 어렵죠. 

반면, 기능 조직은 같은 직군이 모여 있어 소통할 주제가 많습니다. 배울 수 있는 기회도 많고요. 다만 업무에 오너십이 없다면 다른 부서의 요청 사항을 처리해주는 일이 많을 수 있습니다.  비즈니스 성과에 직접적으로 기여하지 못한다고 느낄 수도 있고요. 어떤 조직을 원하는지 잘 생각해 보셔야 해요. 

6. 데이터팀을 어떤 목적으로 활용하는지 확인하기

지금 데이터팀에 바라는 점이 무엇인지 확인해야 합니다. C레벨의 니즈와 실무자의 니즈가 다를 수 있거든요. 추천 시스템을 출시한다고 가정할 때 C레벨은 추천 시스템과 관련해서 비즈니스 지표를 분석하는 게 중요한데, 실무자는 고객이 어떤 행동을 하는지 분석하는 게 우선순위가 높을 수 있어요. 하고 싶은 일과 해야 하는 일의 간극이 크다면 재미를 붙이기 어렵습니다. 데이터팀을 어떤 식으로 운영하려고 하는지 파악하는 게 중요해요. 

7. 데이터에 차별성이 있는지 확인하기

해당 기업이 보유하고 있는 데이터가 무엇인지도 생각해 보세요. SNS/커뮤니티나 공공데이터, 웹에서 크롤링한 데이터는 어떤 회사든 사용할 수 있죠. 이런 데이터를 주로 다룬다면 데이터를 가공하고 조합해 다른 회사와 차별화하는 게 중요할 거예요.

한 마디로 정리하면 ①선호하는 도메인의 데이터로 ②비즈니스 목표에 기여할 수 있는 ③문화가 잘 맞는 팀을 고르면 됩니다.

팀 미션 확인하기

팀을 골랐다면 팀이 해결해야 하는 미션도 확인해야겠죠.

1. 그로스 해킹

첫 번째는 그로스 해킹입니다. 그로스 해킹은 서비스를 성장시키기 위해 온라인 행동 데이터를 분석해 사용자 경험을 최적화하는 것을 뜻해요. 데이터에서 소비자와 가장 밀접한 문제를 파악하고 해당 문제를 해결해 고객의 니즈를 충족시키는 마케팅 기법입니다. 그로스 해킹은 마케팅, 데이터를 기반으로 한 실험, 그리고 자동화와 데이터 엔지니어링이 모두 필요해요. 

그로스 해킹에 가장 많이 쓰는 분석 방법론이 ‘AARRR’입니다. 획득(Acquisition), 활성화(Activation), 유지(Retention), 소개(Referral), 수익(Revenue)으로 나뉘어져 있어요. 그로스 해킹은 고객 획득뿐만 아니라 모든 단계에 집중해야 합니다. 그래야 우리 서비스에 고객을 모으고, 이탈을 막아 매출을 발생시켜 비즈니스 목표를 달성할 수 있습니다. 

AARRR 각 단계에서 고려해야 할 점은 아래와 같아요.

단계고려 사항할 일
획득(Acquisition)어떻게 우리 서비스를 접하고 있는가?– 광고 및 채널 효율 개선- 광고 A/B 테스트, 최적화
활성화(Activation)사용자가 처음 서비스를 이용할 때 긍정적인 경험을 제공하는가?– 가입 전환율, 체류시간 증가 방법 모색- 상세 페이지 개선- 콘텐츠 강화, UI/UX 최적화 등
유지(Retention)획득 이후 서비스 재사용율은 어떻게 되는가?– 리타겟팅을 통한 재방문 유도- 이벤트 진행- 이메일, 문자 등을 통한 리마인드
소개(Referral)사용자가 자발적으로 바이럴, 공유를 일으키고 있는가?– 리워드를 통한 자발적인 바이럴 유도- 이벤트 진행
수익(Revenue)최종 목적(매출)으로 연결되고 있는가?– 온사이트 마케팅- 가격 전략 변경- 새 제품 런칭, 기존 제품 개선- 서비스 확장

AARRR 중 가장 중요한 단계는 무엇일까요? Acquisition(획득)일까요? 언뜻 보면 가장 앞단인 획득이 가장 중요하다고 생각할 수 있지만, 회사 상황에 따라 다릅니다. 오히려 가장 중요한 단계는 Activation(활성화)와 Retention(유지)예요. 

획득은 돈을 많이 써서 고객을 데려올 수 있습니다. 하지만, 우리 서비스의 가치에 공감하게 하고 계속 사용하게 만드는 건 돈으로 할 수 없는 일이죠. 활성화와 유지에 집중해 꾸준히 우리 서비스를 이용하는 고객을 만들어야 마케팅 비용도 효율적으로 사용할 수 있습니다. 

AARRR을 좀 더 자세히 알아볼게요.

Acquisition(획득)

사용자를 획득하는 단계입니다. 서비스가 안정화된 다음 시장에 진입하기 시작하면 공격적인 마케팅을 진행할 텐데요. 그때 집중하는 지표입니다. 이 단계에서는 CPA(Cost Per Action: 행동당 비용), CAC(Customer Acquisition Cost: 1명의 유료 결제 고객을 확보하는 데 드는 비용), 신규 방문자 수, 신규 방문자 유입 경로 등 여러가지 지표를 확인합니다. 

Activation(활성화)

고객에게 긍정적인 서비스 사용 경험을 제공해 서비스를 활성화시키는 단계예요. 활성화를 관리하는 지표 중 ‘아하 모먼트(Aha Moment)’라는 게 있습니다. 신규 고객이 우리 서비스에서 처음으로 가치를 느낀 순간을 뜻하는데요. 활성화 단계에서 중요하게 봐야 합니다. 

Retention(유지)

서비스 만족도를 가장 잘 나타내는 지표예요. 사업 초기 단계에서 가장 중요한 지표 중 하나입니다. 결국 고객이 우리 서비스를 계속 써야 매출을 일으킬 수 있기 때문이죠. 이탈율, 재방문율, 재구매율, MAU(Monthly Active Users: 월간 활성 사용자) 등을 주로 확인합니다. 

Referral(추천)

가족이나 친구, 동료에게 우리 서비스를 소개하는 단계입니다. 공유 수, 댓글 수, 친구 추천 가입자 수 등을 확인하죠. 얼마 전에 토스에서 친구를 초대하면 주식 1주를 주는 이벤트를 했었는데 이또한 추천에 해당합니다.

Revenue(매출)

앞에서 획득한 고객에게 매출을 끌어내는 단계입니다. 사업 초기에 매출부터 고려하면 비즈니스적으로 큰 임팩트를 주기 힘들어요. 초반부터 매출을 신경써 광고를 많이 붙이면 부정적인 이미지를 심어줄 수도 있고요. 먼저 우리 서비스 고객을 최대한 늘린 다음 매출을 고려해야 합니다. 

2. 데이터 서비스 개발&운영

그로스 해킹을 하려면 데이터 서비스를 개발하고 운영해야 해요. 데이터팀이 만드는 서비스는 내부 이용자를 대상으로 한 Data Warehouse와 BI(Business Intelligence) 시스템. 외부 고객을 대상으로 한 시스템이 있습니다. 

더쎈카드는 고객의 소비를 관리하는 리포트나 신용카드 추천 시스템을 개발하고 있습니다. 이런 시스템을 만들고 운영하려면 다양한 기술과 솔루션이 필요하겠죠. 

3. 고객 행동 데이터 설계

고객이 우리 서비스에서 어떤 행동을 하는지 확인하려면 데이터를 설계하고 심는 작업이 우선입니다. 이때 가장 중요한 건 고객 행동 로그를 분석하는 목적을 설정하는 거예요. 로그 데이터는 재료입니다. 분석 목적에 맞는 재료를 선택하는 게 중요해요. 

이런 경우가 있을 수 있어요. 고객 행동을 분석해야 한다고 로그를 심어달라는 요청이 들어왔는데, 어디에 심을지 물어보니 다 심어달라고 하는 거죠. 물론 다 심어두면 언젠가 쓸 날이 오겠죠. 팀 리소스를 더 쓰더라도 필요할 것 같은 로그까지 미리 심을지, 필요한 것만 심을지는 조직 내 의사 결정권자들끼리 협의가 필요합니다. 

로그를 어디에 저장하고, 어떤 도구로 분석할지도 중요합니다. 저도 처음에 로그를 저장해야 할 때 어떻게 할지 고민을 많이 했었거든요. 간단하게 DB에 쌓거나, 스크립트를 이용해 구글 애널리틱스(Google Analytics)에 쌓을 수 있고, 앰플리튜드(Amplitude)믹스패널(Mixpanel) 같은 툴을 이용할 수도 있습니다. 고객이 어떤 광고 채널을 통해 가입했는지 관리해주는 애드저스트(Adjust), 앱스플라이어(AppsFlyer) 같은 애트리뷰션 툴에서도 고객 데이터를 쌓을 수 있고요.

당장 로그를 쌓아야 하는데 툴을 사용해 본 적이 없고, 도움 받을 곳이 없어 막막하다면 업체에 직접 연락해 보세요. 현재 상황과 구축 계획을 설명하면 분명 친절하게 설명해주실 거예요. 저도 많은 도움을 받았습니다. 

4. 고객 정의

고객을 정의하는 것도 중요합니다. 특히 마케팅을 할 때는 현재 서비스에 잔존율이 높은 핵심 고객이 어떤 고객군인지 파악하고, 핵심 고객군이 반응할 수 있는 이미지나 문구, 플랫폼을 활용해야겠죠.

5. 핵심 지표 정의

중요한 지표 중 하나가 ‘북극성 지표(North Star Metric)’입니다. 모든 직원이 달성해야 하는 하나의 지표예요. 팀의 목표와 방향, 그리고 성공을 가늠하는 주요 척도입니다. 북극성 지표로 회사의 현재 상황을 정확하게 파악할 수 있어요. 팀의 장기적인 성장을 이끌어내는 데 도움이 되는 지표고요. 

북극성 지표를 달성하려고 노력하다 보면 결국 중요한 일에만 집중하게 됩니다. 예를 들어 MAU를 높이는 게 북극성 지표라면 새로운 서비스나 기능을 기획할 때 MAU에 도움이 되는지 물어보면서 중요도를 판단할 수 있습니다. 

스포티파이 같은 경우는 북극성 지표가 ‘Time spent listening(고객들이 음악을 듣는 시간)’이라고 해요. 스포티파이가 새로운 기능을 기획할 때 던져야 할 질문은 단 하나입니다. 해당 기능을 쓰면 스포티파이에서 노래를 듣는 시간이 늘어나나요? 

MAU나 매출은 북극성 지표로 삼지 않는 게 좋다는 이야기가 많아요. 단편적인 지표에 가깝거든요. 푸시 알림을 많이 보내거나, 돈을 많이 쓰면 활성 유저는 늘어나겠지만, 서비스 본질이 좋아지는 건 아니잖아요. 또 원가가 10,000원인 제품에 9,000원 쿠폰을 발급해서 고객이 1,000원에 살 수 있다면 매출은 오르겠지만, 영업 이익은 줄겠죠. 겉으로 보면 성장하는 것 같지만 회사 재무 구조는 안 좋아지는 상황이 발생할 거예요.

OMTM(One Metric That Matters)이라는 지표도 있습니다. 북극성 지표보다 단기적인 지표인데요. 북극성 지표는 쉽게 변하지 않는 장기적인 핵심 지표라면, OMTM은 지금 상황에서 달성해야 할 단기 목표이자, 팀 또는 프로젝트별 목표입니다. 

북극성 지표인 음악을 듣는 시간을 늘리기 위해서는 다양한 액션들이 필요하죠. 이런 액션을 관리해주는 지표가 OMTM입니다. 단기 지표인 OMTM을 성장시키면 자연스럽게 북극성 지표를 달성할 수 있는 거예요.

북극성 지표

전체 구성원이 공감하는 하나의 북극성 지표 아래에서 팀 또는 프로젝트 별로 짧은 주기에 달성해야 하는 OMTM을 관리합니다. 

OMTM보다 앞서 관리하는 지표도 필요해요. 스포티파이로 다시 예를 들어보겠습니다. 스포티파이의 북극성 지표는 음악을 듣는 시간을 늘리는 거죠. 음악을 듣는 시간을 늘리려면 2개의 프로젝트를 진행해야 합니다. 하나는 스포티파이 앱을 더 자주 열게 만드는 것, 다른 하나는 한 번 듣기 시작한 유저가 더 오래 듣도록 하는 거예요. 이 2가지 지표를 OMTM으로 관리합니다.

2개의 지표를 관리하기 위해서는 새로운 아티스트를 추천해 앱을 열게 만들거나, 맞춤형 플레이리스트를 만들어 체류 시간을 늘리는 등 다양한 업무가 필요하겠죠. 이런 태스크도 지표로 관리해야 합니다. 

결국 OMTM과 북극성 지표를 달성하려면 앞선 선행 지표를 관리해야 해요. 실무자는 선행 지표를 성장시키기 위한 업무를 정의하고 수행해야 합니다. 

MAU를 높이려면

먼저 우리 서비스가 AARRR 중 어느 단계에 있는지 파악해야 합니다. 파악한 다음에는 거기에 맞는 액션을 해야겠죠. 

두 번째로는 고객을 세분화해야 합니다. 우리의 핵심 고객은 누구인지, 해당 고객이 우리 서비스에 계속 머물게하려면 어떻게 해야 할지 등을 고민하면서 핵심 고객이 많은 곳에서 마케팅해야 합니다. 

마지막으로는 핵심 지표와 북극성 지표를 정의하고 해당 지표를 높이는 일에 집중해야 해요. 북극성 지표가 MAU라면 MAU를 높일 수 있는 OMTM을 정의하고, 그 OMTM을 높일 수 있는 선행 지표도 정의해야 합니다. 선행 지표를 높일 수 있는 업무는 무엇인지 고민하면서요. 

데이터 플랫폼 구축 여정

제가 빅쏠에 처음 들어왔을 때 시스템 구성도입니다.

빅쏠 시스템 구성도

MySQL 서버와 WAS가 있고, 이를 관리하기 위한 백 오피스와 앱이 있었어요. 데이터를 조회할 때는 ‘디비버(DBeaver)’라는 툴을 이용했습니다.

제가 가장 먼저 했던 건 데이터 웨어하우스(Data Warehouse)라는 별도 스키마(Schema)를 만드는 작업이었어요. 모델링이나 시각화를 하기에 디비버만으로는 한계가 있어 주피터(Jupyter)로 프로그램을 짜서 시각화했습니다. 고객 행동을 분석하기 위해 GA4로 고객 로그를 심었고요.

다음으로는 애드저스트라는 어트리뷰션 툴을 도입했습니다. 고객이 어떻게 유입됐고, 어떤 행동을 하는지, 얼마나 남아 있는지 알려면 어트리뷰션 툴로 분석해야 하거든요. 애드저스트로 구글 광고, 페이스북 등에서 몇 명이 들어오고, 고객들이 월별로 얼마나 유지되고 있는지 자세히 분석할 수 있게 됐습니다. 

이쯤 혼자 일하다 2명이 됐는데요. 코드를 같이 분석하다 보니 비슷한 코드를 재활용하는 경우가 많아지더라고요. 각자 로컬에서 관리하기 어려워져 깃랩(GitLab)을 적용했습니다. 

주피터로 코드를 분석, 배포, 리뷰하면서 데이터 쿼리를 확인했는데요. 주피터를 이용하면 데이터 분석가들은 쉽게 분석할 수 있지만, 실무자들은 보기 어려워하시더라고요. 방법을 고민하다 아파치 슈퍼셋(Apache Superset)을 적용해 BI 시스템을 구축했습니다. 간단한 데이터는 누구나 직접 볼 수 있도록 차트를 만들었고, 반복적으로 요청이 들어오는 데이터도 차트로 만들었어요.

다음으로 적용했던 건 아파치 에어플로우입니다. 아파치 슈퍼셋을 이용하면 발생하는 문제점이 데이터가 많아지면 조회하는데 너무 오래 걸린다는 거예요. 그래서 스케쥴링을 위해 에어플로우를 도입했습니다. 

엘라스틱서치(Elasticsearch)를 통해 다양한 로그를 수집하고, 로그는 아파치 카프카(Apache Kafka)를 활용해 심층적으로 분석했습니다. 

아파치 슈퍼셋과 구글 애널리틱스, 애드저스트를 오고 가며 데이터를 확인해야 하니 한 곳에서 모아 보고자 루커 스튜디오(Looker Studio)를 이용했습니다. 루커 스튜디오를 이용하면 GA 데이터를 쉽게 볼 수 있고, 데이터 소스로 애드저스트를 활용할 수 있어요. 여러 군데 흩어져 있던 멀티 소스 데이터를 통합해서 하나의 대시보드를 만드는 데 유용합니다.

MySQL이 데이터를 분석하는 용도로 쓰기에는 성능이 좋지 않은데요. 그래서 클릭하우스(ClickHouse)라는 컬럼 베이스 데이터베이스 엔진을 사용했어요. 제가 테스트했을 때 MySQL로 데이터 분석 리포트를 만들면 2시간 정도 걸리는데, 같은 데이터로 클릭하우스 엔진을 사용했더니 100초 걸리더라고요.

데이터 플랫폼 구축

데이터 플랫폼 구축은 비즈니스 요구사항에 따라 필요한 부분부터 점진적으로 개선해야 합니다. 데이터 엔지니어라면 당연히 다 하고 싶겠지만, 비즈니스 우선순위와 잘 맞아야 설득하기 쉬울 거예요.

혼자에서 팀이 되기까지

제가 빅쏠에 입사했을 때는 데이터팀이 없었습니다. 데이터 직군도 저 혼자였고요. 데이터 인프라가 잘 갖춰진 큰 회사에서 팀원으로 일하다가 위와 같은 과정을 거쳐 데이터팀을 꾸렸습니다. 

지금은 4명이 팀으로 일하고 있어요. AARRR 프레임워크로 R&R을 나누고 있습니다. 1분은 Activation(활성화), Retention(유지)를 관리하고 있어요. 어떻게 하면 고객이 우리 서비스를 계속 찾아올 수 있을지 고민하는 거죠. 다른 1분은 Acquisition(획득)과 Referral(추천)을 전담합니다. 우리 서비스에 고객을 데려올 방법과 고객이 다른 고객을 불러올 방안을 고민하고 있어요. 매출을 키우는 Revenue(수익) 측면을 고민하는 분도 있고요. 이외에도 로그 설계, 데이터 분석, 그로스 해킹, 시스템 구축, 데이터 모델링(ML) 업무를 진행하고 있습니다.

빅쏠 데이터 인사이트팀은 모든 조직과 연결되어 있습니다. 마케팅팀, 제휴사업팀, 사업기획팀, 서버개발팀 등 많은 팀과 어떤 데이터를 보고, 어떻게 정보를 추출하며, 지표를 관리할지 논의하고 있어요. 데이터를 기반으로 의사결정하는 문화를 만들기 위해 노력하고 있습니다.

Edit Sunny Design Lil


Posted by
goorm

ANYONE CAN DEVELOP