본문 바로가기
데이터분석 공부하기/데이터리안 SQL 입문반 13기

[week1 과제] Retention 분석 EDA 과제

by Confident Beginner 2023. 3. 2.

Q. records 테이블, customer_stats 테이블에 각각 어떤 데이터들이 들어있는지 테이블에서 데이터를 10개만 뽑아서 확인해봅시다. records 테이블의 한 행은 주문 1개를 의미하나요?

- records: 주문 한 번 맞음

 

 

Q. records 테이블에 들어있는 'JP-15520' 유저의 데이터를 확인해봅시다.

-- 해당 유저가 주문을 한 횟수는 몇 번인가요? : 5번 

-- 해당 유저가 맨 처음 주문을 했던 날짜는 언제였나요? :2020-12-08 

-- 해당 유저가 가장 마지막으로 주문을 했던 날짜는 언제였나요? : 2020-12-22

 

Q. customer_stats 테이블에 들어있는 'JP-15520' 유저의 데이터를 확인해봅시다.

-- records 테이블로 확인한 데이터와 숫자들을 비교해봅시다. 똑같은 수치가 나왔나요? : Nope

-> records에서는 6번 주문을 했으나 customers 테이블의 cnt_orders에서는 2번 주문했다고 확인 됨

 

Q. customer_stats 테이블은 records 테이블을 요약하여 만들었습니다. 요약하는 쿼리를 작성해봅시다.

SELECT customer_id
      ,min(order_date) AS first_order_date
      ,max(order_date) AS last_order_date
      ,count(*) AS cnt_orders
      ,sum(sales) AS sum_sales
FROM records
GROUP BY customer_id

Q. customer_stats 테이블의 first_order_date 컬럼은 각 고객이 처음 주문한 날짜입니다. date_format() 함수를 이용하여 first_order_date 컬럼을 ‘YYYY-MM-01’ 형태로 가공하고 first_order_month로 출력해주세요.

SELECT DATE_FORMAT (first_order_date, '%Y-%m-01') AS first_order_month
FROM customer_stats
LIMIT 5

Q. 위에서 구한 first_order_month 컬럼을 활용해 매달 해당 월에 처음 주문한 고객의 수를 계산해주세요.

SELECT 
DATE_FORMAT (first_order_date, '%Y-%m-01') AS first_order_month
, count(*)
FROM customer_stats
group by first_order_month