top of page

[데이터 분석] E-Commerce (세포라) 크롤링 : 머신 러닝으로 제품 판매 예측하기


Original Article by Heather Kleypas (NYC Data Science Academy Blog)

Translated by JJ Hwang

세포라는 미국에서 가장 큰 뷰티 제품 리테일 중 하나이며, 다양한 화장품, 스킨케어, 헤어케어, 향수 등의 제품들을 취급하고 있습니다. 본 포스팅은 sephora.com을 웹 크롤링하여 수집한 7,400개 제품 데이터를 기반으로 하고 있습니다.

아래 이미지는 세포라 커머스 사이트의 예시가 되는 제품 페이지를 캡처한 것이며, 주요 수집 대상이 되는 항목은 노란색 테두리로 표시하였습니다.


크롤링으로 수집한 데이터 항목


​크롤링은 2단계로 이루어졌습니다. 먼저 브랜드 페이지에 접근한 후, 각 브랜드 페이지에 수록된 개별 제품 페이지에 접근하는 방식입니다. 이후 개별 제품의 (1) 제품명 (2) 브랜드명 (3) 좋아요 (4) 카테고리 (5) 댓글 (6) 평점 (7) 가격 (8) 제품 상세 설명 등의 요소들을 수집하였습니다.​


제품 상세 설명의 텍스트 분석을 통해 아래의 데이터들도 추가적으로 확보할 수 있었습니다.​


1. 피부 타입 : 지성, 건성, 중성, 복합

2. 연구 결과 : 제품에 관련된 연구 내용과 결과

3. 피부과 전문의 검증 : 피부과 전문의의 검증 여부 및 결과

4. 특정 성분 미사용 : 소비자가 우려하는 파라벤, 프탈레이트, 오일, 알코올 등의 성분 배제 여부

5. 식물성 : 동물 실험을 하지 않았는지 여부와 동물성 성분을 배제했는지 여부

6. 세포라 퓨어 라인 : 특정 유해 우려 성분을 사용하지 않은 제품임을 세포라가 보장​


평점과 댓글에 대한 데이터는 아래 이미지와 같습니다.

분석과 시각화


​● 평점의 분포는 어떠한가?


대부분의 평점이 4점 또는 5점이지만, 일부 1점 또는 2점을 받은 제품도 존재합니다.


● 댓글의 수 및 평균 평점과 좋아요 수 및 추천율의 상관관계


댓글의 수, 좋아요, 평점, 추천율의 상관관계에 대한 인사이트는 아래와 같습니다.

- 좋아요 수와 댓글의 수는 부의 상관관계이다.

- 추천율과 댓글의 수는 약한 정의 상관관계이다.

- 좋아요 수와 평균 평점은 정의 상관관계이다.

- 좋아요 수와 추천율은 약한 정의 상관관계이다.


● 50개 이상의 제품을 판매하는 브랜드


총 316개 브랜드 중에서 상위 30여개 브랜드 만이 50개 이상의 제품을 판매하는 것으로 파악되었습니다.


● 피부 타입 별 제품 비율



건성 피부를 타겟으로 한 제품 비율이 가장 높음을 알 수 있습니다. 이후 복합 피부, 중성 피부, 지성 피부 순입니다.


● 제품 카테고리와 성분 (특정 성분 미사용 라인, 식물성 라인, 세포라 퓨어 라인)의 관계


주요 카테고리인 남성 카테고리와 네일 카테고리에서 특정 성분 미사용 라인이나 식물성 라인 관련 언급이 거의 없다는 점이 놀랍습니다. 아래 특정 성분 미사용 라인에 대한 표를 살펴보겠습니다.


향수와 화장솔 카테고리를 제외하면 특정 성분 미사용 라인에 대한 관련도가 높다는 것이 긍정적입니다. 하지만 식물성 라인 및 퓨어 라인 관련 제품의 확대를 위해 화장품 산업이 노력해야 할 여지가 더 많은 것 같습니다.


머신 러닝


​머신 러닝을 접목하여 평균 평점과 추천율을 예측하는 것이 본 포스팅의 또 하나의 과제입니다. 파이썬의 사이킷-런 (scikit-learn) 라이브러리를 통해 접근하기 쉬운 선형 모델과 의사결정트리 모델을 활용하였습니다.​


선형 모델을 위해서는, 모형 복합성과 다중 공선성의 회피를 목적으로 리지 회귀와 라소 회귀의 조합인 일래스틱넷 (ElasticNet)을 활용하고, 동시에 최소 변수 선택을 실행하였습니다. 상이한 알파의 활용 대신 교차 검증 (cross-validation)을 시행하여 모델을 최적화하였습니다.​


의사결정트리 모델에 대해서는 XG부스트(eXtreme Gradient Boosting)를 활용하였습니다. XG부스트 라이브러리는 빠르고 정확한 그래디언트 부스팅(Gradient Boosting) 의사결정모델을 가능하게 해 줍니다. 이를 좀 더 상세히 설명하면 의사결정트리는 공간을 더 작은 하위 공간으로 나누는 작업을 통해 데이터에서의 비선형성을 포착하는 데 강점이 있습니다. 그래디언트 부스팅은 새로운 모델이 생성되었을 때, 이전 모델의 나머지나 오류를 예측하는 접근법이자 궁극의 예측을 위해 이러한 것들을 추가하는 접근법입니다.​


최종 모델 수행 전, learning late, minimum child weights, minimum samples split, minimum samples leaf, the number of estimators와 같은 하이퍼파라미터에 광범위한 교차 검증을 실시한 덕에 모델 에러율을 낮출 수 있었습니다.​


1. 평균 평점 예측


가장 큰 특징은 신제품일수록 비정상적으로 높거나 낮은 평균 평점 및 추천 점수를 보유하고 있다는 것입니다. 이를 조정하기 위해 댓글이 150개 미만인 제품들은 분석에서 제외하였습니다.​


XG부스트


놀랍게도 평균 평점에 영향을 주는 가장 큰 요인은 댓글의 수였으며, 이후 좋아요 수, 가격, 제품 크기 등이 이어집니다. 특정 브랜드나 특정 제품도 평균 평점이라는 측면에서 두드러진 경향을 보입니다. 제품 상세 설명에서는 “특정 성분 미사용”, “연구 결과”, “올 스킨”과 같은 요소가 주요한 변수였음을 알 수 있습니다.


일래스틱넷


일래스틱넷을 활용하여 114개의 요소는 선택하고 402개의 요소는 제거하였습니다. 그래프의 상위 15개 요소는 정의 관련성을 갖는 변수, 하위 10개 요소는 부의 관련성을 갖는 변수를 보여줍니다. 본 일래스틱넷 모델에서 브랜드와 카테고리를 제외하고 가장 유의미한 변수는 “할인된 정도”인데 이는 가격 할인을 의미하는 것이 아니라 번들팩 등의 구성으로 낮은 가격에 많은 양을 제공하는 세트를 의미합니다. 댓글의 수, 좋아요, 제품 크기의 중요성이 떨어진다는 면에서 일래스틱넷이 XG부스트와는 많은 차이가 있음을 알 수 있습니다.

2. 제품 추천율 예측

추천율만을 내포하고 있는 제품에 모델을 집중하기 위해 6,000개 정도의 제품을 제거하고 1,500개 정도의 제품만을 대상으로 작업을 수행했습니다.

XG부스트



평균 평점과 유사하게, 추천율에 중요한 변수는 가격, 좋아요, 댓글입니다. 제품 상세 설명 데이터에서는 “식물성”과 “특정 성분 미사용”의 두 변수만이 주요 30개 항목 내에 들어 있습니다. 87%의 예측율과 85%의 추천율에 오차는 2%~3% 수준입니다만, 추가적인 변수를 더 많이 수집하여 분석에 활용하면 오차를 줄일 수 있을 것입니다.


일래스틱넷


일래스틱넷을 활용하여 65개의 요소는 선택하고 458개의 요소는 제거하였습니다. 일래스틱넷 모델에서는 현재까지 평점 4점과 평점 5점의 비율이 제품 추천에 가장 큰 영향을 끼치는 것으로 분석되었습니다. 이 또한 87%의 예측율과 85%의 추천율에 오차는 2% ~ 3% 수준입니다.


결과 정리


결론


​머신 러닝을 통해 평균 평점과 제품 추천율을 예측해 보았습니다. 본 연구에서 제품 판매가격 예측이 유의미한 인사이트를 얻지 못한 점이 아쉽습니다. 향후 구매자의 댓글을 모두 수집하여 분석하면 제품 추천율, 제품 판매량, 제품 판매가격 예측의 정확도를 더욱 높일 수 있을 것으로 기대합니다.


=========================

데이터 수집/정제/분석/시각화에서 최고의 서비스를 제공합니다.

지금 바로 홈페이지를 방문하셔서, 문의 요청해 주십시오!







Comments


bottom of page