SNUTT 앱의 Firebase Analytics 로그(BigQuery)를 기반으로 유저 화면 전환 플로우를 시각적으로 분석하는 Streamlit 대시보드.
데이터를 로컬 Parquet으로 한 번 내려받은 뒤, DuckDB로 쿼리하여 BigQuery 비용 없이 빠르게 동작.
app.py # Streamlit UI
charts.py # Plotly 차트 빌드 함수
queries.py # DuckDB로 로컬 Parquet 쿼리
sync.py # BigQuery → 로컬 Parquet 다운로드
config.py # 프로젝트/데이터셋/로컬 경로 설정
data/ # 로컬 Parquet 데이터 (git 미추적)
pip3 install -r requirements.txtPATH에 streamlit이 없으면 추가:
export PATH="/Users/jutak/Library/Python/3.9/bin:$PATH"BigQuery 인증 (최초 1회):
gcloud auth application-default login --project snutt-792f1데이터 다운로드:
python3 sync.py # 전체 기간 다운로드 (또는 incremental)
python3 sync.py --start 20260208 # 특정 시작일부터기존 data/events.parquet이 있으면 마지막 날짜 이후 데이터만 추가 다운로드(incremental sync).
streamlit run app.py화면 간 전환을 Sankey 다이어그램으로 시각화. 순위 범위 슬라이더와 화면 필터로 특정 구간/화면만 볼 수 있음.
세션 시작/종료 화면 Top 10을 가로 바 차트로 비교.
일별 이벤트 수, 유니크 유저 수, 세션 수 라인 차트.
- BigQuery 프로젝트:
snutt-792f1 - 데이터셋:
analytics_151365831 - 테이블:
events_*(Firebase Analytics daily export) - 이벤트:
screen_view - 세션 정의: 같은 유저의 연속 이벤트 간 30분 이상 gap이면 새 세션