코드잇 스프린트/미션 & 프로젝트

베이커리 구매 패턴 분석을 통한 운영전략 구상

JOHAWK 2024. 12. 2. 22:32

안녕하세요, 이번에는 EDA와 연관 분석을 활용해 베이커리를 구매하는 사람들이 같이 구매하는 메뉴가 무엇인지 확인하고 이에 따른 운영 전략을 구상해보았습니다.

베이커리 구매 패턴 분석을 통한 운영전략 구상

목차

1. 데이터 전처리

2. EDA

1) 월별 거래 수

2) 판매 물품

3) 요일별 거래 수

4) 시간 및 품목별 거래 수

3. 연관분석

4. 종합

5. 후기

 

1. 데이터 전처리

이번 분석은 캐글에서 제공하는 Bakery Sales Dataset 데이터셋을 사용했습니다. 해당 데이터는 영국 에든버러의 한 베이커리에서 발생한 트랜잭션(transaction) 정보가 담겨있습니다.

변수명 설명
Transaction 거래 ID
Item 구매한 제품명
date_time 거래 날짜 및 시각
period_day 아침/오후/저녁/밤 중 언제 구매했는지 여부
weekday_weekend 주중/주말 중 언제 구매했는지 여부

 

데이터를 면밀히 살펴보기 위해 date_time을 세부적으로 나눴습니다.

# DateTime 컬럼의 데이터타입을 DateTime으로 변환 후 연월일 분리
bakery['DateTime'] = bakery['DateTime'].astype('datetime64[ns]')
bakery['year'] = bakery['DateTime'].dt.year
bakery['month'] = bakery['DateTime'].dt.month
bakery['day'] = bakery['DateTime'].dt.day
bakery['hour'] = bakery['DateTime'].dt.hour
bakery['dayofweek'] = bakery['DateTime'].dt.strftime("%A")
bakery.describe(include='all')

 

월별로 판매량을 살펴봤을 때, 다른 기간에 비해 2016년 11월 ~ 2017년 3월까지 기간에서 거래량이 매우 많았습니다. 그 이유에 대해 여러 방면으로 생각하고 리서치를 실행했습니다. 그리고 브렉시트로 인한 물가 상승이 크게 발생했으나 빵은 상승폭이 크지 않아 사람들이 많이 샀다는 결론을 내렸습니다. 그래서 2016년 11월 ~ 2017년 3월은 특수 시즌, 그 외 기간은 일반 시즌으로 정의했습니다. 그리고 추후 분석은 일반 시즌과 특수 시즌을 나누어서 진행했습니다.

 

(사실, 특수 시즌이 정상적으로 데이터가 남은 것이고 일반 시즌이 한 달 중 15일 미만의 데이터만 남은 것입니다. 캐글에서도 초창기에는 위 데이터와 같은 모습을 보였으나 중간부터 특수 시즌만 남긴 데이터셋으로 수정되었습니다.)

 

 


2. EDA

1) 월별 거래 수

특수 시즌과 일반 시즌의 월별 거래 수를 비교했습니다. 특수 시즌과 일반 시즌 간 차이는 존재하지만 같은 시즌에서는 유의한 월별 판매량 차이가 존재하지 않았습니다.

 


2) 판매 물품

판매한 품목들을 살펴보면 정말 다양한 물건들을 팔고 있었습니다. 일반적인 빵이나 음료부터 가방, 셔츠, 바우처 등 베이커리와 직접적인 연관이 없을 것 같은 물건들이 있습니다.

 

인기 품목을 살펴보면 모든 시즌에서 커피, 일반 빵, 차, 케이크, 페이스트리가 인기있었습니다. 인기 품목들을 봤을 때 카페처럼 운영되는 베이커리라는 것을 알 수 있었습니다.

 

비인기 품목은 빵집의 스키마와 관련이 없는 제품들이 다수를 차지했습니다. 치미추리 오일, 꿀, 베이컨, 살라미, 가방 등 종합 마트의 스키마와 가까운 물품들이 많았습니다.

 


3) 요일별 거래 수

요일별 거래 수는 특수 시즌과 일반 시즌에서 차이가 있었습니다.

특수 시즌에서는 토요일과 금요일에 거래량이 많았고, 일반 시즌에서는 월요일과 일요일에 거래량이 많았습니다.

즉, 특수 시즌은 주말을 준비 & 시작을 하면서 거래량이 많았고, 일반 시즌은 주중을 준비 & 시작하면서 거래량이 많아졌습니다.

이런 결과에 대한 해석을 아래 표에 작성했습니다.

시즌 거래량이 많은 요일 해석
일반 일요일, 월요일 주말 이후 몸과 마음이 모두 피곤해진 월요병... 간단하게 베이커리로 해결
특수 금요일, 토요일 물가가 상승한 특수 시즌은  비싼 외식을 자제하기 위해 주말에 베이커리의 거래량이 많아짐

 


4) 시간 및 품목별 거래 수

두 시즌 모두 오후 4시부터 거래 수가 급감하는 모습을 보여 영업 시간을 6시 전에 마무리하는 것을 조언할 수 있을 것 같습니다.

오전에는 페이스트리가 인기가 있지만, 오후에는 차와 케이크가 인기가 많았습니다.

오전과 오후에 인기 품목이 다른 이유는 크게 두 가지를 제시할 수 있을 것 같습니다.

  1. 인기가 많은 페이스트리는 오전에 다 팔려 재고가 떨어지고 대체품인 차와 케이크의 거래량이 증가할 수 있음
  2. 차와 케이크는 오후에 즐기는 디저트일 수 있음

하지만 영국은 early morning tea(기상 직후), breakfast tea(아침 식사), elevens tea(11시), afternoon tea(16시) 등 차문화가 발달했기 때문에 2번 해석은 설득력이 약합니다. 따라서 1번으로 가정을 하고 분석을 진행하겠습니다.

 


3. 연관분석

본격적인 연관 분석을 하기 전, 거래 1회 당 구매한 평균 품목 수가 2개라는 것을 확인해 사람들이 여러 품목들을 동시에 구매하는 것을 확인했습니다.

 

연관 분석은 Apriori 알고리즘을 적용해 최소 지지도 0.05, 향상도 최소 역치를 0으로 설정하고 실시했습니다.

 

최소 지지도 이상을 기록한 빈발항목집단을 탐색한 결과, 특수 시즌에서의 빈발항목의 수는 12개, 일반 시즌에서의 빈발항목 수는 11개로 그 수는 유사했습니다.

 

두 시즌 모두 일반빵과 커피의 향상도가 0.57로 둘 중 하나를 집으면 다른 하나도 같이 구매할 확률이 감소했습니다. 반면, 케이크 + 커피나 페이스트리 + 커피 등 이름이 있는 빵과 커피는 양의 상관관계를 가지고 있는 것을 확인했습니다.

 

 


4. 종합

지금까지 분석 결과를 종합하고 얻은 인사이트는 다음과 같습니다.

  • 판매물품: 베이커리의 정체성에 맞지 않는 메뉴는 비인기 품목이었습니다. 그렇기 때문에 베이커리의 정체성에 맞는 메뉴만 판매해야 합니다.
  • 생산량
    • 특수 시즌에는 금~토요일에 집중적으로 생산량을 늘리고, 일반 시즌에는 일~월요일에 생산량을 늘려야 합니다.
    • 그리고 인기가 많은 페이스트리의 생산량을 높일 필요가 있습니다.
  • 영업시간
    • 출근~점심시간에 판매가 집중되어 있습니다. 그러므로 오전 8시부터 영업을 싲가하고 거래량이 급감하는 16~18시 사이에는 영업을 종료해야 효율적인 영업을 할 수 있습니다.
  • 세트메뉴
    • 연관 분석 결과, 커피와 어울리는 베이커리 메뉴가 존재합니다. 그렇기 때문에 베이커리는 커피와 어울리는 디저트 메뉴를 발굴할 필요가 있습니다.
    • 그리고 해당 디저트를 먹으러 오는 손님에게 '스페셜 & 커피' 세트를 판매하거나 해당 디저트를 구매하면 커피를 할인해주는 조건부 할인 프로모션을 적용할 수 있습니다.

 

분석을 진행하면서 느꼈던 한계점은 고객 ID, 가격과 같은 정보가 부족해 깊이 있는 분석을 하지 못했습니다. 이 문제를 해결하기 위해서는 해당 정보들을 포함해 데이터를 수집해야 합니다.

 

 


 

5. 후기

연관 분석이란 개념을 처음 배웠고, 실제로 적용해보면서 실제 데이터에서는 결과들이 깔끔하게 나오지 않는다는 것을 느꼈습니다. 그리고 지지도가 높으면 조건부 할인 프로모션이 유용하고, 향상도가 높으면 세트메뉴를 판매하는 것이 유용하다 등 지지도와 향상도의 수준에 따라 적용할 수 있는 전략이 다르다는 것도 알게 되었습니다.