Kaggle: Iowa Liquor Sales 데이터 분석
데이터 분석을 처음 배울 때, 적합한 데이터셋을 선택하고 이해하는 것은 매우 중요합니다. 이번 글에서는 Kaggle에서 제공하는 Iowa Liquor Sales 데이터셋을 소개하고, 이 데이터를 활용해 상점별, 제품별 판매량을 분석하는 방향성을 제시합니다.
1. Iowa Liquor Sales 데이터셋 개요
1.1 데이터셋 설명
- 이 데이터셋에는 2012년 1월 1일부터 현재까지, 아이오와주에서 판매된 주류의 구매 정보가 포함되어 있습니다.
- 데이터는 주류 면허 소지 상점에서의 개별 제품 판매량 및 구매 일자별로 기록되어 있습니다.
- 상점별 판매 데이터를 분석하여 특정 지역의 소비 패턴을 이해하거나, 주류 카테고리별 매출을 비교할 수 있습니다.
참고:
데이터는 주로 상업 시설에서 외부 소비용 주류를 판매한 정보를 포함하고 있으며, 식료품점, 편의점, 주류 전문점 등이 포함됩니다.
2. 데이터 상세 정보
2.1 주요 컬럼
- 주문 및 제품 정보
- Invoice/Item Number: 고유 주문 번호
- Date: 주문 날짜
- Category, Category Name: 제품 카테고리 정보
- Item Number, Item Description: 제품 번호 및 상세 설명
- Bottle Volume (ml): 병의 용량 (단위: 밀리리터)
- 판매 금액 관련
- State Bottle Retail: 병당 판매 가격
- Bottles Sold: 판매된 병의 수
- Sale (Dollars): 총 판매 금액 (병당 판매가 × 판매 병 수)
- 상점 위치 정보
- Store Number: 상점 고유 번호
- Store Name, Address: 상점 이름 및 주소
- City, County, Zip Code: 상점이 위치한 도시, 지역, 우편번호
- Store Location: 상점의 좌표 정보 (위도, 경도)
2.2 데이터 활용 방향
- 상점별 판매량 분석: 특정 상점의 총 매출이나 인기 제품을 파악합니다.
- 지역별 소비 패턴: 도시나 카운티 단위로 주류 소비 특성을 비교합니다.
- 제품 카테고리별 분석: 제품 카테고리별 매출 기여도를 확인합니다.
3. 데이터 크기와 분석 환경
3.1 데이터 크기
- 이 데이터셋은 6.35GB로, 일반적인 분석 초보자용 데이터셋과 비교해 매우 큰 크기를 자랑합니다.
- 예:
- iris.csv (5.11KB): 1,300배 차이
- titanic.xls (284.16KB): 약 23배 차이
- 일반적인 Excel에서는 데이터를 처리할 수 없으므로, Python(Pandas), SQL, 또는 Spark와 같은 도구를 사용해야 합니다.
3.2 데이터 처리 도구
- Apache Spark: 대규모 데이터를 효율적으로 처리하고 분석할 수 있는 분산 데이터 처리 엔진.
- Python Pandas: 데이터 탐색 및 전처리에 적합한 라이브러리.
- SQL(MySQL): 관계형 데이터베이스에서 데이터를 추출, 분석할 때 유용.
4. 데이터 분석 시 고려사항
4.1 데이터 전처리
- 결측치 처리:일부 상점 정보(위도/경도 등)가 누락된 경우 대체하거나 제외.
- 날짜 정리:날짜 데이터를 연도별, 월별, 또는 주별로 집계해 분석.
- 제품 정보 통합:동일한 카테고리의 제품을 묶어서 분석.
4.2 데이터 크기 관리
- 전체 데이터를 한 번에 처리하는 대신, 필요한 필드나 조건으로 데이터를 필터링한 후 분석.
- 예: 특정 연도, 특정 카테고리, 특정 지역 데이터를 추출하여 작업.
- Spark 또는 SQL의 분산 처리 기능을 적극 활용.
4.3 분석 방향
- 상점별 매출 분석:가장 높은 매출을 기록한 상점을 찾고, 해당 상점의 인기 제품 파악.
- 지역별 소비 패턴:아이오와 주의 카운티별 주류 소비량 비교.
- 트렌드 분석:연도/월별 매출 트렌드 파악 및 시즌별 소비 패턴 도출.
5. 데이터 활용 아이디어
5.1 상점별 분석
5.2 지역별 분석
5.3 트렌드 분석
- 연도별 매출 변화를 시각화하여 성장률 또는 감소율을 계산.
python
복사편집
import pandas as pd
import matplotlib.pyplot as plt
data['Year'] = pd.to_datetime(data['Date']).dt.year
yearly_sales = data.groupby('Year')['Sale (Dollars)'].sum()
yearly_sales.plot(kind='bar', title='Yearly Sales Trend', color='skyblue')
plt.show()
6. 결론
Kaggle의 Iowa Liquor Sales 데이터셋은 상점별, 제품별, 지역별 주류 판매 데이터를 분석하는 데 매우 적합한 대규모 데이터셋입니다. 이를 활용하면 소비 트렌드, 지역별 매출 특성, 상점 간 비교 분석 등의 인사이트를 얻을 수 있습니다.
데이터 크기가 크므로, 효율적인 분석을 위해 Spark와 SQL을 활용하는 것이 중요하며, Pandas는 데이터 탐색 및 전처리에 유용하게 사용될 수 있습니다. 이번 데이터셋을 통해 대규모 데이터를 다루는 방법과 분석 기법을 연습해 볼 수 있습니다.