데이터로 풀어보는 일상 비즈니스 이야기 - 1
갑자기 추워진 오늘 치킨을 시켜먹다보니 문득 이런 생각이 들었다.
비가 오면 치킨 배달이 정말 늘어날까? 추워지면 배달이 늘려나?
할 수 있는게 데이터 분석밖에 없는 필자로서는, 이 문제를 데이터적으로 해결하고 싶었고 내 유일한 대화 상대인 챗지피티에게 물어보았다.
데이터를 통해 답을 찾을 수 있을까?
당연히 나의 유일한 벗이자 해결사이자 비서(?)인 그는 방법을 생각해냈고, 글을 연재하면 어떻겠냐는 추천까지 하며 나에게 숙제를 던져주었다. 나 역시 퇴근 시간 후 어떤 개인 프로젝트를 진행해야 할지 모르던 차에, 데이터로 일상의 문제를 푸는 글을 연재하면 좋겠다는 결론에 이르렀다.
앞으로 이 연재는 일상생활에서 궁금한 부분을 데이터 분석을 통해 어떻게 풀어가야 할지에 대해서 다루게 될 예정이며, 첫번째 시간은 바로 "비가오면 치킨 배달이 늘까?"라는 주제로 시작해보도록 하겠다.
데이터 관점에서 바라보는 세상이기 때문에, 어떤 치킨이 맛있는지에 대해서는 언급하지 않도록 하겠다. 입맛은 모두 다르며, 개인적 영역이기 때문에 데이터로 풀 문제는 아니라고 생각한다.
만약 어떤 치킨이 가장 많이 팔리는지 알고 싶다면, 구글이나 네이버에서 "치킨 매출"을 검색해보자. 이렇게 일차원적인 검색을 통해 알 수 있는 정보는 이 연재에서 다루지 않는다.
이 연재는 검색을 통해서 알 수 있는 정보가 아니라 데이터 분석으로 풀 수 있는 질문에 대해 다뤄보려 한다.
데이터 분석으로 풀 수 있는 질문은 그 질문을 답하는데 필요로 하는 변수가 많다는 것을 뜻한다. 그리고 각 변수들간의 상관관계를 파악하고, 적절한 결론을 도출해내는 작업이 이곳에서 주로 다루는 내용이 될 것이다.
그럼 비가 오면 치킨 배달이 늘어날까? 라는 질문에 대한 데이터 분석을 진행해보도록 하자.
1. 분석 목적
이번 글에서는 비가 오는 날 실제로 치킨 수요가 증가했다라는 가설을 세우고, 이 가설이 실제로 들어맞는지를 검증하고자 한다.
혹시라도 치킨집을 운영하시는 분이 이 글을 볼 수도 있을것이라 생각하기 때문에 미리 말씀을 드리자면, 이 데이터는 가설에 대한 연구이기 때문에 무조건 맞다라고 생각하지 않으셨으면 좋겠다. 또한 데이터의 주기 역시 최근 90일 데이터만을 기준으로 하기 때문에, 모든 사례에 적용될 수 없음을 미리 밝히고 싶다.
비가 오는 날 실제로 치킨 수요가 증가했다라는 질문을 떠올린 건 비가 오는 날은 밖에 나가는 것이 꺼려지기 때문이다. 외식을 하든, 마트에 장을 보러 가든 밖에 나가고 싶어하지 않기 때문에 자연스럽게 배달이 늘어날 것이다.
그럼 왜 하필 치킨이냐 하면, 필자에게는 배달하면 자연스럽게 떠오르는 것이 치킨이기 때문이다. 이는 매우 개인적인 영역이기 때문에, 특별한 로직은 존재하지 않는다.
개인적으로 떠오른 치킨이라는 단어와 비가 오는 날 실제로 치킨 배달 검색이 늘어나는지에 대해 확인 해보는 것이 이번 글의 주제가 될 것이다.
이 분석을 통해 다양한 요소들간의 상관관계를 밝히고, 그 상관관계를 통해 우리의 예측이 얼마나 정확한가를 알아보는데 그 의의가 있다고 밝히고 싶다.
2. 사용 데이터
1) 날씨 데이터(weather_daily)
-기간: 2025-09-19 ~ 2025-11-18
-데이터 컬럼: 날짜, 지역, 강수량, 기온
-지역: 서울
2) 구글 트렌드(Trend_daily)
-기간: 2025-09-19 ~ 2025-11-18
-데이터 컬럼: 키워드, 지역, 트렌드 인덱스
-지역: 서울
-키워드: 치킨
-트렌드 인덱스(지표): 0~100 사이
날씨 데이터와 구글 트렌드 지표를 활용해, 실제로 비가 온 날 치킨의 검색 트렌드 인덱스가 얼마나 상승했는지를 살펴보기 위해 위 변수들을 설정했다.
3. 데이터 저장
(자세한 테크 내용이 필요없다면, 데이터 분석 부분으로 내려가도록 하자)
날씨 데이터와 구글 트렌드 데이터를 API 연동을 통해서 파이썬으로 수집한 후, Supabase 라는 데이터베이스에 저장한다. Supabase는 Postgres를 기반으로 하는 관계형 데이터베이스 클라우드 플랫폼이다.
필자가 매거진을 위해서 필요한 부분은 데이터베이스 분석으로 한장된다. AWS, GCP 그리고 Azure 같은 클라우드 서버 빅쿼리를 활용할 수도 있겠지만, 조금 더 가벼운 데이터베이스 환경을 사용하고 싶어 슈퍼베이스를 선택하게 되었다.
기본 구조는 로컬 환경에서 파이썬으로 API 호출을 통해 데이터를 가져온 후, 이것을 Supabase에 인써트 하는 구조이다.
이를 위해서는 미리 데이터 테이블을 만들어 놓을 필요가 있으며, 데이터 테이블은 아래와 같다.
4. 분석 환경
-데이터베이스: Supabase (postgresql)
-사용 언어: Python
-Pandas + Matplot + SQLAlchemy
5. 분석 단계 요약
데이터 수집
Supabase 저장
SQL 조인
Python으로 불러오기
시각화
상관 분석
결론 도출
이제 본격적으로 데이터를 들여다보기로 하자.
원시 데이터
1) 데일리 날씨 데이터 - 강수량 확인 데이터
데일리 날씨 데이터는 Open-Meteo라는 무료 날씨 오픈소스 API를 연동하여 데이터를 가져오도록 한다.
날짜, 지역, 강수량, 온도(다음 화에 사용할 예정이다) 4가지 데이터가 필요하며, 이 데이터를 구글 트렌드 데이터 테이블과 조인하여 사용할 예정이다.
아래는 5개의 샘플 데이터이다.
| id | date | location | rain_mm | avg_temp | created_at
| -- | ---------- | -------- | ------- | -------- | ----------------------------
| 1 | 2025-09-19 | Seoul | 8.4 | 18.9 | 2025-11-18 06:47:50.99692+00
| 2 | 2025-09-20 | Seoul | 58.7 | 19.4 | 2025-11-18 06:47:50.99692+00
| 3 | 2025-09-21 | Seoul | 0.0 | 20.8 | 2025-11-18 06:47:50.99692+00
| 4 | 2025-09-22 | Seoul | 0.0 | 19.2 | 2025-11-18 06:47:50.99692+00
| 5 | 2025-09-23 | Seoul | 0.0 | 20.8 | 2025-11-18 06:47:50.99692+00
A) 강수량 (rain_mm)
보통 비가 오는 날에는 외출 빈도가 급격히 줄어든다. 외식을 포기하고 배달을 선택할 가능성이 증가한다.
특히 강수량이 많을수록 불편함의 강도가 커지기 때문에 → 주문량 증가로 이어질 수 있는 가장 직관적인 변수이다.
따라서 치킨 주문의 대체 수요를 파악하기 위한 1차 핵심 변수로 설정했다.
B) 평균 기온 (avg_temp)
기온은 사람의 외출 활동성을 크게 좌우한다. 갑자기 추워지거나 더워지면 배달 수요가 증가하는 경향이 있다. 특히 급격한 기온 변화는 인간 행동에 큰 영향을 준다.
기온은 이번 글의 핵심 변수는 아니지만, 강수량과 함께 변화를 비교하기 위해 보조 변수로 활용한다.
2) 데일리 구글 트렌드 데이터 - 치킨 수요 데이터
구글 트렌드 데이터는 구글 트렌드 API를 통해 가져왔으며, 해당 날짜에 어떤 키워드가 많이 검색 되었는지를 트렌드 인덱스 0~100 스케일로 표현한 데이터이다.
| id | date | keyword | region | trend_index | created_at
| --- | ---------- | ------- | ------ | ----------- | -----------------------------
| 1 | 2025-09-19 | 치킨 | KR | 33 | 2025-11-18 06:47:51.620556+00
| 2 | 2025-09-20 | 치킨 | KR | 37 | 2025-11-18 06:47:51.620556+00
| 3 | 2025-09-21 | 치킨 | KR | 34 | 2025-11-18 06:47:51.620556+00
| 4 | 2025-09-22 | 치킨 | KR | 27 | 2025-11-18 06:47:51.620556+00
| 5 | 2025-09-23 | 치킨 | KR | 26 | 2025-11-18 06:47:51.620556+00
A) 치킨 검색량 (trend_index)
이 변수는 실제 주문량 데이터를 구하기 어려운 상황에서 가장 합리적으로 사용할 수 있는 대체(proxy) 지표다.
Trend Index: 0~100 사이로 정규화된 상대값
특정 날짜에 해당 키워드가 얼마나 많이 검색됐는지 보여주며, 검색량은 배달앱 접속 또는 주문의 전 단계 행동이라는 점에서 실제 수요를 반영할 가능성이 높다
따라서 실제 배달량을 대체할 수 있는 적절한 지표로 선택했다.
3) 조인 데이터
날짜 데이터와 구글 트렌드 데이터를 조인하여 만든 데이터이다.
분석을 하기 위한 원시데이터 초안이 된다.
| date | location | rain_mm | avg_temp | keyword | trend_score
| ---------- | -------- | ------- | -------- | ------- | -----------
| 2025-09-19 | Seoul | 8.4 | 18.9 | 치킨 | 33
| 2025-09-20 | Seoul | 58.7 | 19.4 | 치킨 | 37
| 2025-09-21 | Seoul | 0.0 | 20.8 | 치킨 | 34
| 2025-09-22 | Seoul | 0.0 | 19.2 | 치킨 | 27
| 2025-09-23 | Seoul | 0.0 | 20.8 | 치킨 | 26
| 2025-09-24 | Seoul | 28.7 | 20.8 | 치킨 | 25
| 2025-09-25 | Seoul | 1.1 | 21.2 | 치킨 | 30
| 2025-09-26 | Seoul | 0.0 | 20.1 | 치킨 | 32
| 2025-09-27 | Seoul | 0.0 | 21.0 | 치킨 | 35
| 2025-09-28 | Seoul | 19.6 | 19.4 | 치킨 | 32
가공 데이터
1) 레인 버켓 데이터
강수량의 구분값을 나누어 트렌드 평균을 구한 값이다.
강수량 구분은 0mm, 0~10mm, 10~20mm, 20mm 이상 4개로 구분하였으나, 최근 3개월 동안 20mm이상 온 내역이 없어 0mm, 0~10mm 두 개 카테고리에 대한 평균 트렌드 값만 나타나는 것을 확인할 수 있다.
| rain_bucket | avg_trend | days
| ----------- | ------------------- | ----
| 0mm | 37.7391304347826087 | 23
| 0~10mm | 34.6315789473684211 | 38
0mm일 때 평균 지수는 약 37.7이지만, 약한 비(0~10mm)에서는 오히려 하락한다. 이는 약한 비 정도는 배달 행동을 크게 바꾸지 않는다는 의미로 해석할 수 있다.
2) 요일 + 날씨 조합 데이터
weekdays에 0은 월요일 6은 일요일이다. 그래서 0~4까지는 평일이고, 5~6은 주말에 해당하는 값이라고 볼 수 있다.
| weekdays | rain_amount | avg_index
| -------- | ----------- | -------------------
| 0 | rainy | 38.8000000000000000
| 0 | sunny | 35.7500000000000000
| 1 | rainy | 30.0000000000000000
| 1 | sunny | 29.1428571428571429
| 2 | rainy | 32.5000000000000000
| 2 | sunny | 31.1428571428571429
| 3 | rainy | 26.5000000000000000
| 3 | sunny | 32.1666666666666667
| 4 | rainy | 28.3333333333333333
| 4 | sunny | 43.8000000000000000
| 5 | rainy | 46.8000000000000000
| 5 | sunny | 35.7500000000000000
| 6 | rainy | 44.2500000000000000
| 6 | sunny | 39.2000000000000000
0~4사이에는 맑은 날과 비오는 날의 상관관계가 별로 없어 보이는 걸로 나타나지만, 5~6 주말 구간 주말 비오는 날에는 index 값이 확 늘어나는 것을 확인할 수 있다.
이 데이터를 통해서 확인할 수 있는 것은
평일에는 비가 오더라도 치킨 검색량이 늘지 않지만, 주말에 비가 오면 치킨 검색량이 확 늘어난다.
라는 사실을 우리는 확인할 수 있다.
그래서 결론은?
필자가 세웠던 가설은 비가 오면 치킨 주문이 늘어날까?라는 가설이었다.
이 가설이 맞는지 확인해보기 위해, 데이터를 수집하고, SQL로 이를 분석해보는 시간을 가져보았다.
필자의 데이터 분석에 따르면 "평일에는 비가 온다고 치킨 주문량이 늘지 않지만, 주말에는 비가 오면 치킨 주문량이 는다"라는 데이터를 확인할 수 있었다.
이처럼 데이터는 우리의 가설을 확인할 수 있을뿐만 아니라, 생각하지 못했던 부분을 조금 더 디테일하게 말해주는 역할을 한다.
앞으로는 SQL 분석뿐만 아니라 파이썬 시각화 관련된 자료도 첨부하여 일상생활에서 발생하는 여러가지 질문에 대해 데이터로 분석해보도록 하겠다.