본문 바로가기

데이터 사이언스/데이터 시각화

[Tableau] 시각화 스터디 with DALC : 5주차

중간고사 전 마지막 스터디를 진행했다. 

데이터는 [업종-지역별 배달] 데이터를 사용했다. 

 

1. 데이터 확인하기

데이터는 사진과 같이 구성되어 있었다.

원래는 날짜 반환과 요일 열은 없었는데, 팀원 한 분이 의견 제시를 해주셔서 바로 엑셀로 함수를 만들어서 넣어봤다.

사용한 함수는 다음과 같다.

 

  • 날짜 반환 : =WEEKDAY(A2)
  • 요일 : =CHOOSE(B2, "일","월","화","수","목","금","토")

데이터 원본 상위 5개


2. 데이터 시각화 하기

데이터를 보면서 분석과 어떤 시각화를 할지 의견을 나눴다. 결론적으로 다음 7개 정도의 시각화 주제가 나왔다.

 

  1. 지역별 평균 배달 소요시간 계산 > 어떤 지역이 성격이 급할까?
  2. 코로나 전후의 배달 건수 확인
  3. 각 지역별 선호 음식
  4. 업종별 평균 주문 금액
  5. 위치로 할 수 있는 것 > 이중축 활용해보기 / 맵 + 원으로 순위 나타내기 / 배달 평균 금액 > 어떤 시가 음식을 가장 많이 시켜먹을까?
  6. 주말과 평일 분리해서 어느 요일에 제일 배달 건수가 많은지
  7. 업종별 배달 소요시간 비교

근데 지금 데이터에 완전히 익숙해진 상황에서 깨달은게 하나 있다. 사실 1번은 내가 낸 의견 중 하나이다. 지역별 평균 배달 소요시간을 계산해서 어떤 지역이 성격이 급한지 보고 싶었는데, 데이터를 파악한 지금, "평균 배달 소요시간"이 주문이 들어가서 조리 후 배달까지의 시간이 아닌, 오로지 조리가 다 되어서, 그것이 손님한테 배달이 되는 그 시간뿐일거란 생각이 들었다. 아쉽게도 나는 전자라고 생각을 했는데, 지금와서 보면 후자인 것 같다. (조리 후 소요되는 배달시간)

아무튼 위의 의견들을 토대로 시각화를 진행했다. 내가 만든 시각화는 다음과 같다.


2.1. 전국 및 특정 지역의 주문 건수

우선 이번주 태블로 강의를 들은 내용을 바탕으로 시각화를 진행해보았다. 경도를 복사하고, 이중축을 활용하여 각 지역별 주문건수를 확인하고 싶었다. 시트 제목도 저번주에 배운 매개변수를 활용하여 사용했다.

여기서 필터를 추가해서, 각 시/도의 데이터를 봤다. 대표적으로 서울특별시의 주문건수를 확인했다.

한가지 의문인건, 왜 지도 데이터가 세밀하지 못하고 굉장히 날 것 마냥 그려지냐는 것이다. 팀원 한분이 이 점에 대해 말했을 때는 못느꼈는데, 내 그래프에서도 팀원분과 같은 현상이 일어나는 것을 보고 궁금해졌다. 팀원분의 말을 빌리자면, 진짜 마치 "왼손으로 그린 것" 같은 느낌이 들기도 한다. 왜 저런 현상이 일어난 것일까? 궁금하다.

 

또, 아쉬운 점은, 저 원 안에 순위, 즉 각 시도나 자치구별로 주문 수가 가장 많은 지역의 순위를 매기고 싶었는데 원하는대로 잘 안나와서 일단 패스했다. 생각한 데이터를 라벨링 못해서 조금 시각화가 애매한 느낌이 드는 것 같다.


2.2. 월별 주문건수

처음에 데이터를 보고 가장 궁금했던 건 코로나 전후의 배달 건수가 드라마틱하게 달라졌을까? 였다. 2.1.과 마찬가지로 이중축을 활용하여 그래프를 그려봤다. 검색을 해보니, 국내 코로나 첫 확진자는 2020년 1월 20일에 발생하였다. 그래서 [분석] 탭에서 [상수 라인]을 추가해줬다.

막상 시각화 해보니, 코로나 전후로 아주 극적으로 배달건수가 늘지않아 조금은 의아했다. 그런데 나보다 먼저 발표를 한 팀원분이 나와 비슷한 시각화를 진행했는데, 12월은 겨울이라 사람들이 잘 밖에 안나갔을 거라고 언급한 것을 듣고 "아~ 이래서 차이가 많이 안났구나" 싶었다. 코로나 전후에만 신경이 쏠려서 12월이 겨울이라는 건 까맣게 잊은 것이었다. 팀원 덕분에 약간의 궁금증이 풀려 감사했다.


2.3. 지역별 평균 배달 시간

이번 스터디는 최대한 배운 것을 활용해보고 싶었다. 이번 시각화도 이중축을 사용한건데, 일단 데이터를 보니 평균 배달시간이 30분을 넘지 않는 것을 확인할 수 있었다. 그래서 AVG(30)으로 가데이터를 넣어주고, 이중축을 이용하여 합쳐줬다. 가데이터는 막대로, 평균 데이터는 원으로 시각화하여, 이번주에 배운 "평점 보여주기" 시각화를 최대한 활용했다. 그 결과, 평균 배달시간이 가장 빠른 지역은 전라남도인 것을 확인할 수 있었다.

그리고 지역을 만들기 > 그룹을 시켜서, 이름을 다시 지어줬다. 시도의 이름은 경기도, 경상남도, 서울특별시 이런식으로 글자 수가 다양한데, 이번에 배운 그룹을 만들어서, 모든 지역이 두자리가 되도록 지정을 해줬다. 덕분에 레이블이 데이터보다 길어지지 않았다.


2.4. 평일/주말 평균 배달 건수

처음에 말했듯이, 팀원분의 의견 제시로 나는 "요일"이라는 필드를 생성했다. 그리고 [계산된 필드 만들기]를 이용하여 평일과 주말 데이터를 분리했다. 각각의 함수는 다음과 같이 생성했다.

 weekday
IF [요일] != "토" AND [요일] != "일"
THEN [주문건수]
END
 weekend
IF [요일] == "토" or [요일] == "일"
THEN [주문건수]
END

그 후, 생성된 weekday(평일)과 weekend(주말)을 이중축으로 합쳐서 평일의 평균 주문건수가 많은지, 주말의 평균 주문건수가 더 많은지 비교했다. 그리고 어느 종목을 많이 시키는지도 같이 살펴봤다.

역시 예상했던 대로, 치킨이 주문건수가 압도적으로 많았다. 그 다음은 분식과 한식, 족발/보쌈 순으로 많았다.

또, 대체적으로 평일보다 주말의 주문 수가 많았으며, 도시락 배달은 유일하게 평일이 주말보다 주문 수가 더 많았다. 아무래도 직장인들이 도시락을 평일에 더 많이 시켜먹어서 그런 것으로 예상된다.


이건, 위 시각화와 비슷하게 지역별로 평일/주말의 평균 배달 건수를 살펴본 것이다. 어느 지역이 배달을 가장 많이 시켜먹는지 단순한 호기심에 그려봤다. 경기도가 압도적으로 배달건수가 높았다. 그 다음은 서울, 경남, 전북이 차지했다.

또, 대체적으로 평균적으로 주말의 배달건수가 평일보다 많았으나, 세종, 울산, 광주는 평일의 배달건수가 주말보다 많았다. 세종시는 자연스레 그럴 것이라고 생각했는데, 광주와 울산은 왜 평일이 더 많을까? 궁금해졌는데 아직 답은 못찾았다. 관련해서 아는 분이 있다면 댓글 남겨주길 바란다.


3. 5주차 스터디를 마무리하면서...

이번 주는 슬슬 태블로가 손에 익는건지 원하는대로 그래프를 좀 다양하게 만들어서 뿌듯했다. 아쉬운 점은 이제 좀 익숙해지나 했는데, 이제 중간고사를 준비해야해서 4월 말까지는 스터디를 못한다는 것이다. 초급 강의가 다 끝났으니, 중급 강의를 배우는 5월에는 더 발전된 시각화를 그릴 수 있음 좋겠다.

 

이번 주에도 역시 팀원들의 시각화 결과를 보고 감탄했다. 특히 기억에 남는 것은 주말, 평일을 비교해서 내가 만든 바 차트가 아닌, 달력 차트로 보여준 것이다. 거기에 주문 건수를 색상으로 처리하니, 주말/평일의 평균 주문건수가 상반되는 것을 확인할 수 있었다. 또, 각 날짜에 마우스 오버를 하니, 그 날에 어떤 음식을 제일 많이 주문했는지도 바 차트로 볼 수 있었다. 그 데이터를 활용해서, 어느 날에 스포츠 경기가 있었는지 같은 것들도 확인할 수 있을 거란 생각이 들었다.

 

그리고 내가 구현 못했지만, 하고싶었던 평균적으로 빨리 받을 수 있는 음식을 시각화한 팀원도 있었다. 처음에 팀원들이랑 얘기할 땐, 한식이 아무래도 배달이 오래 걸릴 것이다 라고 생각했는데, 팀원분이 시각화한 것을 보니 "찜탕"이 가장 오래 걸리는 것을 확인할 수 있었다. 또, 업종별 소요시간에 "0" 데이터가 많았는지, 포함 시키는 것과 제외 시키는 것의 시각화 차이가 꽤 많이 나서 놀랐다. 좋은 팁을 얻었다. 

 

다음 스터디는 중간고사 이후가 될 것 같다. 5월에 다시 스터디 관련한 글을 올리겠다.