지난 기획편에서 왜 커머스 도메인을 선택했고 어떤 질문을 해결할 것인지 정리했습니다.
이번 글에서는 실제로 Tableau에서 대시보드를 구현한 과정을 정리합니다.
1. 데이터 연결
Olist 데이터는 9개 CSV로 구성되어 있습니다. Tableau에서 모두 연결한 뒤 orders 테이블을 중심으로 관계를 설정합니다.
orders (중심)
├── order_items → products → category_translation
├── order_payments
├── order_reviews
└── customers → geolocation
처음에는 모든 테이블을 단순히 JOIN하려 했는데, Tableau의 Relationships 기능을 쓰니 필요한 시점에만 테이블을 참조해서 성능도 좋고 집계 오류도 줄었습니다.
2. KPI 정의
대시보드 상단에 5개 핵심 지표를 배치했습니다.
| KPI | 정의 | 계산 기주ㅜㄴ | 결과 |
| 총 매출 | 실제 결제 금액 | SUM(payment_value) | R$16.01M |
| 총 주문수 | 고유 주문 건수 | COUNTD(order_id) | 99,441 |
| 고객 수 | 실제 고객 수 (재구매 중복 제거) | COUNTD(customer_unique_id) | 96,096 |
| 평균 배송일 | 주문일 → 배송완료일 | AVG(DATEDIFF) | 12.5일 |
| 지연율 | 배송완료 > 예상배송일 비율 | SUM(지연)/COUNT(전체) | 7.95% |
3. 필터 구성
상단에 두 가지 필터를 버튼 형태로 배치했습니다.
- 연도: 전체 / 2016 / 2017 / 2018
- 지역: 남부 / 동남부 / 북동부 / 북부 / 중서부
지역은 브라질 27개 주를 5개 권역으로 그룹화했습니다.
4. §1 매출 성장 및 카테고리 분석
매출은 꾸준히 성장했으며, 주요 매출은 일부 상위 카테고리에 집중되어 있음
4.1 월별 매출 추이
- 2017년부터 본격 성장
- Black Friday(2017.11) 시점 매출 피크
- 2018년 중반 이후 하락 (데이터 수집 종료 영향)
Black Friday 주석은 일부러 넣었습니다. 매출이 갑자기 튀는 구간이 있으면 "왜?"라는 질문이 생기는데 주석 하나로 그 맥락을 바로 전달할 수 있습니다.
4.2 카테고리별 매출 Top 8
- health_beauty
- watches_gifts
- bed_bath_table
- sports_leisure
- computers_accessories
상위 5개 카테고리가 전체 매출의 상당 부분을 차지합니다.
5. §2 지역 편중 분석
매출은 동남부 지역에 집중되어 있으며, 매출 비중이 높은 지역일수록 배송일이 짧음
5.1 주별 매출 비중
- SP(상파울루): 42%
- RJ(리우): 13%
- MG(미나스): 12%
상위 3개 주가 전체의 67%를 차지합니다.
5.2 주별 평균 배송일 (지도)
- 동남부: 10일 내외
- 북부/북동부: 20일 이상
5.3 매출 vs 배송일 (산점도)
- SP: 매출 최고 + 배송 최단 → 물류 인프라 집중
- 북부: 매출 낮음 + 배송 김 → 물류 접근성 문제
6. §3 배송 지연 분석
북부 지역은 배송일이 길고 지연율이 높음
6.1 주별 지연율
- 북부(AC, AM, AP): 15~20%
- 동남부(SP, RJ): 5% 내외
6.2 월별 지연율 추이
- 2017년 초: 최고 20.75% (주문 급증 시기)
- 이후 점진적 개선
- 2018년: 5% 내외로 안정화
7. 최종 완성

다크 테마를 선택한 이유가 있습니다. 처음에는 흰 배경으로 만들었는데, KPI 카드 5개 + 차트 7개가 한 화면에 들어가니 너무 산만했습니다. 다크 배경으로 바꾸니 차트들이 떠 보이면서 시선이 정리됐습니다.
👉 Tableau Public: https://public.tableau.com/app/profile/.15778573/viz/OlistBrazilianE-commerceKPIDashBoard/performanceDashBoard
Olist Brazilian E-commerce KPI DashBoard
Olist Brazilian E-commerce KPI DashBoard
public.tableau.com
8. 느낀 점
1) 데이터 구조 파악에 시간이 가장 오래 걸렸습니다. 처음 데이터를 열었을 때 "테이블이 9개나 있네"에서 멈췄습니다. 어떤 테이블이 어떤 키로 연결되는지, customer_id와 customer_unique_id가 왜 다른지, 이런 걸 파악하는 데만 반나절이 걸렸습니다. 차트 만드는 건 오히려 금방이었습니다.
2) 질문 중심으로 섹션을 나누면 스토리가 생긴다. "매출 차트", "지역 차트"가 아니라 "매출은 성장 중인가?", "지역별 편중이 있는가?"처럼 질문으로 나누니 대시보드가 분석 보고서처럼 읽히게 되었습니다.
3) 시각화는 "예쁘게"보다 "명확하게"가 먼저다. 다크 테마 + 포인트 컬러 하나로 정리하니 가독성이 훨씬 좋아졌습니다.
'Data Analysis > Data Viz' 카테고리의 다른 글
| [Tableau] 커머스 로그 데이터로 실무형 KPI 대시보드 만들기 – 기획편 (0) | 2026.02.17 |
|---|---|
| [Tableau] 차원과 측정값, 불연속형과 연속형 (0) | 2026.01.31 |
| [Tableau] Tableau 데이터 연결과 결합 방법 (0) | 2026.01.31 |
| [Tableau] Tableau Public 데이터 연결 (0) | 2026.01.30 |
| [Tableau] Tableau Public 설치 방법 (0) | 2026.01.30 |
HELLO WORLD
안녕하세요. 데이터로 말하는 분석가 모모입니다.
데이터를 구조화하고 분석하는 과정과 실무에 활용되는 도구 중심의 내용을 기록합니다.