01. 개요
•
Bellabeat은 2013년부터 여성들의 건강 중심 스마트 제품을 제작해온 하이테크 스타트업입니다.
•
공동 창업자 Urška Sršen은 Fitbit 사용자 데이터 분석을 통해 Bellabeat의 성장 기회와 마케팅 전략에 도움이 되는 인사이트를 찾을 수 있다고 확신하고 있습니다.
•
분석가는 이를 통해 여성 맞춤형 제품 기획, 고객 세분화 기반 마케팅 전략, 사용자 경험 개선 포인트를 도출해야 합니다.
•
2016년 Fitbit 데이터를 활용해 사용자 활동·수면·심박수 패턴을 탐색하고,
•
이를 바탕으로 Bellabeat 제품/서비스 혁신과 고객 유지 전략에 기여할 수 있는 결과물을 만들어야 합니다.
•
Urška Sršen: Bellabeat 공동 창업자 및 최고 창의 책임자
•
Sando Mur: Bellabeat 공동 창업자이자 수학자
•
Bellabeat 마케팅 분석팀: Bellabeat의 마케팅 전략을 이끄는 데이터 분석가 팀
02. 배경
그냥 교양상식정도로 슥 읽으시면 됩니다! 이번 과제에서 중요한 내용 아님!
일반적으로 헬스케어와 데이터 분석은 현재 의료 산업에서 필수적인 역할을 하고 있습니다. 의료 분야는 방대한 양의 데이터를 생성하는데, 여기에는 전자 건강 기록(EMR), 진단 이미지, 유전자 데이터, 환자의 행동 패턴 등이 포함됩니다.
•
맞춤형 의료
◦
데이터 분석을 통해 개인의 유전자 정보, 생활습관, 환경적 요인 등을 종합적으로 분석하여 맞춤형 치료 방안을 제공할 수 있습니다.
•
질병 예측 및 예방
◦
머신러닝 및 AI 기반의 분석을 통해 대규모 건강 데이터를 분석하여 질병의 조기 발견 및 예측이 가능해집니다.
•
비용 절감 및 효율성 향상
◦
데이터 분석은 병원 운영 효율성을 높이고 불필요한 비용을 줄이는 데 기여합니다.
•
환자 만족도 향상 및 치료 효과 개선
◦
환자의 데이터 분석을 통해 치료 성과를 보다 정확하게 모니터링하고, 환자 중심의 치료 계획을 수립할 수 있습니다.
•
의료 사기 탐지
◦
의료 사기 탐지는 보험 청구나 불필요한 의료 서비스 제공을 방지하는 데 중요한 역할을 합니다.
•
신약 개발 및 연구
◦
과거의 임상 실험 데이터를 바탕으로 잠재적인 치료제를 예측하거나, 다양한 조건에서 약물의 효능을 평가할 수 있습니다. 이는 신약 개발 시간을 단축하고, 더 효과적인 치료제를 개발하는 데 기여할 수 있습니다.
하지만, 이러한 데이터는 병원에서 얻는 대규모 데이터를 바탕으로 이루어지며 일반적인 기업이나 스타트업에서 구하기 어려운 데이터들이 많습니다.
이와 다르게 고객과 밀접한 스마트 워치와 같은 스마트 기기로 부터 수집된 기기의 데이터를 분석할 수도 있고 이런 데이터를 바탕으로 개인의 건강에 더욱 기여할 수 있습니다. 이런 경우 다음과 같은 목표를 이루어볼 수 있습니다.
•
고객 맞춤형 제품 개발
◦
스마트워치의 데이터를 분석해 고객의 활동 패턴, 건강 상태, 운동 습관 등을 파악하여 맞춤형 기능 및 제품을 개발할 수 있습니다.
•
사용자 경험 개선
◦
사용자 데이터를 기반으로 제품의 UX/UI를 개선해 사용자 친화적인 인터페이스를 제공할 수 있습니다.
•
마케팅 전략 강화
◦
데이터를 활용해 특정 사용자 그룹의 니즈를 파악하고, 타겟 마케팅을 통해 더 효과적인 프로모션 전략을 수립할 수 있습니다.
•
예측 및 분석 서비스
◦
고객의 건강 상태나 운동 패턴을 기반으로 예측 모델을 만들어 건강 개선 조언, 맞춤형 운동 프로그램 제공 등의 새로운 서비스를 제공할 수 있습니다.
•
장기적인 고객 관계 강화
◦
스마트워치 데이터는 지속적인 고객 피드백과 연결되어, 제품의 유지 보수 및 서비스 개선을 통해 장기적인 고객 관계를 강화할 수 있습니다.
03. 주제
필수과제에서 분석할 데이터는 오직 dailyActivity_merged.csv 입니다.
이외 파일인 sleepDay_merged.csv, heartrate_seconds_merged.csv 등은 필수과제가 끝나고 심화과제를 수행할때 필요시 활용합니다.
•
데이터 EDA(Exploratory Data Analysis) 는 탐색적 데이터 분석을 의미합니다.
•
EDA 는 크게 이상치/결측치 처리 및 시각화 로 나뉩니다.
•
EDA 프로세스
•
데이터 EDA
•
데이터 정제 및 데이터 전처리
•
데이터 시각화 및 분석
•
데이터 기반 인사이트 도출
[비즈니스 목표 세우기]
[사용된 데이터 소스 설명] 출처, 구성, 관측단위, 주요 변수를 소개하세요.
[EDA] 분석할 데이터(dailyActivity_merged.csv)의 행/열 개수를 제시하세요.
[EDA] 분석할 데이터의 컬럼 타입과 기술통계(min/median/mean/max, 결측치 수)를 제시하여 EDA를 수행하세요.
[전처리 과정] 결측치/이상치/전처리 처리 규칙을 수립·실행하고, 처리 이유를 적으세요.
[주요 분석제시 및 시각화] 한개 혹은 여러개의 기준 컬럼을 두고 집계함수로 비교분석 후 시각화하세요.
[인사이트 제시 ]최소 1개 이상의 인사이트를 수치/그래프/그림/해석으로 제시하세요.
필수 분석 이후 더 도전하고 싶은 학생들을 위한 심화 과제입니다. (선택사항)
꼭 아래 문제들이 아니라, 풀고싶은/보여주고 싶은 분석과 인사이트를 보여주셔도 됩니다!
•
EDA를 더 다양한 형식(산점도, 박스플롯 등)으로 나타내보기
사용자별 평균 활동량(예: mean_steps)을 기준으로 상위 20% / 하위 20% 그룹을 만들어 주요 지표(걸음수, 칼로리, 비활동 시간 등)를 비교
•
전체/사용자별 일별 시계열에 7일(또는 14일) 롤링 평균을 적용해 노이즈 제거된 트렌드를 시각화
7일 롤링 평균으로 단기 변동성 평탄화 후 트렌드 평가
거리 단위 표준화와 사용자 간 비교를 위해 z-score(또는 Min-Max) 정규화를 적용해 분포을 비교
월별/분기별 평균 활동량을 계산해 장기 추세(증가·감소)와 계절성(예: 여름·겨울 차이)을 파악
미착용(Non-wear) 감지와 처리 전략
요일×시간대 히트맵
확장 데이터 조인
•
여러개의 csv파일(테이블)을 다룬다면 데이터 설명할때 ERD 보여주기
•
위의 결과들을 바탕으로 장기적 관점에서 Bellabeat 제품 개선 전략 제안
04. 설명
이번 필수과제에서는 dailyActivity_merged.csv 만을 분석합니다.
그 외: sleepDay_merged.csv, heartrate_seconds_merged.csv 등. 시간이 남으면 이 데이터들도 분석해보세요!
•
관측 단위: Fitbit 사용자(30명) × 활동/수면/심박 데이터
•
기간: 2016년 3월 12일 ~ 2016년 5월 12일
•
관측단위: 사용자-일(Day)
•
주요 지표
◦
활동량: 총 걸음 수(TotalSteps), 총 이동거리(TotalDistance), 칼로리(Calories)
◦
활동 강도별 시간: VeryActiveMinutes, FairlyActiveMinutes, LightlyActiveMinutes, SedentaryMinutes
◦
VeryActiveMinutes, FairlyActiveMinutes, LightlyActiveMinutes, SedentaryMinutes: 시간(분)
•
참고
◦
30명의 Fitbit 사용자가 신체 활동, 심박수, 수면 모니터링에 대한 분 단위 출력을 포함한 개인 스마트워치 데이터 제출에 동의하였고 이러한 정보들이 수집이 되었습니다.
◦
그래프 축/범례/캡션에 단위 표기를 반드시 포함하세요. (예: Distance = mile)
•
총 29개 CSV 파일로 구성되어 있으며, 일 단위·분 단위 데이터가 혼합되어 있습니다.
05. 주의사항
1.
데이터 신뢰성 한계
•
Fitbit 데이터는 30명 소규모 표본으로 수집되었으며, 대표성이 제한적입니다.
•
Amazon Mechanical Turk 참여자들의 자발적 제출 데이터이므로 기기 착용 습관, 입력 정확도 등에서 편향이 발생할 수 있습니다.
2.
결측치·이상치 처리
•
일부 사용자는 특정 날짜에 데이터가 기록되지 않거나, 극단적으로 낮은/높은 활동량이 기록될 수 있습니다.
•
EDA 과정에서 결측치·이상치를 탐지하고 처리 전략(제거/대체/보간 등)을 명시해야 합니다.
3.
시간 단위 해석
•
제공된 데이터는 분 단위 → 일 단위로 구성되어 있으므로, 분석 목표에 맞게 집계 단위를 선택하세요.
•
일 단위 비교 시 활동·수면 패턴을 요약, 주 단위/월 단위 패턴으로 확장 가능합니다.
4.
지표 해석 시 주의
•
활동량(Steps, Calories)과 건강 상태(체중·심박)의 인과 관계는 단순 상관 분석으로 단정할 수 없습니다.
•
“트렌드 확인”과 “전략적 활용 가능성 제시”를 중심으로 해석해야 합니다.
5.
FAQ
•
Q. 데이터가 소규모인데 유효한 인사이트를 낼 수 있을까요?
A. 대표성은 제한적이지만, 패턴 탐색(EDA)과 가설 도출 수준에서는 충분히 의미가 있습니다.
•
Q. 사용자의 다양성이 확보되지 않은 경우, 어떻게 보완해야 하나요?
A. 분석 결과에서 표본 한계를 명확히 언급하고, 추가 데이터 수집 필요성을 제언하는 것이 중요합니다.
06. 데이터셋
•
29개 CSV 파일
실습에서는 dailyActivity_merged.csv를 중심으로 진행하고, 여유가 있다면 수면·심박 데이터까지 확장 분석하세요.
◦
dailyActivity_merged.csv (주요 분석 파일)
◦
sleepDay_merged.csv, heartrate_seconds_merged.csv, dailySteps_merged.csv 등 보조 데이터
•
Zenodo (Fitbit Fitness Tracker Data 2016): https://zenodo.org/records/53894
07. 예시 코드
import pandas as pd
# 주요 데이터 불러오기
activity = pd.read_csv("dailyActivity_merged.csv")
# 상위 5행 확인
print(activity.head())
# 결측치 요약
print(activity.isnull().sum())
# 컬럼별 데이터 타입
print(activity.dtypes)
Python
복사
# 날짜 타입 변환
activity["ActivityDate"] = pd.to_datetime(activity["ActivityDate"])
# 요일 변수 생성
activity["weekday"] = activity["ActivityDate"].dt.day_name()
# 활동강도 합산 지표 생성
activity["TotalActiveMinutes"] = (activity["VeryActiveMinutes"]
+ activity["FairlyActiveMinutes"]
+ activity["LightlyActiveMinutes"])
Python
복사
import matplotlib.pyplot as plt
# 일별 걸음수 분포
plt.hist(activity["TotalSteps"], bins=30)
plt.xlabel("Steps")
plt.ylabel("Frequency")
plt.title("Distribution of Daily Steps")
plt.show()
# 요일별 평균 걸음수
weekday_steps = activity.groupby("weekday")["TotalSteps"].mean()
weekday_steps.plot(kind="bar", title="Average Steps by Weekday")
plt.show()
Python
복사
위 스니펫은 데이터 로딩 → 결측치 확인 → 파생 변수 생성 → 시각화까지 기본 흐름을 담았습니다.
이후 수면·심박 데이터와 조인하여 확장 분석을 진행할 수 있습니다.






