데이터 분석 기법들
분석기법
- 퍼널 분석
: 목표를 이루기 위한 단계 중에 어떤 단계에 집중해야하는지 찾아보는 것 - 코호트 분석
: 시간이 흐름에 따라 고객은 어떻게 변하는지 - 리텐션 (일정 시간 이후 얼마나 많은 사용자가 재사용하는지)
: 리텐션의 종류 - RFM 분석
: 고객 행동 기반 segmentation 방법
퍼널 분석
목표 까지의 고객 여정을 단계별로 나눠 단계별 전환,이탈을 측정하는 분석. (깔때기의 형태로 단계별로 나누어 분석함)
- 고객 여정 : 사용자가 우리가 원하는 행동을 하기까지를 고객여정이라 함.
- 어디가 문제인지, 어디에 집중해서 개선을 해야하는지 알 수 있음
- 그룹 별 퍼널 비교를 통해 우수한 퍼널을 보이는 그룹을 찾을 수있음
- 퍼널에서 이탈하는 고객의 이후 행동을 통해 개선 포인트 도출
퍼널분석 적용해보기
- 최종 목표, 비즈니스에서 가장 중요한 메트릭 설정
- 목표까지의 단계, 시나리오 생각해보기
- 고객 여정이 선형적이지 않은 경우가 많다.
- 앞선 행동이 항상 뒤로 이어지지 않음. 장바구니에 담지않고 바로 구매를 하는 등.
- 핵심적이고 필수적인 요소만 생각해야함.
- 전환율 기준 정하기
- 기간 기준 (장바구니에 담고 바로 구매 vs 2일뒤에 구매)
- 클릭 수 vs 유저 수 (한사람이 5개상품 본것은 상세페이지 5개클릭? 1명이 클릭?)
- 전환율 데이터 산출 (세그먼트 별)
- 기간
- 유저속성 (신규,재구매,성별,연령대)
- 유입경로 (오가닉,논오가닉, 채널별)
- A/B 테스트로 지표 개선
실습
SELECT page, COUNT(user_id) AS user_count, COUNT(DISTINCT user_id) AS check_user_count
FROM 고객 데이터
GROUP BY page
ORDER BY page
전환율 구하기 = 현재단계 / 전단계 %
코호트 분석
시간 흐름에 따라 growth와 retention을 측정하는 방법
고객을 segementation해서 그룹별로 시간에 따라 지표의 변화를 측정함
- time 코호트
- behavior 코호트
- size 코호트
TIME 코호트
- 1월 첫구매 한 사람들 → 2,3,4 월...
- 2월 첫구매 한 사람들 → 3,4,5 월...
- 3월 첫구매 한 사람들 → 4,5,6 월...
코호트 실습
최초 구매일자 구하기
SELECT customer_id, DATE(MIN(invoice_date)) AS cohort_day
FROM 구매 데이터
GROUP BY customer_id
최초 구매일 이후 구매 일 month로 차이 계산 (cohort_group으로 구매 월 확인) → 차이를 cohort_index로 설정
WITH first_purchase AS (
SELECT customer_id, DATE(MIN(invoice_date)) AS cohort_day
FROM `taling-excercise.data_pre.sales`
GROUP BY customer_id
)
SELECT s.*, f.cohort_day, DATE_DIFF(DATE(invoice_date), cohort_day, MONTH) AS cohort_index, DATE_TRUNC(cohort_day, month) AS cohort_group
FROM `taling-excercise.data_pre.sales` s LEFT JOIN first_purchase f
ON s.customer_id = f.customer_id
cohort_index 별로 고객 수 확인 (중복은 삭제)
WITH first_purchase AS (
SELECT customer_id, DATE(MIN(invoice_date)) AS cohort_day
FROM `taling-excercise.data_pre.sales`
GROUP BY customer_id
)
SELECT cohort_group, cohort_index, COUNT(DISTINCT customer_id) as customer_count
FROM (
SELECT s.*, f.cohort_day, DATE_DIFF(DATE(invoice_date), cohort_day, MONTH) AS cohort_index, DATE_TRUNC(cohort_day, month) AS cohort_group
FROM `taling-excercise.data_pre.sales` s LEFT JOIN first_purchase f
ON s.customer_id = f.customer_id
)
GROUP BY cohort_group, cohort_index
다음 코호트 테이블로 보는건 액셀이 더 편리함!
액셀은 자신있지...
피벗테이블로 열에 cohort_index, 행에 chort_group, 값에 customer_id 넣기
리텐션 % 로 구하기 (index 0, 첫구매 가 100% 기준)
오랜만에 글을남기네,,, 이미 공부는 다 했는데 벨로그에 잘 안올리게 된다...
Author And Source
이 문제에 관하여(데이터 분석 기법들), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@joonfly/데이터-분석-기법들저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)