데이터 분석가:Applied Data Analytics

태블로 시각화 프로젝트 예시

뇌건강과 데이터분석가 2025. 3. 25. 16:46

태블로에서 1순위기준 잼있는거 2순위 인터랙티브하고 동적인 대시보드 구현에 최적화된 데이터 목적 : 실제로 여행을 간다는가정하에 필요한 항목이나 정보를 시각화(태블로 시각화) Airbnb Open Data (이탈리아 피렌체) 대시보드 구조

시계열, 지리적, 가격 기반 분석을 포함한 인터랙티브한 대시보드 구현이 가능. 단, 속도와 데이터 정제 측면에서 사전 전처리와 설계가 중요 전처리 난이도 순위

1 listings.csv 컬럼 수가 매우 많고 결측치 비율도 높음. 숙소 설명, 편의시설 등 텍스트와 다중값 처리 필요.

2 calendar.csv 날짜별 가격과 예약 가능 여부 포함. 결측치는 중간 정도지만, 날짜 기준 병합 및 처리 필요.
3 reviews.csv 결측치는 거의 없지만, 텍스트 리뷰 전처리 필요. 감성 분석 등 시각화 전 텍스트 정제 필요 가능성.
4 neighbourhoods.csv 단순한 지리적 정보만 포함. 컬럼 수 적고 결측치 거의 없음. 병합 시 ID 일치만 유의하면 됨.

neighbourhoods.geojson은 태블로에서 지도 시각화에 활용되며, 별도의 전처리는 거의 필요 없음. 단, neighbourhoods.csv와 ID 병합이 필요할 수 있음.

  • Airbnb Open Data (이탈리아 피렌체) 대시보드 구조데이터 연계성 높음calendar.csv.gz: 날짜별 예약 가능성과 가격neighbourhoods.csv: 지리적 구분 → 이들은 listing_id나 neighbourhood 기준으로 서로 연계할 수 있어 분석 단위 통합이 가능함calendar.csv: 일자별 가격, 예약 가능 여부 제공 → 가격 추이, 시즌별 분석 가능지리적 시각화 가능listings.csv에는 위도/경도 포함 → Tableau Map View 완벽 지원리뷰 텍스트, 리뷰 개수, 평점 등 고객 반응 기반의 분석 구현 가능2. 단점 및 주의할 점특히 calendar.csv는 listing × 날짜 수 만큼 레코드 존재 → 데이터 추출(extract) 방식 추천리뷰 텍스트는 Tableau에서 직접 분석 어려움 → 사전 텍스트 전처리 필요일부 열에 결측값 많을 수 있음 (ex: 호스트 응답률, 편의시설)시간 범위 통일 필요3. 추가 추천 파생변수 (계산 필드 또는 파생 필드)price_cleaned (문자열에서 숫자 추출: $120 → 120)review_per_month (리뷰 수 / 운영 개월 수)season (월에 따라 성수기/비수기 분류)
  • stay_category (숙박 일 수에 따라 단기/중기/장기 분류)
  • weekday (calendar의 날짜에서 요일 추출)
  • is_available (calendar 데이터의 available → True/False 처리)
  • Tableau에서 인터랙티브 분석 강화를 위해 파생변수 추가추천
  • 각 데이터셋의 기준 날짜가 상이할 수 있음 → 연도/월 필터는 사전 정의 필요
  • 날짜 포맷, 숫자 포맷이 locale에 따라 깨질 수 있음 → 사전 정제 필요
  • 결측치 및 형식 불일치 가능성
  • 리뷰 내용은 자연어로 처리 어려움
  • 데이터 양이 많아 Tableau 속도 저하 가능성
  • 슈퍼호스트, 응답속도 등 호스트 특성도 분석 가능
  • 사용자 분석이 가능
  • neighbourhoods.csv 및 .geojson → 지도 시각화 지원
  • reviews.csv: 리뷰 날짜 기반 → 사용자 경험 변화 분석
  • 시계열 분석 가능
  • reviews.csv.gz: 리뷰 내용 및 날짜
  • listings.csv: 숙소 고유 정보
  • 1. 장점 (Tableau 대시보드 최적화 관점)

https://insideairbnb.com/florence/

 

Florence

Adding data to the debate

insideairbnb.com

1차 스케치

각 시트의 태블로 세부 설정 예시

시트 이름 주요 필드 마크 유형 필터/설정
지역별 숙소 수 & 평균 가격 지도 시트 neighbourhood, latitude, longitude, price Circle or Filled Map 색상: 평균 가격크기: 숙소 수
카드1: 평균 가격 avg_daily_price Text 지역별 필터 적용
카드2: 리뷰 수 review_count Text 지역별 필터 적용
카드3: 예약 가능률 availability_rate Text 지역별 필터 적용
숙소 유형별 평균가격 & 개수 막대 차트 room_type, price Bar 집계: 평균 가격, COUNT필터: 지역, 날짜
날짜별 평균 가격 & 예약률 선형 차트 date, price, available Line 집계: 평균날짜 필터
리뷰 수 추이 시트 date (from reviews), listing_id Line 집계: COUNT(review)날짜 단위: 월/분기

calendar.csv 또는 reviews.csv만 활용하는 상세 전략

A. calendar.csv 시트 활용 전략

  • 목표: 날짜별 가격 변화, 예약 가능률 추적
  • 추천 시각화
    • Line Chart: 날짜별 평균 price
    • Line Chart: 날짜별 available 비율 (예약 가능률)
  • 추가 기능
    • 날짜 슬라이서로 시간대 필터
    • 숙소 ID 또는 지역 선택 필터 (listings와 병합 필요)

B. reviews.csv 시트 활용 전략

  • 목표: 리뷰 수, 피크 시즌 파악, 후기 반응 시간 분석
  • 추천 시각화
    • Line Chart: 월/분기별 리뷰 수 추이
    • Bar Chart: 숙소별 리뷰 수 Top 10
    • Gantt 또는 Timeline: 리뷰 날짜 & 리뷰어 표시 (감성분석 연결 가능)
  • 추가 기능
    • 지역 or 숙소 선택 시 리뷰 타임라인 변경
    • 리뷰 수가 특정 기준 이하인 숙소 필터링

목표 : 지역 기반 인터랙션 대시보드 (동적 필터링 중심)

1. 전체 구조

구성 요소 역할 태블로 시트 이름 예시

지도 (지역 단위) 지역 선택 지도: 지역별 숙소
카드 (요약값) 선택된 지역의 요약 정보 카드: 평균 가격, 카드: 총 리뷰 수
바 차트 숙소 유형별 수 / 평균 가격 막대: 숙소유형별 분석
라인 차트 날짜별 평균 가격/예약률 선: 가격/예약률 트렌드
리뷰 타임라인 최근 리뷰 추이 선: 리뷰 수 추이

2. 사용자 인터랙션 방식

사용자 행동 반응하는 시각화

지역 클릭 (지도) 아래 모든 시각화가 해당 지역으로 필터됨
숙소 유형 선택 (필터 또는 클릭) 평균 가격/리뷰 수 등 변화
날짜 범위 선택 (슬라이서) 가격 변화 차트 및 리뷰 수 반응

3. 필요 데이터 병합

listings.csv를 중심으로 아래처럼 전처리합니다:

  1. listings.csv: 숙소 ID, 이름, 가격, 지역, 숙소 유형 등 핵심 정보
  2. calendar.csv: 예약 가능일 수, 날짜별 가격 → listing_id별 요약 집계
  3. reviews.csv: 리뷰 수, 최신 리뷰 날짜 → listing_id별 요약
  4. neighbourhoods.csv 또는 .geojson: 지역 좌표 지도 표시용

병합 결과 예시 (최종 테이블):

listing_id neighbourhood room_type price availability_365 review_count avg_daily_price ...

4. 태블로 시트 구성 예시

  1. [지도] 지역별 평균 숙소 가격
    • 데이터: listing_id, neighbourhood, price
    • 마크: Circle or Polygon
    • 컬러: 평균 가격 (색상 강도)
    • 작업: 지역 클릭 → 모든 시트에 필터 적용
  2. [카드] 요약 정보
    • 필터: 선택된 지역
    • 수치: 평균 가격, 리뷰 수, 예약 가능률 등
    • 마크: 텍스트
    • 여러 개의 시트로 구성 → 대시보드에 카드처럼 배치
  3. [막대] 숙소 유형별 숙소 수 & 평균 가격
    • 필터: 선택된 지역
    • 축: 숙소 유형, 값: 개수 or 평균 가격
  4. [선형 차트] 날짜별 평균 가격/예약률
    • 데이터: calendar.csv
    • 날짜 슬라이서 + 지역 필터
    • 날짜별 평균 가격, 예약 가능률 (available 비율)
  5. [리뷰 추이] 시간대별 리뷰 수
    • 데이터: reviews.csv
    • 날짜 필터 및 지역 필터
    • 리뷰 작성일 기준 리뷰 수 추이 (선형 차트)
    구현
    • 태블로 대시보드 → 시트 배치 후, "사용자 지정 동작 → 필터" 사용해서 인터랙션 설정
    • 지도 클릭 시 neighbourhood 기준으로 다른 시트 필터링
    • 날짜 필터는 calendar.csv를 활용해 범위 슬라이서로 구현

  • 태블로의 인터랙티브 대시보드 시각화를 위한 필요한 데이터 병합및 전처리 전략
    추천 워크플로우 
    1. 필요 컬럼만 추출해서 작은 CSV 파일로 저장
    2. 숫자형 변환 및 결측치 처리
    3. 숙소 ID 기준 병합 (listings 중심)
    4. 태블로로 불러와서 관계(Relationship) 또는 병합된 파일 사용
  • 1. 숙소 요약 대시보드주요 시각화
    • 지역(Neighbourhood)별 숙소 수 및 평균 가격 지도
    • 숙소 유형(Room Type) 비율 파이차트
    • 가격대별 숙소 수 히스토그램
    • 숙소 수/평균 가격 트렌드 (Bar 또는 Line)
    사용 파일
    • listings.csv
    • neighbourhoods.csv 또는 neighbourhoods.geojson
    전처리 전략
    1. listings.csv에서 필요한 컬럼 추출:id, neighbourhood, room_type, price, number_of_reviews, availability_365
    2. price는 문자열($1,234) → 숫자 변환 필요 (int 또는 float)
    3. neighbourhood 컬럼 기준으로 neighbourhoods.csv 또는 .geojson과 병합 → 지도 시각화
  • 숙소 유형, 가격대, 지역별 분포를 한눈에 보여주는 기본 대시보드
  • 2. 예약 가능성과 수익 대시보드주요 시각화
    • 날짜별 평균 가격 변화 (Line Chart)
    • 예약 가능률 변화 (Line Chart or Heatmap)
    • 숙소 ID 또는 지역 선택 → 해당 숙소의 시간대별 가격 & 예약 가능 여부
    사용 파일
    • calendar.csv
    • listings.csv (숙소 정보 병합용)
    전처리 전략
    1. calendar.csv에서 listing_id, date, price, available 추출
    2. price: $, , 제거 후 숫자 변환
    3. available: t, f → Boolean (1, 0)
    4. 날짜별 그룹화: 평균 가격 및 예약률 계산
    5. listing_id 기준으로 listings.csv와 병합 → 숙소 속성 필터링
  • 예약 가능일과 가격 변화를 통해 호스트의 수익 예측을 도와주는 대시보드
  • 3. 리뷰 분석 대시보드주요 시각화
    • 월별/분기별 리뷰 수 추이
    • 숙소별 리뷰 수 Top N
    • 리뷰 작성자 이름과 날짜 타임라인
    • 지역/숙소 선택 → 해당 숙소 리뷰 표시
    사용 파일
    • reviews.csv
    • listings.csv (숙소 이름, 지역 연결용)
    전처리 전략
    1. reviews.csv에서 listing_id, date, reviewer_name 추출
    2. date: 날짜 형식 변환 → 연도, 월 컬럼 파생
    3. 리뷰 수 집계 (월, 숙소별)
    4. listing_id 기준으로 listings.csv와 병합하여 숙소 정보 연결
  • 리뷰 수, 최신 리뷰 날짜 등을 통해 사용자 피드백을 시각화
  • 4. 지역 기반 분석 대시보드주요 시각화
    • 지역 선택 (Filter or 지도 클릭)
    • 선택된 지역의 숙소 평균 가격, 리뷰 수, 예약 가능률 등 요약 카드
    • 지역 내 숙소 분포 및 유형 히트맵
    사용 파일
    • 전 파일: listings, calendar, reviews, neighbourhoods
    전처리 전략
    1. 모든 데이터의 listing_id, neighbourhood 기준 정규화
    2. calendar, reviews → listing_id별 집계 (예약 가능일 수, 리뷰 수 등)
    3. listings.csv 중심으로 병합
  • 특정 지역을 선택하면 해당 지역의 평균 가격, 숙소 유형, 리뷰 수 등이 동적으로 표시
  •  

2차 태블로 스케