본문 바로가기
데이터 분석/지표 분석

매출 분석 - 매출 연관 지표 구하기

2022. 12. 17.
작년 이맘 때보다 매출이 떨어진 것 같은데
원인이 무엇인지 분석해주세요

문제 정의하기

매출은 결과에 불과하기 때문에 결과의 원인인 판매 횟수, 평균 구매액 등 주변 데이터를 같이 봐야 한다.

매출이 하락하고 있다
✔ 판매횟수: 판매 횟수는 변화 없는데
✔ 평균 구매액: 평균 구매액이 낮아져서 전체적인 매출이 하락했다
→ 기간 내 판매된 상품의 내역을 확인해서 수치에 대한 근거를 찾는다

매출에 변화가 없다
✔ 판매 횟수: 판매 횟수는 증가했는데
✔ 평균 구매액: 평균 구매액이 낮아져서 매출에 변화가 없다
→ 방문 횟수, 상품 수, 회원 등록 수를 확인해서 판매 횟수의 증가 원인을 찾는다

매출 관련 지표

  판매 횟수 평균 구매액 매출액 누계 매출액 작년 매출액 작년비
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 레시피

댓글