효율적인 마케팅 예산 집행을 위해 캠페인 별 평생 가치(LTV)를 예측하는 프로젝트. 자세한 문제 상황은 LTV 전체 설명 문서에 적혀 있습니다.
Stage 1 목적
Stage 1에서의 주요 목적은 기존 코드 및 대시보드의 유지보수입니다.
LTV 예측 프로젝트는 제가 입사한 2021년 이전부터 오랫동안 연구가 이어진 오래된 프로젝트로, 이미 LTV 예측값을 통해 마케터가 캠페인의 성과를 판단하는 프로세스가 어느 정도 정립된 상황이었습니다. 그렇기 때문에 주 목표는 예측 모델이 잘 작동할 수 있도록 데이터 파이프라인 및 모델 코드를 관리하는 것이었습니다.
서비스 형태
마케터는 두 가지 방식으로 LTV 예측값을 제공받았는데, 하나는 대시보드, 하나는 jupyter notebook 형태의 코드였습니다.
1. 대시보드
국가 단위의 큰 코호트 별 LTV를 주기적으로 확인하는 용도.
캠페인 집행 전 국가 별, 매체 별 LTV 트렌드를 모니터링 합니다.
이를 기반으로 캠페인 집행 시 국가, 매체 별로 예산 배분을 결정합니다.
mode analytics 라는 BI (Business Intelligence) 도구를 활용해 대시보드를 제작, 관리, 조회할 수 있습니다.
2. jupyter notebook 코드
캠페인 집행을 지속할지 판단하기 위한 용도.
주어진 예산 하에서 캠페인을 지속할지 여부를 판단하기 위해, 캠페인 별 LTV 예측값과 마케팅 비용을 비교해서 예측 ROAS (Return On Ad Spend)를 계산합니다.
예측 ROAS가 일정 기준 이하인 캠페인을 중단함으로써, 효율적인 예산 집행이 가능해집니다.
배포 방식
1. 데이터 인프라 설명
airflow 기반 데이터 파이프라인: LTV DW에 데이터 적재 배치 잡
AWS S3, Glue: LTV를 비롯한 DW (Data Warehouse) 데이터 저장 및 관리
jupyterhub: 마케터 및 데이터 과학자가 jupyter notebook을 실행시킬 파이썬 환경
데이터 파이프라인은 데이터 엔지니어 팀에서 관리하는 airflow 인스턴스에서 배치 잡 형태로 주기적으로 실행됩니다. 배치 잡은 AWS S3와 Glue에 저장된 DW 데이터를 읽어와 LTV 예측에 필요한 형태로 가공한 뒤, 다시 S3/Glue에 적재합니다.
2. 코드 배포
airflow: LTV 배치 잡을 정의하는 코드를 직접 수정했고, prod 환경 배포는 데이터 엔지니어 팀이 담당했습니다.
jupyter notebook: jupyterhub 내에 노트북 파일을 직접 업로드하거나, google drive 등을 통해 공유했습니다.
운영 및 유지보수 업무
airflow 배치 잡 장애 대응
대시보드 시각화 개선 (SQL, 대시보드 디자인)
jupyter notebook 코드 유지보수
마케터 대상 jupyter notebook 활용법 가이드 및 트러블슈팅 지원
LTV 관련 ad-hoc 분석/시각화
모델링 (BTYD 모델 + MCMC 시뮬레이션)
문제 설정: 한 코호트의 7일 간 평균 데이터를 바탕으로, 365일 간의 평균 LTV 예측
모델링: BTYD (Buy Till You Die) 확률 모델 기반으로 MCMC 시뮬레이션 수행