Skip to content

wafflestudio/snutt-log-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SNUTT 유저 플로우 대시보드

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.txt

PATH에 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

기능

1. 유저 플로우 (Sankey)

화면 간 전환을 Sankey 다이어그램으로 시각화. 순위 범위 슬라이더와 화면 필터로 특정 구간/화면만 볼 수 있음.

2. 진입/이탈 화면

세션 시작/종료 화면 Top 10을 가로 바 차트로 비교.

3. 일별 트렌드

일별 이벤트 수, 유니크 유저 수, 세션 수 라인 차트.

데이터 소스

  • BigQuery 프로젝트: snutt-792f1
  • 데이터셋: analytics_151365831
  • 테이블: events_* (Firebase Analytics daily export)
  • 이벤트: screen_view
  • 세션 정의: 같은 유저의 연속 이벤트 간 30분 이상 gap이면 새 세션

About

SNUTT 로그 대시보드

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors