inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

다양한 사례로 익히는 SQL 데이터 분석

채널별 고유/주문 사용자 건수와 매출 금액 및 비율 SQL로 구하기 - 02

컬럼의 뜻에 대해 질문 드립니다.

486

bluebamus

작성한 질문수 84

0

채널별 고유/주문 사용자 건수와 매출 금액 및 비율 SQL로 구하기 2 를 학습하면서

/************************************
채널별 고유 사용자 건수와 매출금액 및 비율, 주문 사용자 건수와 주문 매출 금액 및 비율
채널별로 고유 사용자 건수와 매출 금액을 구하고 고유 사용자 건수 대비 매출 금액 비율을 추출. 
또한 고유 사용자 중에서 주문을 수행한 사용자 건수를 추출 후 주문 사용자 건수 대비 매출 금액 비율을 추출
*************************************/
with temp_01 as (
	select a.sess_id, a.user_id, a.channel_grouping
		, b.order_id, b.order_time, c.product_id, c.prod_revenue 
	from ga_sess a
		left join orders b on a.sess_id = b.sess_id
		left join order_items c on b.order_id = c.order_id
	where a.visit_stime >= (:current_date - interval '30 days') and a.visit_stime < :current_date
)
select channel_grouping
	, sum(prod_revenue) as ch_amt -- 채널별 매출
	--, count(distinct sess_id) as ch_sess_cnt -- 채널별 고유 세션 수
	, count(distinct user_id) as ch_user_cnt -- 채널별 고유 사용자 수
	--, count(distinct case when order_id is not null then sess_id end) as ch_ord_sess_cnt -- 채널별 주문 고유 세션수
	, count(distinct case when order_id is not null then user_id end) as ch_ord_user_cnt -- 채널별 주문 고유 사용자수
	--, sum(prod_revenue)/count(distinct sess_id) as ch_amt_per_sess -- 접속 세션별 주문 매출 금액
	, sum(prod_revenue)/count(distinct user_id) as ch_amt_per_user -- 접속 고유 사용자별 주문 매출 금액
	-- 주문 세션별 매출 금액
	--, sum(prod_revenue)/count(distinct case when order_id is not null then sess_id end) as ch_ord_amt_per_sess
	-- 주문 고유 사용자별 매출 금액
	, sum(prod_revenue)/count(distinct case when order_id is not null then user_id end) as ch_ord_amt_per_user
from temp_01
group by channel_grouping order by ch_user_cnt desc;

위 쿼리의 쿼리 뜻이 잘 이해가 안되어 질문 드립니다.

, sum(prod_revenue)/count(distinct user_id) as ch_amt_per_user -- 접속 고유 사용자별 주문 매출 금액
, sum(prod_revenue)/count(distinct case when order_id is not null then user_id end) as ch_ord_amt_per_user

이 두 항목은 각각 접속 고유 사용자별 주문 매출 금액,

주문 고유 사용자별 매출 금액이라 명칭 되어 있는데, 어떤 의미를 가지고 있는 것인지 잘 이해가 되지 않아 질문 드립니다.

이렇게 이해를 하면 될런지요?

sql postgresql dbms/rdbms 퍼포먼스-마케팅 데이터-엔지니어링

답변 1

0

권 철민

한명의 사용자는 채널별로 여러번 접속을 할 수 있습니다. 즉 특정 사용자는 과거 부터 현재까지 여러개의 접속 세션을 가지고 있는 상태 입니다.

예를 들어 사용자 A는 아래와 같이 여러개의 접속 세션을 가질 수 있습니다. 즉 ga_sess 테이블에서 여러개의 접속 세션은 하나의 사용자에 할당됩니다.

SESSION_ID, USER_ID

1 , A -> 어제 저녁 접속

2 , B -> 오늘 아침 접속

3 , A -> 오늘 점심 접속

4 , B -> 오늘 점심 접속

5 , A -> 가장 최근 접속

위의 레코드는 총 5개이지만 고유 접속자는 A, B 두명입니다. 고유 접속자 건수란 의미는 중복을 제외한 접속 사용자 건수를 의미 합니다. 따라서 접속 고유 사용자별 주문 매출 금액은 접속 세션중에서 주문을 한 경우의 총 주문 매출을 접속 고유 사용자 건수로 나눈 금액입니다.

주문 역시 마찬가지로 한명의 사용자는 여러번 주문을 할 수 있습니다. 그리고 주문 고유 사용자는 중복을 제외한 주문 사용자 건수를 의미합니다. 따라서 주문 고유 사용자별 주문 매출 금액은 총 주문 매출을 주문 고유 사용자로 나눈 금액 입니다.

감사합니다.

"주문별 고객별 연관 상품 추출 SQL로 구하기-02" 수업 질문

0

52

2

쿼리 질문있습니다!!

0

49

2

없는강의요청해도됩니까,,

0

91

2

아래와 동일한 질문에 대한 추가질문입니다

0

71

2

cnt/max로 구한 결과의 차이

0

101

2

쿼리에 대한 질문이 있습니다.

0

116

2

퍼널 질문드립니다.

0

113

1

ADSP자격증

0

283

2

특정 스키마에서 생성한 편집기의 쿼리를 판다스에 삽입하는 방법

0

161

1

백업파일 테이블 생성 오류

0

235

1

"사용자별 특정 상품 주문시 함께 가장 많이 주문된 다른 상품 추출하기"에서 조건관련..

0

162

1

Plotly을 이용해 treemap시각화시 공유사항

0

278

2

월단위 카테고리별 매출액과 주문건수 및 전체매출액 대비 비율 sql로 구하기 수업 중 질문이 있습니다.

0

250

1

with 절 질문

0

240

1

데이터 분석 SQL Fundamentals 강의 할인 문의

0

215

1

리텐션 구하는 방법 문의

0

215

1

캐글데이터 Postgresql 사용

0

356

2

mau 구할때 group by 사용안해도 count 집계함수가 왜 가능한지 모르겠습니다.

0

262

1

매출분석 1에서 partition by와 group by의 차이

0

355

1

postgres 설치 오류

0

319

1

맥 계정에서 postgres 접속 시 비밀번호 입력 실패현상

1

543

2

pandas 연계시 오류.....

0

1246

3

시각화 그래프가 안보여요

0

300

1

ntile 정규분포에 관하여 ... 향후 일을 하게 될 시

0

359

1