EDA 분석
- 일변량 EDA(Univariate EDA) : 하나의 컬럼에 대해서만 분석
- 구매건에 대한 제품의 가격이 어떻게 분포되어 있는지, 평균 가격, 제일 비싼 가격, 저렴한 가격 등등 확인
- 다변량 EDA(Multivariate EDA) : 두 개 이상의 컬럼을 종합해서 인사이트 종합
- 판매 물건의 가격과 배송비 사이의 관계, 카테고리별 평균 가격, 등등
1. Customers (olist_customers_dataset.csv) EDA
| 컬럼 이름 | 데이터 타입 | 설명 |
|---|
| customer_id | VARCHAR | 고객 고유 식별자 |
| customer_unique_id | VARCHAR | 고객의 고유 ID |
| customer_zip_code_prefix | INT | 고객의 우편번호 앞부분 |
| customer_city | VARCHAR | 고객의 도시 정보 |
| customer_state | VARCHAR | 고객의 주 정보 |
일변량 EDA(Univariate EDA)
다변량 EDA(Multivariate EDA)
1. 도시별 고객 수와 주별 고객 수의 관계

- 상위 10개 도시만을 먼저 뽑앗을 떄, SP 주의 갯수가 가장 많이 포함 되어있는 것을 확인할 수 있다.
- São Paulo와 Rio de Janeiro 의 고객 수가 가장 많은 주요 도시이며, 이들 도시는 브라질에서 매우 중요한 시장임을 알 수 있음.
- 각 주에서 특정 도시에 고객이 집중 되는 경향
2. 고객의 주문 횟수와 지역(주, 도시)간의 상관관계

- 주별 고객 수와 평균 주문 횟수 간의 상관관계 : 주별로 고객 수가 많아지더라도 평균 주문 횟수에는 큰 변확가 없다. 고객 수가 적은 주와 많은 주 모두 평균 주문 횟수가 대체로 비슷한 범위 내에 분포
- 특정 주에서 총 주문 수가 많다 하더라도 고객들이 여러 번 반복해서 구매하는 경향은 상대적으로 고정되어 있음을 의미. 따라서 고객 수가 많은 주에 집중하는 전략보다는 개별 고객의 재구매를 유도하는 것이 중요하다
- 추가적인 마케팅 활동을 통해 특정 주의 고객들로부터 더 높은 재구매율을 유도하는 전략 고려
3. 고객의 구매 행동 분석(RFM 분석) *** 나중에 고려해보길..
R(Recency,얼마나 최근) : 고객이 마지막으로 주문한 시점 데이터를 통해 얼마나 자주 구매 했는지 분석. 이 데이터를 통해 마케팅 활동을 개선 가능
F(Frequency, 얼마나 자주) : 고유 고객 id를 기준으로 고객의 주문 횟수를 분석. 구매 빈도에 따른 고객 세그먼트(충성 고객, 이탈 고객 등) 식별
M(Monetary, 얼마나 많이) : 다른 테이블과 결합하여 고객별 평균 주문 금액 분석 가능
2. Orders (olist_orders_dataset.csv) EDA
| 컬럼 이름 | 데이터 타입 | 설명 |
|---|
| order_id | VARCHAR | 주문 고유 식별자 |
| customer_id | VARCHAR | 고객 테이블과 연결되는 고객 식별자 |
| order_status | VARCHAR | 주문 상태 (배송 완료, 결제 완료 등) |
| order_purchase_timestamp | TIMESTAMP | 고객이 주문한 시간 |
| order_delivered_carrier_date | TIMESTAMP | 운송사가 배송을 시작한 시간 |
| order_delivered_customer_date | TIMESTAMP | 고객에게 최종 배송된 날짜 |
| order_estimated_delivery_date | TIMESTAMP | 예상 배송 날짜 |
일변량 EDA(Univariate EDA)
다변량 EDA(Multivariate EDA)
3. Order Items (olist_order_items_dataset.csv) EDA
| 컬럼 이름 | 데이터 타입 | 설명 |
|---|
| order_id | VARCHAR | 주문 고유 식별자 |
| order_item_id | INT | 주문 내에서의 각 상품의 식별자 |
| product_id | VARCHAR | 상품 고유 식별자 |
| seller_id | VARCHAR | 판매자 고유 식별자 |
| shipping_limit_date | TIMESTAMP | 판매자가 상품을 발송해야 하는 마감일 |
| price | FLOAT | 상품의 판매가 |
| freight_value | FLOAT | 상품의 배송비 |
일변량 EDA(Univariate EDA)
1. 가격의 분포
- 가격컬럼에 대한 히스토그램을 그려 상품 가격분포를 확인.

- 대다수의 값들이 1000 이하에 집중되어 있고, 극소수의 값들이 2000이상으로 나타남
- 사분위수 : Q1(39.9), Q3(134.9),IQR = Q3 - Q1 = 95
- 이상치 하한값 : Q1 - 1.5 * IQR = 음수이므로 의미 없음
- 이상치 상한값 : Q3 + 1.5 * IQR = 277.40
- 따라서 277.40 이상은 모두 이상치
2. 배송비의 분포
- 배송비의 분포. 높거나 낮은 값을 가지고 있는 경우를 찾고, 평균 배송비가 얼마인지 확인

- 평균 배송비는 18.56. 대부분의 배송비는 0-20에서 분포. 평균보다 낮은 값에 위치해 있음.
- 일부 고가의 배송비가 평균을 끌어 올리는 역할을 할 수 있기에 이상치 제거는 스킵
3. 주문 상품 수량의 빈도
- order_item_id 의 고유값 개수를 확인하여 각 주문에서 몇 개의 아이템이 포함되었는지 분석. 예를 들어, 대부분의 주문이 한 개의 상품으로 이루어졌는지, 아니면 여러 상품이 포함된 주문이 있는지 확인

- 대다수의 주문이 한 개의 상품으로 이루어지고, 상품 수량이 많은 주문은 매우 드물다.
- 평균 주문 상품 수는 1.2개로 일부 주문에서 여러 개의 상품이 포함된 경우가 있지만, 그 수는 소수에 불과
4. 판매자별 주문 수 분석
- seller_id 의 빈도수를 분석하여, 가장 많이 주문을 처리한 판매자가 누구인지 확인할 수 있다. 상위 판매자들이 전체 주문의 몇 퍼센트를 차지하는지 알아봄
다변량 EDA(Multivariate EDA)
상관관게

- 가격과 배송비는 약한 상관관계(0.34), 가격이 높을수록 배송비 증가
- order_item_id 와 다른 변수들 간의 상관관계는 매우 약함. 주문 당 아이템 수와 가격, 배송비 사이에 뚜렷한 상관관계 없음

- 가격과 배송비의 산점도 : 가격이 높을수록 배송비 높아짐(일정 수준 이상의 가격에서는 배송비 변화 x)
- 히스토그램 : 각 변수의 분포를 나타내는데, 특히 배송비와 가격은 오른쪽으로 긴 꼬리 가진 비대칭 분포
6. Order Payments (olist_order_payments_dataset.csv) EDA
| 컬럼 이름 | 데이터 타입 | 설명 |
|---|
| order_id | VARCHAR | 주문 고유 식별자 |
| payment_sequential | INT | 각 주문의 결제 순서 숫자 |
| payment_type | VARCHAR | 결제 방식 (신용카드, 현금 등) |
| payment_installments | INT | 할부 개월 수 |
| payment_value | FLOAT | 결제 금액 |

log_payment_value 컬럼은 기존 결제 금액(payment_value) 에 로그 변환을 적용한 값이다. 로그 변환은 비대칭적인 분포나 극단적인 값(이상치)를 처리하고, 데이터의 분포를 더 균형있게 만들기 위해서 사용한다.
일변량 EDA(Univariate EDA)
1. 결제방식의 분포
2. 결제 금액의 분포
3. 할부 개월 수의 분포
다변량 EDA(Multivariate EDA)
1. 결제방식과 결제 금액간의 관계
2. 할부 개월 수와 결제 금액간의 관계
3. 결제 순서와 결제 금액간의 관계