🤔 이 그래프 어떻게 해석할 수 있을까요?
값이 1가까운 부분에 쏠려있고 이상치가 있다.
🤔 주문서와 결제 테이블이 실 비즈니스에서는 따로 되어 있기도 합니다. 결제 테이블에는 무엇이 있을까요?
고객ID, 주문서ID, 총결제금액, 결제수단, 결제일자, PG사승인번호, 상태값(완료, 실패)
# format("{:,}") : 전체 데이터에 대해 천의 자리 마다 ,를 표기
hour_dow.style.background_gradient(cmap="Greens").format("{:,}")
plt.figure(figsize=(10, 5))
sns.heatmap(hour_dow, annot=True, fmt=",.0f", cmap="Greens")
🤔 어떨 때 pandas의 background_gradient()를 사용하고 어떨 때 seaborn의 heatmap()을 사용하면 좋을까요?
background_gradient()
: 변수마다 성질이 다를 때, 각 변수별로 스케일값을 표현합니다.heatmap()
: 같은 성질의 변수를 비교할 때, 전체 수치데이터로 스케일값을 표현합니다.🤔 중복 데이터는 왜 생길까요?
중복 데이터는 게시판에 글을 쓸 때 네트워크가 불안정할 때 전송버튼을 두 번 누르거나 서버측 트래픽 이슈로 중복 해서 쌓이는 경우가 발생하기도 합니다. 요즘은 대부분 이런 이슈가 없도록 프론트, 백엔드 개발에서 고려해서 프로그램을 작성하지만 그래도 중복 이슈가 발생하기도 합니다!
가끔 서버가 불안정할 때 카톡 2번 보내지는 경험과 비슷합니다
ARPU(Average Revenue Per User)
: 가입한 서비스에 대해 가입자 1명이 특정 기간 동안 지출한 평균 금액
ARPU = 매출 / 중복을 제외한 순수 활동 사용자 수
ARPPU(Average Revenue Per Paying User)
: 지불 유저 1명 당 한 달에 결제하는 평균 금액을 산정한 수치
이 외에도 DAU, MAU, CAC, LTV, ROAS 등이 있다.
💡 ARPPU를 구할 때 CustomerID에 대해선 count가 아닌 nunique 를 사용합니다. count
는 중복을 포함하지만 nunique
는 중복을 포함하지 않기 때문
💡 MAU는 기준을 정하기 나름인데 로그인 수로 세기도 하지만 해당 실습 데이터에는 구매 데이터만 있기 때문에 구매수로 구함
🤔 리텐션이 무엇일까요?
코호트 분석에서 시간 단위로 묶어서 보는 분석 중에 하나가 리텐션 분석입니다. 같은 달에 첫 구매한 사람들이 같은 집단으로 묶였기 때문에 시간 단위 코호트 분석이 됩니다.
🤔 리텐션을 어떻게 구할 수 있을까요?
1) 해당 고객의 첫 구매월을 찾습니다.
2) 첫 구매월과 해당 구매 시점의 월의 차이를 구합니다.
3) 첫 구매한 달로부터 몇 달째 구매인지를 구합니다.
🤔 코호트 빈도에서 어떤 인사이트를 얻을 수 있을까요? 아래 그래프를 보고 어떤 액션을 취할 수 있을까요?
첫 달에만 구매하고 다음달 부터 구매하지 않는 사람이 많다.
마케팅비를 많이 쏟아서 고객을 유치했지만 유지가 잘 되지 않는 것으로 보여집니다.
휴면 고객을 위한 이벤트, 쿠폰 등이 적절한 시점에 있으면 도움이 되겠다라는 계획을 세워 볼 수도 있겠죠.
: 아래와 같은 기준으로 고객 Segment를 나누는 분석 방법
R(Recency) - 최근에 구매했는지?
F(Frequency) - 얼마나 자주 구매했는지?
M(Monetary) - 얼마나 많은 금액을 구매했는지?