데이터 분석/지표 분석
매출 분석 - 매출 연관 지표 구하기
중급닌자 연습생
2022. 12. 17. 20:41
작년 이맘 때보다 매출이 떨어진 것 같은데
원인이 무엇인지 분석해주세요
문제 정의하기
매출은 결과에 불과하기 때문에 결과의 원인인 판매 횟수, 평균 구매액 등 주변 데이터를 같이 봐야 한다.
매출이 하락하고 있다
✔ 판매횟수: 판매 횟수는 변화 없는데
✔ 평균 구매액: 평균 구매액이 낮아져서 전체적인 매출이 하락했다
→ 기간 내 판매된 상품의 내역을 확인해서 수치에 대한 근거를 찾는다
매출에 변화가 없다
✔ 판매 횟수: 판매 횟수는 증가했는데
✔ 평균 구매액: 평균 구매액이 낮아져서 매출에 변화가 없다
→ 방문 횟수, 상품 수, 회원 등록 수를 확인해서 판매 횟수의 증가 원인을 찾는다
매출 관련 지표
판매 횟수 | 평균 구매액 | 매출액 | 누계 매출액 | 작년 매출액 | 작년비 | |
20XX년 1월 | - 회 | - 원 | - 원 | - 원 | - 원 | - % |
20XX년 2월 | - | - | - | - | - | - |
필요한 데이터
주문 데이터(주문일자, 주문금액, 주문id)
풀이
with daily_purchase as (
select
dt,
sum(purchase_amount) as daily,
count(order_id) as orders
from purchase_log
group by dt
)
, monthly_purchase as (
select
year(dt) as year,
month(dt) as month,
sum(orders) as orders,
sum(daily) as monthly,
avg(daily) as avg_amount
from daily_purchase
group by year, month
)
select
year,
month,
orders,
avg_amount,
monthly,
sum(monthly) over (partition by year order by month rows unbounded preceding) as agg_amount,
lag(monthly, 12) over (order by year, month) as last_year,
monthly / lag(monthly, 12) over (order by year, month) * 100 as rate
from monthly_purchase
order by year, month
ROWS UNBOUNDED PRECEDING
-> ROW를 기준으로 / 파티션의 끝까지 / 앞쪽으로
출처: https://blog.naver.com/jsluvhy/111743709
연간 누계 매출액(agg_amount)의 경우
sum(monthly) over (partition by year order by month rows unbounded preceding) as agg_amount
-> 이번 달까지의 누계 매출액이 차곡차곡 쌓이는 형태
데이터 출처: 데이터 분석을 위한 SQL 레시피