CRM 마케터의
고객 재구매주기 분석 1탄

누구나 할 수 있는 CRM 실무 : 데이터 분석

by BaoYuk

이번 챕터를 열기 전에

회사마다 CRM 마케터의 역할은 제각각입니다. 어떤 곳은 개발자나 데이터 분석가와 함께 일하지만, 때로는 엑셀 하나로 모든 CRM을 책임져야 할 때도 있죠. 저 역시 그런 환경에서 시작했습니다. 그래서 직접 파이썬을 배우고 데이터를 뽑아 실험까지 진행해 왔습니다. 완벽한 정답은 아니지만, 저처럼 개발 비전공자도 할 수 있었던 만큼 이 글이 CRM을 막 시작하는 분들에게 작은 용기가 되면 좋겠습니다.


필요한 스킬 및 자료

고객 주문 데이터(Excel)

Visul Studio 파이썬 환경


최종 결과물 미리보기

이번 작업을 거치면 크게 네 가지 지표를 얻게 됩니다.

고객별 구매 횟수

가입일과 첫 구매 사이의 기간의 분포도

첫 구매 - 두번째 구매 주기의 분포도

전체 재구매주기의 분포도

이 세 가지를 한눈에 볼 수 있으면, 매주 혹은 매월 팀원들에게 공유할 수 있는 CRM 인사이트 보고서를 만들 수 있습니다.

1.png 구매횟수 / 가입-첫구매일 수 / 1st-2nd 구매주기 총 3가지 지표 한눈에 볼 수 있어요
1.png 매월 혹은 매주 인사이트를 쓰고 팀원들에게 공유해줘요!

0. 파이썬 환경 구축

파이썬 & Visual Studio 설치 방법 영상 첨부해드려요~

https://www.youtube.com/watch?v=87N8BB_HgUI


0-1. 파이썬 환경 구축

파이썬 전 폴더 만들기 (이건 단순히 제 방법이니 따르실 이유는 없어요~)

로컬 디스크 C 영역에 Python 파일 생성

재재1.png C드라이브 내 Python 폴더 생성

1개 폴더는 Raw 데이터 저장하시고 1개는 파이썬 코드 및 최종 데이터 저장용 폴더를 만들어주세요

재재2.png

Visual Studio를 키시고 저 파일을 마우스 드래그 해주세요! -> 그리고 XX브랜드_재구매주기 폴더를 클릭 후 상단 파일 클릭 후 텍스트 파일을 열어주세요


1. 주문 데이터 살펴보기

먼저, 가지고 있는 주문 데이터에 필요한 열이 모두 있는지 확인이 필요해요!

카페24나 메이크샵을 사용한다면 기본적으로 다운로드가 가능하죠.

재구매주기1.png

특히 ‘주문상태’ 값은 꼭 들여다봐야 합니다. 불필요한 항목은 제거해야 하기 때문입니다.

저는 ‘환불’, ‘교환’, ‘반품’도 결국 한 번은 구매를 시도한 기록이라고 판단해 그대로 남겨두었습니다. 이처럼 어떤 기준을 세우느냐에 따라 분석 결과는 달라집니다.


2. 기준 세우기와 데이터 정리

재구매주기2.png

데이터를 다루다 보면 반드시 부딪히는 질문이 있습니다. “무엇을 기준으로 합칠 것인가?”

이걸 Key 값이라고 부릅니다. 이 Key 값 흔들리면 뒤의 모든 계산이 무너집니다.


또 하나 중요한 건 날짜 변환입니다. ‘주문일시’를 월 단위로 묶을 수도 있고, 특정 포맷으로 바꿔 정리할 수도 있습니다. 목적에 따라 알맞게 변환해 두면, 이후 과정이 훨씬 수월해집니다. 마지막으로 데이터를 정렬해 분석 준비를 마무리합니다.


25년 이후 가입자만 추출 보이실까요?

어느 시점 이후의 가입자 기준으로 보고싶은지에 따라 직접 변경하면 돼요!


3. 필요한 최종 데이터 계산

재구매주기3.png 총 구매수, 가입 - 1회 구매 주기, 1회구매 - 2회 구매 주기

총 구매수

고객 한 명이 몇 번이나 재구매했는지 계산합니다. “3회 이상 재구매한 고객은 몇 명일까?” 같은 질문에 답할 수 있죠.

가입일 → 첫 구매일

고객이 가입 후 첫 구매까지 며칠이 걸렸는지를 확인합니다. 여기에 ‘다음 구매까지 걸린 시간’을 더하면 고객 여정이 좀 더 선명하게 드러납니다.

첫 구매 → 두번째 구매

첫 구매 이후 두 번째, 세 번째 구매까지의 간격을 확인합니다. 특히 ‘1→2차 주기’와 ‘전체 평균 주기’를 비교해보면 흥미로운 차이가 생깁니다.


재구매주기4.png 전체 재구매 주기 분포

전체 재구매 주기

일부분 재구매주기보다 전체적인 재구매주기는 어떤지 확인합니다. 이를 통해 1st-2nd, 2nd-3rd 등 특이점을 파악할 수 있어요.
구매 상태 라벨링

구매 상태 라벨링

고객군을 빠르게 구분하기 위해 라벨을 붙여둡니다. 예: ‘활성 고객’, ‘이탈 위험 고객’ 등.
이탈율 계산

이탈률 계산(Churn Rate)

각 회사마다 정의가 다릅니다. 저희는 ‘N일 동안 구매가 없으면 이탈’로 정하고, 활성/비활성 고객을 나눴습니다. 자사 브랜드 이탈 날짜를 따라 CHURN_THRESHOLD = '' 값을 변경하시면 됩니다.
재구매주기7.png 피벗 형태로 변환

피벗 테이블

마지막으로 피벗 테이블로 요약하면, 바로 보고서에 붙일 수 있는 형태가 됩니다.
최종 저장

최종 저장

총 5개의 시트로 저장하시면 데이터가 마무리 됩니다.

마무리하며

여기까지 진행하면 1차 작업은 끝납니다. 데이터를 정리하고 나면, 비로소 숫자가 이야기를 하기 시작합니다.

다음 글에서는 이렇게 준비된 데이터를 가지고 팀에서 바로 활용할 수 있는 CRM 보고서를 어떻게 만들 수 있는지 소개해 보겠습니다.


메일을 댓글에 달아주시면 코드 복사해서 전달드릴게요~