본문 바로가기

Data Analysis/Data Analysis

Project 2. 이커머스 데이터를 통한 사업 동향 파악 (1)

이 글은 24.02.06에 본인 벨로그에 작성했던 글을 옮겨 온 것이다.

 

Project 2. 이커머스 데이터를 통한 사업 동향 파악

주제 선정 이유

  • 비즈니스는? 측정되어야 한다.

    => 분석가들은 지표와 친해야 한다!

    => 지표와 친하다?? -> 지표를 접근 가능한 단위로 쪼개자!
    => 근본적인 문제가 어떤 지표에 있는지 최대한 자세하게 알기 위함이다

사용할 데이터셋

https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce

Big Query

준비

빅쿼리 검색 후 링크 접속(GCP 제품이므로 설치할 필요 없음)


새 프로젝트 만들기
=> 빅쿼리에서는 "프로젝트-> 데이터셋 -> 테이블"의 계층 구조로 데이터셋을 관리할 수 있음


프로젝트 만든 후, SQL 쿼리 만들기 선택 -> 이제부터 SQL로 작업할 수 있다!

데이터셋 추가

프로젝트 이름 옆 점 3개 클릭 -> 데이터셋 만들기 선택


정보 입력 후 데이터셋 생성

테이블 추가

만들어진 데이터셋 선택 후 테이블 만들기 선택


각종 정보 입력 후 만들기 선택
=> 테이블 만들 소스 : 업로드(구글 시트나 다른 곳에서 데이터를 가져올거라면 업로드 말고 다른거 선택)
=> 스키마 자동감지 : 빅쿼리는 올릴 테이블을 자동으로 감지해서 컬럼을 만들어 줌(물론 직접 작성할 수도 있다)


생성 완료! 한 번에 여러 테이블을 올릴 수 없으므로, 여러개를 올리고 싶다면 위의 과정을 반복하면 된다





이커머스 비즈니스 지표

매출

  • 매출은 비즈니스 지표에서 가장 중요한 지표.
    매출 = 주문 수 * 건당 주문 금액
    매출 건수와 건당 평균 주문 금액으로 나누어 본 이후에도, 매출 건수에 왜 변화가 생겼는지, 건당 평균 주문 금액엔 왜 변화가 생겼는지 등을 추가로 생각해볼 수 있다
    => ex) 매출건수 증가 -> 신규회원 이벤트 진행. 평균 주문금액 증가 -> 단가 높은 제품 이벤트 진행

    예시)


주문 건수

  • 2. 주문 건수는 아래와 같이 또 한번 나누어 분석해볼 수 있다.
    주문 건수 = 고객 수 * 주문 빈도


    예시)


건당 평균 주문금액

  • 건당 평균 주문금액 또한 더 나누어 분석해볼 수 있다.
    건당 평균 주문금액 = 판매 수량 * 물품 평균 단가


    예시)


매출을 올리려면?

  • 구매수량, 평균 단가, 고객 주문 건수를 늘리는 식으로 세분화해서 전략을 세울 수 있다.






빅쿼리 실습

지표 쪼개어 확인하기

1. 매출 = 주문 건수 * 주문당 평균 금액


2. 주문 건수 = 고객 수 * 고객별 평균 주문 수


-틈새 쿼리 저장하는 법-


3. 총 판매상품 수 = 총 주문건수 * 주문당 평균 상품 수


4. 매출 = 총 판매상품 수 * 제품당 평균 가격

종합 정보 나타내는 테이블 생성하기

나타나야 하는 정보 :
총 매출, 총 주문 수, 총 상품 수, 주문당 평균 가격, 제품당 평균 가격, 주문고객 수, 고객당 평균 주문 수

Step 1. 주문 별 주문 금액, 상품 개수 구하기


Step 2. 주문 정보 테이블에 1번 결과와, 고객 unique ID를 붙이기


Step 3. step2 결과로부터 집계하기



날짜 다루기

 

 

이렇게 날짜 함수를 이용하면, 날짜별로 지표를 뽑을 수도 있을 것이다.


위에서 작성한 종합 결과 쿼리를 연도별 결과를 나타내는 테이블로 수정해보자.



빅쿼리 유용한 함수

  • EXCEPT('제외할 컬럼') : 해당 컬럼은 출력에서 제외됨.
  • REPLACE('대체할 값', AS '컬럼명') : 대체할 값으로 바뀌어서 출력됨.
  • CAST('값' as '데이터타입') : 값을 해당 데이터타입으로 바꿈.
  • SAFE_CAST('값' AS '데이터타입') : 데이터타입을 바꿀 수 없는 값에 대해서 ERROR가 아닌 NULL값을 출력함. 그 외는 CAST와 동일한 함수.
    => SAFE_CAST 외에도 SAFE_ADD, SAFE_DIVIDE 등 SAFE연산은 ERROR가 아닌 NULL을 반환함.
    => SAFE_DIVIDE가 많이 쓰이며, IFNULL과 결합 시 0으로도 사용 가능!



대시보드 제작용 데이터 준비하기


위의 결과를 구글시트로 저장하면, 태블로나 루커 스튜디오에서 대시보드를 제작할 수 있는 데이터가 준비되는 것!