왜 이번 달 매출이 떨어졌나, CRM 분석가의 7-metric 트리
“왜 이번 달 매출이 떨어졌어요?” CRM Data Analyst라면 매달 받는 질문이에요. 답은 거의 한 줄로 나오지 않습니다. 여러 레버가 동시에 움직인 결과를 같이 읽어야 보이거든요.
DatawithYann이라는 데이터 분석가가 본인이 매번 쓰는 프레임워크, CRM 구매 트리(purchase tree) 를 정리했어요. 매출 한 숫자에서 시작해서 7개 지표로 분기해 내려가면서, “매출이 변한 게 어디서 온 건지” 를 한 단계씩 짚어가는 도구입니다.
이 글은 그가 Medium에 올린 빌드 노트를 정리한 거예요. 각 지표가 무엇을 측정하는지, 그 트렌드가 어떤 신호인지, 그리고 트리를 실제로 어떻게 읽는지까지 풀었어요.

진단 도구: 비교를 통해 원인을 찾는다
구매 트리는 또 하나의 대시보드가 아니에요. 진단 도구예요.
원리는 단순합니다. 각 지표마다 현재 값과 함께 변화율(전월 대비 또는 다른 브랜드·카테고리·제품 대비)을 같이 본다. 트리를 위에서 아래로 변화율을 따라 내려가면, 매출 변화가 정확히 어디에서 시작됐는지 추적이 가능해져요.
예를 들어 이번 달 매출이 +8% 올랐다고 해보면 이런 순서로 묻습니다.
활성 고객이 늘었나? (acquisition)
아니면 1인당 더 썼나? (customer value)
더 자주 와서? (frequency)
아니면 한 번에 더 큰 장바구니로? (AOV)
가격이 올라서? (unit price)
아니면 한 주문당 아이템 수가 늘어서? (UPT)
트리는 이 질문들에 차례대로 답해줍니다. CRM 팀이 실제로 쓸 만한 진단 도구가 되는 이유예요.
실제 트리 예시는 이렇게 생겼습니다.

이 예시를 읽어볼게요. 가장 먼저 눈에 띄는 건 단가가 +7% 올랐다는 것. 이 한 레버만으로도 매출·AOV·고객당 매출이 자동으로 양수로 가요. 가격이 오르면 이 세 지표는 거의 기계적으로 따라옵니다.
흥미로운 건 구매 빈도도 +6% 라는 점. 가격 효과와 무관하게 빈도가 올랐다는 건, 더 비싸진 가격에도 기존 고객이 더 자주 돌아온다는 신호, 진짜 충성도·참여도가 작동하고 있다는 뜻이에요.
경고 신호는 트리의 반대편에 있어요. 활성 고객은 -3%, UPT는 -2%. 이 둘이 함께 떨어지면 가설이 하나 생깁니다. 가격 인상에 반응해 충성도 낮은 세그먼트가 빠지고 있을 가능성, 덜 자주 사거나, 장바구니를 줄이거나, 아예 이탈하거나. 충성 코어는 단단해지고 있지만, 더 넓은 베이스에 가해지는 압력은 무시하면 안 됩니다.
다음 달에 봐야 할 질문: 고객 베이스 침식이 멈추는가, 아니면 가격 민감도가 acquisition·retention을 계속 갉아먹는가.
7개 지표, 하나씩
각 지표 옆에는 두 종류의 SQL이 따라옵니다. 하나는 지표 값 자체, 다른 하나는 전월 대비 변화율. (참조 스키마는 단순한 orders 테이블, order_date, customer_id, order_id, total_amount, quantity, unit_price.)
1. 매출 (Revenue)
측정: 기간 동안의 총 매출. 트리의 뿌리이자 모든 것이 설명하려는 지표.
트렌드가 말해주는 것: 매출의 등락은 진단의 출발점이지, 결론이 아니에요. 트리의 역할은 그 원인을 풀어내는 것. 매출 자체만으로는 사업 건강성에 대해 말해주는 게 아무것도 없습니다.
SELECT
DATE_TRUNC('month', order_date) AS month_date,
SUM(total_amount) AS revenue
FROM orders
GROUP BY 1
ORDER BY 1;
2. 활성 고객 수 (Unique Customers)
측정: 해당 기간에 1회 이상 구매한 distinct customer 수. 실제 활성 구매자 베이스의 크기.
트렌드가 말해주는 것: 활성 고객 감소는 이탈 또는 acquisition 둔화의 신호. 증가는 캠페인 효과일 수 있어요. 고객당 매출 트렌드와 같이 봐야 “건강한 성장”(고객도 늘고 가치도 늘고)과 “취약한 성장”(소수 큰손이 떠받친 매출)을 구분할 수 있습니다.
3. 고객당 매출 (Revenue per Customer)
측정: 활성 고객 1인당 평균 매출. 개인 가치 지표.
트렌드가 말해주는 것: 트리의 피벗 지표예요. 변화율을 보면 매출 변동이 “고객 수”에서 온 건지 “개인 지출”에서 온 건지 갈립니다. 활성 베이스는 평평한데 고객당 매출만 오른다면, 좋은 신호. 충성도가 작동하는 거예요. 더 깊이 들어가서 AOV 때문인지 빈도 때문인지 봅니다.
4. 평균 주문 금액 (AOV)
측정: 주문 1건당 평균 금액 (SUM(total_amount) / COUNT(DISTINCT order_id)).
트렌드가 말해주는 것: AOV 상승은 보통 두 원인 중 하나. 가격이 올랐거나, 1주문당 아이템 수가 늘었거나. 더 내려가 단가(unit price)와 UPT를 봐서 어느 쪽인지 확인합니다.
5. 구매 빈도 (Purchase Frequency)
측정: 활성 고객 1인당 주문 횟수 (COUNT(DISTINCT order_id) / COUNT(DISTINCT customer_id)).
트렌드가 말해주는 것: 빈도 상승은 진짜 충성도의 가장 직접적인 신호, 같은 사람이 더 자주 돌아온다. CRM 캠페인의 효과를 가장 깨끗하게 보여주는 지표예요. 빈도가 떨어지면 이탈 압력이 임박했다는 조기 경보.
6. 단가 (Average Unit Price)
측정: 판매 아이템 1개당 평균 가격 (SUM(total_amount) / SUM(quantity)).
트렌드가 말해주는 것: 가격 정책·할인·믹스의 직접적 신호. 단가가 오르면 매출·AOV·고객당 매출이 거의 자동으로 따라오니까, 다른 지표를 해석할 때 항상 이걸 먼저 빼고 봐야 합니다.
7. 주문당 아이템 수 (UPT, Units Per Transaction)
측정: 주문 1건당 평균 아이템 수 (SUM(quantity) / COUNT(DISTINCT order_id)).
트렌드가 말해주는 것: 크로스셀·번들·”같이 사면 좋은 상품” 추천의 효과. UPT가 오르면 장바구니 깊이가 커진 것, 그게 가격 인상 효과가 아닌지 단가와 함께 봐야 깨끗하게 읽힙니다.
트리를 실제로 읽는 법
매달 트리를 만들면 변화율 패턴이 보입니다. 몇 가지 자주 나오는 시나리오:
단가 ↑, 빈도 ↑, 고객 수 ↓, 가격 인상에 충성 코어는 더 자주 사지만 일반층이 빠짐. 다음 달에 acquisition 회복 캠페인 필요.
고객 수 ↑, 고객당 매출 ↓, 신규 유입은 있지만 가치가 약함. 온보딩·첫 구매 후 nurture를 손봐야 함.
빈도 ↓, AOV ↑, 사람들이 덜 자주 오지만 한 번 올 때 더 산다. 구독·번들로 빈도 회복 시도 가치.
UPT ↓, AOV ↑, 가격 인상으로 AOV는 올랐지만 아이템 수는 줄었음. 가격이 아이템 묶음에 미치는 영향 모니터링.
마무리
구매 트리의 핵심은 “어디서 왔는지 추적 가능한 매출” 을 만드는 거예요. 한 숫자(매출)에서 시작해 7개 변화율을 따라 내려가면, 어떤 레버가 어떤 방향으로 움직였는지 한 페이지로 보입니다.
이 도구는 대시보드를 대체하지 않아요. 대시보드 위에 올려두는 진단의 첫 한 줄입니다. 매달 “왜 매출이 변했나”에 답해야 하는 자리라면, 이 트리 하나만 들고 있어도 회의가 훨씬 짧아져요.
본 글은 Medium tag — crm에서 발행한 원문 The CRM Purchase Tree: 7 Metrics That Reveal What’s Really Behind Your Sales을 번역한 것입니다. 원문의 의도와 다를 수 있으며, 정확한 내용은 원문을 참고하세요.