본문 바로가기

Product Manager/데이터 리터러시

Kaggle에서 이커머스 플랫폼 DB 를 분석해보자 [코드스테이츠 PMB7기]

들어가기 앞서,

현재 코드스테이츠 PMB에서 데이터 분석, UXUI 설계 등 실무 관련 내용을 학습하고 있고, 다양한 실무 스킬 중에서 어떤 영역에서 강점을 가진 PM으로 성장해나가면 좋을지, 어떤 게 나의 강점이 될 수 있을지 탐색해나가는 과정 중에 있다. 현재 데이터 분석 역량과 관련된 내용을 학습하고 있으며, 아직은 실제 서비스 PM으로서 DB를 분석할 수 없기 때문에 오픈되어있는 DB를 재료로 데이터 분석 스킬 학습에 활용한다.

코드스테이츠에서 추천해준 데이터 학습 사이트는 위와 같이 세가지가 있는데, 이번 포스팅에서는 이중에서도 데이터계의 구글이라는 Kaggle을 활용해 이커머스 플랫폼의 DB를 분석해보겠다.

Kaggle이란?

Kaggle 은 데이터 과학자 와 머신 러닝 전문가로 구성된 온라인 커뮤니티입니다 . Kaggle을 통해 사용자는 데이터 세트를 찾아 게시하고, 웹 기반 데이터 과학 환경에서 모델을 탐색 및 구축하고, 다른 데이터 과학자 및 기계 학습 엔지니어와 협력하고, 데이터 과학 과제를 해결하기위한 대회에 참가할 수 있습니다. Kaggle은 2010년 기계 학습 대회를 제공하여 시작했으며 이제는 공개 데이터 플랫폼, 데이터 과학을 위한 클라우드 기반 워크 벤치 및 인공 지능 교육도 제공합니다.

Kaggle이란? ㅡ 위키피디아 더 읽어보기



이전 포스팅(링크)에서는 DB 스키마를 그리고 SQL문을 작성해봤다. 이번 포스팅에서는 아래 순서대로 진행하고, 결론적으로 어떤 데이터 분석 포트폴리오를 어떻게 준비해볼 수 있을지 구상하는 것으로 끝맺을 예정이다.

1. DB 스키마를 파악해 ERD를 직접 그려보기
2. 내가 olist의 PM이라면 해당 DB에서 어떤 질문을 던질 것인가? 이유는?
3. 본 DB 분석을 토대로 데이터 분석 포트폴리오를 제작할 때, 어떤 과정을 수행해야 할까?

SQL을 사용해 데이터 추출하기 [코드스테이츠 PMB 7기]

이번 주제는 SQL과 DB 실습 (이번 포스팅은 빠르게 실습 내용부터!) 1. 고객 데이터 테이블을 확인 후 DB 스키마 정리하기 PMB에서 공유받은 고객 데이터 DB SQL Tryit Editor v1.6 WebSQL stores a Database loca..

soosunnaa.tistory.com



오늘 분석할 DB의 개요/정보를 파악해보자

브라질 이커머스 서비스 "Olist"의 DB

Kaggle에서 본 화면

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

Brazilian E-Commerce Public Dataset by Olist

100,000 Orders with product, customer and reviews info

www.kaggle.com

Brazilian E-Commerce Public Dataset by Olist


어떤 서비스인가?
전자상거래 / 마켓 플레이스
쿠팡과 같이, 판매자와 구매자를 연결해주는 마켓플레이스 서비스이다.

어떤 DB인가?
100,000 Orders with product, customer and reviews info.
2016년부터 2018년까지 10만 건의 주문 정보를 담고 있음.
실제 상업 데이터이나 고객 개인정보 관련 데이터는 익명처리 됨.

제공하는 데이터는 무엇인가?

  • 주문 상태, 가격, 결제 및 화물 성과, 고객 위치, 제품 속성, 고객이 작성한 리뷰
  • 브라질 우편 번호, 지리 위치 데이터 (위도, 경도)

추가적으로 활용 가능한 데이터

Olist 서비스에 관심을 보인 셀러들의 리드 정보, MQL 데이터 이다. 이 데이터 세트는 앞서 살펴본 Olist 주문 관련 DB와 "seller_id"를 사용해 연결 가능하다. kaggle내 설명과 같이 해당 MQL 데이터를 통해 고객 여정 퍼널을 분석해볼 수도 있을 것이다.

즉, 주문 관련 DB와 연결하여 셀러 대상 마케팅 및 세일즈 퍼널 분석을 진행해볼 수 있다

"Marketing Funnel by Olist" DB 스키마


MQL(Marketing Qualified Lead)이란?
브랜드의 마케팅 활동으로 제공된 내용에 관심을 보였거나 혹은 다른 잠재 고객보다 고객으로 전환될 가능성이 높은 잠재 고객. 참여 수준의 고객이 될 가능성이 있음을 보여주는 리드. 서비스 이용에 관심을 갖고 있는 잠재고객을 확인할 수 있다. 판매 기회로 전환되기 위한 리드(SQL) 보다는 일반적인 관심 수준의 리드(MQL)라고 볼 수 있다. 따라서 MQL -> SQL로의 전환을 일으켜야 매출 증대를 이끌어낼 수 있다.

MQL(Marketing Qualified Lead)과 SQL(Sales Qualified Lead) 차이

"차이점을 보여주는 간단한 예를 들어보겠습니다. 여러분이 동네 쇼핑몰의 소매 매장을 둘러보고 있다고 상상해 보십시오. 매장을 둘러보거나 밖에서 진열대를 구경한다면 여러분은 MQL입니다. 이 경우 매장 안으로 들어가 상품에 관심을 표하더라도 아직은 구매 가능성이 낮습니다. 반면 SQL이라면, 필요한 제품이 있는 곳으로 곧장 가거나 도움을 받기 위해 매장 직원을 찾을 것입니다." ㅡ tableau.com 아티클 발췌

MQL 행동의 예
평가판 소프트웨어 또는 무료 ebook 다운로드
소프트웨어 데모 버전 사용
온라인 양식 작성
뉴스레터 구독이나 이메일 수신을 위해 이메일 주소 제출
제품을 즐겨찾기로 지정하거나 위시 리스트에 제품 추가
장바구니에 제품 추가
사이트에 자주 방문하거나 사이트에서 오랜 시간을 보냄
광고를 클릭하여 사이트 방문
자세한 정보를 요청하고자 연락



Olist에서 소개한 셀러 대상 마케팅 및 세일즈 퍼널 구성은 다음과 같다.

#1. 랜딩 페이지에서의 회원가입
#2. 세일즈 개발 담당자(SDR)와 컨택, 정보 확인 후 컨설팅 일정 확정
#3. 세일즈 담당자(SR)과 컨설팅 진행 (이때 거래 완료되거나 고객을 잃을 수도 있음)
#4. 리드(해당 고객)는 판매자가 되어 Olist에서 카탈로그를 구축
#5. 마켓 오픈되어 판매 시작

Landing Page 예시

Olist DB 스키마를 파악하고 ERD를 그려보자


해당 DB는 총 9개의 테이블로 구성된 관계형 DB 이다.

  • olist_order_payments_dataset
  • olist_orders_dataset
  • olist_customers_dataset
  • olist_order_items_dataset
  • olist_products_dataset
  • olist_sellers_dataset
  • olist_geolocation_dataset
  • olist_order_reviews_dataset
  • product_category_name_translation



이때, 아래 두가지 테이블은 각각 customer_zip_code_prefix, geolocation_zip_code_prefix이라는 컬럼을 보유하는데

  • olist_customers_dataset
  • olist_geolocation_dataset

각 컬럼의 속성이 "first 5 digits of zip code"로 동일하기 때문에 (Alias를 지정, Inner Join 하여) 두가지 테이블을 연결, 고객 주문 데이터를 분석하여 지리적 특성 관련 인사이트를 도출해낼 수 있을 것이라고 생각했다. (예를 들면, 지역별 배송 품질과 고객 리뷰 평점 간의 관계성)

때문에 아래 ERD상의 화살표에 해당 내용을 표시해뒀으나, 이게 옳은 표기 방식(모두가 알아보고 이해할 수 있는 표기 방식)인지는 확실하지 않아 PMB 담당 크루님께 질문을 드려볼 생각이다.

파악한 스키마를 바탕으로 직접 그려본 ERD는 다음과 같다.

Olist DB 스키마

그 외 궁금한/알아보고 싶은 사항들

해당 사항들에 대해 이해하기 위해서는 결국, 전자상거래 서비스에 대한 좀더 상세한 이해도가 필요하다고 생각한다.

  • order_payments 테이블의 각 컬럼값에 대해

payment_type 중 boleto는 어떤 지불 방식인지
payment_sequential는 어떤 항목인지
payment_installments는 어떤 항목인지
payment_value는 어떤 항목인지

  • order_items 테이블의 각 컬럼값에 대해

shipping_limit_date 값의 의미
freight_value는 어떻게 적용되는지
(item freight value item (if an order has more than one item the freight value is splitted between items) <- 해당 설명의 의미)


1. 이 데이터에서 어떤 질문을 던져볼 수 있을까?
2. 정말 의미있는 질문일까? 그 이유는?

딱 세가지 질문을 추려봤다.

#1. 셀러 대상 마케팅 및 세일즈 퍼널 중 어떤 단계를 개선해야 할 것인가?

Olist의 경우, 판매자와 구매자 양쪽 유저가 지속적으로 유치해야 하는 마켓 플레이스 서비스이며, 다양한 판매자가 존재할수록 긍정적인 선순환이 발생, 매출의 성장과 서비스의 성장을 이끌어낼 수 있다. 따라서, 더 많은 셀러를 효율적으로 유치할 수 있도록 기존의 마케팅 전략을 개선해야 하는데, 이때 위 질문을 통해 어떤 솔루션이 필요할지 판단하는 근거를 도출해낼 수 있다.


#2. 배송 관련 불만족이 발생하는 지역/카테고리는 무엇인가? 이때 불만족의 디테일한 이유는 무엇인가?

고객 리뷰를 통해 불만족 이유와 지역/제품 카테고리 간의 상관관계를 파악하고 이를 토대로 셀러의 판매 정책을 고도화하기 위한 질문이다. 고객 리뷰 텍스트 마이닝을 통해 배송 관련 불만족 리뷰에 있어 공통적으로 언급되는 요소를 파악하고 주요 요소를 해결하기 위한 솔루션을 도출할 수 있다.


#3. review comment가 구매전환에 기여하는 정도는 어느 정도인가?
만약 의미있는 기여를 하고 있다면 review comment 작성을 유도하기 위해서는 satisfaction survey 과정 중 어느 단계를 개선해볼 수 있는가?

구매 전 제품을 미리 체험해볼 수 없다는 특징을 갖는 전자상거래 영역에서 리뷰는 구매 전환에 있어 강력한 영향력을 갖는 콘텐츠이다. 이는 Olist 에서도 동일하게 작용하리라고 유추되지만, 이를 확실히 하기 위해서는 고객의 review comment가 타 고객의 구매 결정에 있어 어느 정도의 영향을 갖는지 파악해야 한다. 이때 Fullstory 등의 고객 행동 트랙킹 툴을 활용하여 제품 상세페이지에서의 고객 행동 데이터를 파악, 이때 review 섹션에 머무르는 시간, 빈도수를 확인해볼 수 있을 것이다.
또한, order_reviews 테이블의 review_comment_message 칼럼과 orders 테이블의 order_id 칼럼을 함께 분석하여 상관 관계를 파악하고, 이후 구매 완료 고객의 satisfaction survey 과정을 퍼널로 나타내어 이때 review comment 작성을 유도하기 위한 전략을 도출할 수 있다.



본 DB 분석을 토대로
"데이터 분석 포트폴리오"를 만들기 위해서는
어떤 게 필요할까?



결론부터 말하면, 위 과정을 시각적 자료로 나타내고 논리적인 근거와 함께 나의 역량을 설득력있게 풀어낼 수 있어야 한다. 이때 포함되어야 하는 내용들은 다음과 같다.

  • 내가 왜 이 데이터를 분석했는지 "방향성에 대한 설명"
  • 분석 시 작성한 SQL문, 그 결과 확인한 테이블
  • 이를 토대로 한 시각화 자료
  • 문제 및 개선안 제시
  • 개선안 가설 검증 목적의 실험 설계


데이터 분석 포폴 작성을 위해 수행해야 하는 작업을 순서대로 정리한 내용은 다음과 같다.

1. Google BigQuery를 통해 SQL문 작성, 확인하고자 하는 내용을 볼 수 있는 테이블을 출력한다.
2. 시각화 툴을 학습, 시각화 툴을 활용해서 고객 여정 퍼널, 차트를 제작한다.
3. 데이터 시각화 자료와 퍼널 분석으로 문제를 발견, 제시한다.
4. 문제 해결을 위한 가설을 검증하기 위한 실험(A/B 테스트)을 설계한다.

데이터 포폴을 제작하기 위해서는 우선적으로는 Google BigQuery 사용법을 익히고, GA나 Tableau 같은 시각화 툴을 학습해야 한다. 따라서, 이번 7월에는 GA를 우선적으로 학습해보고, 이후 Google BigQuery를 활용 SQL 문을 작성해 실습해보려고 한다.

아직까진 향후 어떤 강점을 가진 PM으로서 커리어를 만들어나갈지 확실히 정하진 못했지만,
제너럴리스트로서 성장하는 것도 주니어 PM의 성장 전략일테다. 🧐


수수나

"어떻게 해야 더 많은 고객을 만족시킬 수 있을까?" 고민을 시작으로 PM에 도전합니다.
코드스테이츠 PM 부트캠프 7기에서의 배움을 시작으로 저만의 관점이 담긴 기록을 쌓아나가고 있습니다.


참고 자료

https://www.tableau.com/ko-kr/learn/articles/marketing-qualified-lead

잠재 고객이 MQL인지 아닌지 구별하는 방법

잠재 고객이 MQL인지 아닌지 구별하는 방법

www.tableau.com