실습 - 주류 산업의 데이터 컨설턴트가 되어보자 - 대규모 데이터의 활용

Ryan·2025년 1월 18일

SQL/Python 분석

목록 보기
80/94

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 상점별 분석

  • 상위 10개 매출 상점의 판매 데이터를 비교하여 인기 제품평균 판매량 파악.
    sql
    복사편집
    SELECT Store_Name, SUM(Sale) AS Total_Sales
    FROM Iowa_Liquor_Sales
    GROUP BY Store_Name
    ORDER BY Total_Sales DESC
    LIMIT 10;
    

5.2 지역별 분석

  • 카운티별 소비량 및 총 판매 금액 비교.
    sql
    복사편집
    SELECT County, SUM(Bottles_Sold) AS Total_Bottles, SUM(Sale) AS Total_Sales
    FROM Iowa_Liquor_Sales
    GROUP BY County
    ORDER BY Total_Sales DESC;
    

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는 데이터 탐색 및 전처리에 유용하게 사용될 수 있습니다. 이번 데이터셋을 통해 대규모 데이터를 다루는 방법과 분석 기법을 연습해 볼 수 있습니다.

0개의 댓글