그로스 해킹
AARRR, 매출분석
관재탑
2022. 7. 28. 13:47
AARRR
서비스 성장 분석 방법론 중 하나
- A(Acquisition) : 획득, 광고 등의 방법으로 새로운 사용자를 얻어옴
- A(Activation) : 활성화, 회원가입 및 튜토리얼 등을 통해 사용자들을 활성시킴
- R(Retention) : 유지, 지속적으로 서비스를 사용하게 함
- R(Revenue) : 매출, 고객들이 우리 서비스에 돈을 지불하게 만듬
- R(Referral) : 추천, 고객들이 자발적으로 다른 사용자들에서 서비스 및 제품을 추천함
ARPU/ARPPU
전체 유저 = 미결제 유저 + 결제 유저
ARPU(Average Revenue Per User) : 유저당 평균 매출액, 전체 매출/전체 유저
ARPPU(Average Revenue Per Paying User) : 결제 유저당 평균 매출액, 전체 매출/결제 유저
EDA
order_purchase_timestamp는 시간데이터입니다. 아래 쿼리를 이용해 데이터셋이 언제부터 언제까지의 데이터인지 확인 할 수 있습니다.
SELECT MAX(order_purchase_timestamp), MIN(order_purchase_timestamp)
FROM olist_orders_dataset
데이터셋에서 고객들이 주별로 어디에 살고 있는지 인구순으로 내림차순한 쿼리입니다.
SELECT customer_state, COUNT(DISTINCT customer_unique_id) AS customers
FROM olist_customers_dataset
GROUP BY customer_state
ORDER BY customers DESC
2017년 매출 TOP3 주를 뽑아봤습니다.
SELECT c.customer_state
, ROUND(SUM(p.payment_value), 2) AS revenue
FROM olist_orders_dataset o
INNER JOIN olist_customers_dataset c ON o.customer_id = c.customer_id
INNER JOIN olist_order_payments_dataset p ON o.order_id = p.order_id
WHERE o.order_purchase_timestamp BETWEEN '2017-01-01 00:00:00' AND '2017-12-31 23:59:59'
GROUP BY c.customer_state
ORDER BY revenue DESC
매출 트렌드 분석
2017년 5월 1일부터 2017년 11월 19일까지 이 쇼핑몰의 일일 매출액을 구하고 시각화합니다.
DATE()함수는 인수를 연-월-일 형태로 변환합니다.
SELECT DATE(order_purchase_timestamp) dt
, ROUND(SUM(payment_value), 2) revenue_daily
FROM olist_orders_dataset o
INNER JOIN olist_order_payments_dataset p ON o.order_id = p.order_id
WHERE o.order_purchase_timestamp BETWEEN '2017-05-01 00:00:00' AND '2017-11-19 23:59:59'
GROUP BY dt
ORDER BY dt
2017년 5월 1일부터 2017년 11월 19일까지 이 쇼핑몰의 일일 고객수, 고객수 당 평균 매출액을 구하고 시각화합니다.
SELECT DATE(order_purchase_timestamp) AS dt,
ROUND(SUM(p.payment_value)) AS sales,
COUNT(DISTINCT customer_id) AS PU,
ROUND(SUM(p.payment_value)/COUNT(DISTINCT customer_id)) AS ARPPU
FROM olist_orders_dataset o
INNER JOIN olist_order_payments_dataset p ON o.order_id = p.order_id
WHERE o.order_purchase_timestamp BETWEEN '2017-05-01 00:00:00' AND '2017-11-20 00:00:00'
GROUP BY dt
고객 세분화 분석
2017년 5월 1일부터 2017년 11월 19일까지 매출 TOP3 지역인 'SP', 'RJ', 'MG' 주의 각각 일일 매출액과 일일 점유율을 구하고 시각화합니다.
SELECT DATE(order_purchase_timestamp) AS dt,
ROUND(SUM(CASE WHEN c.customer_state = 'SP' THEN p.payment_value END)) AS SP_day_r,
ROUND(SUM(CASE WHEN c.customer_state = 'RJ' THEN p.payment_value END)) AS RJ_day_r,
ROUND(SUM(CASE WHEN c.customer_state = 'MG' THEN p.payment_value END)) AS MG_day_r,
ROUND(SUM(CASE WHEN c.customer_state = 'SP' THEN p.payment_value END)/SUM(p.payment_value)*100) AS SP_day_r_pct,
ROUND(SUM(CASE WHEN c.customer_state = 'RJ' THEN p.payment_value END)/SUM(p.payment_value)*100) AS RJ_day_r_pct,
ROUND(SUM(CASE WHEN c.customer_state = 'MG' THEN p.payment_value END)/SUM(p.payment_value)*100) AS MG_day_r_pct
FROM olist_orders_dataset o
INNER JOIN olist_order_payments_dataset p ON o.order_id = p.order_id
INNER JOIN olist_customers_dataset c ON o.customer_id = c.customer_id
WHERE o.order_purchase_timestamp BETWEEN '2017-05-01 00:00:00' AND '2017-11-20 00:00:00'
GROUP BY dt
ORDER BY dt