[Project] Online Retail Site Analysis(1)

Soyeon You·2023년 5월 16일
0

Project

목록 보기
1/2

우아한 기술 블로그를 보다가 흥미로운 내용을 발견해서 유사한 프로젝트를 해보려고 시작했다.
https://techblog.woowahan.com/2536/

About Project

Data

log 분석까지 해보고 싶어서 온라인 리테일 사이트의 2년간의 주문 기록 데이터를 사용해보기로 했다.
https://archive.ics.uci.edu/ml/datasets/Online+Retail

Goal

위의 데이터에 대해 분석 방법론 기반 사용자 데이터 분석으로
사이트의 사용자 경험을 개선하는 것이 목표이다.

사실 로그 설계부터 해보고 싶었지만, 이번엔 제공되는 데이터로 분석부터 해보기로 했다.
다음 프로젝트에선 로그 설계도 직접 해보려고 한다.

Exploring Data

데이터가 50만건이나 되다보니 먼저 데이터를 파악해야한다.

retail.head()


각 컬럼에 대한 정보는 데이터를 다운받은 사이트인 UCI에서 확인할 수 있다.

InvoiceNo: Invoice number. Nominal, a 6-digit integral number uniquely assigned to each transaction. If this code starts with letter 'c', it indicates a cancellation.
StockCode: Product (item) code. Nominal, a 5-digit integral number uniquely assigned to each distinct product.
Description: Product (item) name. Nominal.
Quantity: The quantities of each product (item) per transaction. Numeric.
InvoiceDate: Invice Date and time. Numeric, the day and time when each transaction was generated.
UnitPrice: Unit price. Numeric, Product price per unit in sterling.
CustomerID: Customer number. Nominal, a 5-digit integral number uniquely assigned to each customer.
Country: Country name. Nominal, the name of the country where each customer resides.

retail.shape


총 541,909개의 주문 정보와 8개의 column이 있다.

retail.info()


CustomerID를 float에서 int로 바꿀 필요가 있다.
그리고 위에서 확인한대로면 CustomerID랑 Description에 Null이 있다는 걸 알 수 있다.
Description은 그렇다 쳐도 CustomerID가 비어있다면 주문자의 정보가 없는 것이기에 Drop 해야겠다.

retail.describe()


min을 확인해보면 Quantity와 UnitPrice가 음수인 데이터가 있다.
주문수량과 가격은 음수일 수가 없으므로 음수인 경우도 Drop 할 예정이다.


이번 글로 프로젝트의 목표와 사용할 데이터를 간단히 알아보았다.
다음엔 오늘 파악한 내용을 기반으로 데이터 전처리와 쇼핑몰 데이터의 메인인 매출을 중심으로 분석해보자.

0개의 댓글