[TIL] 27일차 TIL(20230315) - 태블로 그래프 실습, Airbnb 서비스 개선 프로젝트 2
[TIL] 27일차 TIL(20230315) - 태블로 그래프 실습, Airbnb 서비스 개선 프로젝트 2
1. 도넛 차트
도넛 차트는 파이 차트 안에 작은 파이차트를 하나 넣어서 만드는 것으로, 자동화를 하게 되면 모양이 어그러져서 제대로 나오지 않을 가능성이 있어 실무에서 사용하려면 주의가 필요하다.
두 개의 파이차트를 만들기 위해서 처음에 행에 0을 각각 입력해주면 된다.
2. 롤리팝 차트
롤리팝 차트는 막대 그래프와 원 그래프를 이중 축을 이용해서 겹쳐보이게 만들 수 있다.
결국 막대와 원은 한 가지의 정보를 동일하게 담고있어야 하며, 값을 비교하려는 범주가 많은 경우에 주로 사용한다.
3. 나비차트
나비차트는 2가지 조건에 따른 값을 비교하고 싶을 때, 예를 들어 주로 성별/연령대를 비교할 때 많이 사용한다.
비교하려는 조건에 해당하는 데이터들만 계산된 필드를 통해 추출해주고 각각 그래프를 그려주면 된다.
음수 값이 있으면 모양이 예쁘지 않기 때문에 값이 양수로 이루어진 경우에 사용한다.
*나비차트의 양쪽 차트의 축이 다른지 꼭 확인하고, 맞춰줘야 한다.
4. MoM, 화살표
MoM을 계산할 수 있는 [계산된 필드]를 새로 생성하고, 해당 필드의 결과가 양수인지 음수인지에 따라 화살표를 출력할 수 있다.
1. 고정된 MoM만들기
sum(if DATEDIFF('month', [Order Date], today()) = 12 then [Profit] end)/
sum(if DATEDIFF('month', [Order Date], today()) = 13 then [Profit] end) * 100
임의로 현재 날짜에서 1년 전 데이터와 1년 1개월 전 데이터를 가져와서 MoM을 구했다. 구할 기간을 다르게 설정하고 싶다면 datediff의 결과를 원하는 개월 수로 설정하면 된다.현재 상태에서는 today()로 기준 날짜가 고정되어있기 때문에, 기간을 정하는 숫자는 수동으로 고쳐줘야 한다.
2. 화살표 만들기
그리고 앞서 설정한 MoM 필드의 결과를 토대로 화살표를 만들어줘야 한다. 위 조건식에 따르면 MoM이 양수일 경우 위쪽 화살표를, 음수일 경우 아래쪽 화살표를 보여주게 된다.
5. Airbnb 서비스 개선 프로젝트 2 - 대시보드 수정
전날 완성했던 대시보드에 대한 피드백을 바탕으로 대시보드의 기능과 내용을 수정하는 과정을 거쳤다. 오늘 받았던 피드백은 다음과 같다.
1. 대시보드를 통해 해당 데이터가 어디에 위치하고 있는지 알아볼 수 있는 직관이 중요한데, 테이블을 누르면 지도에 표시해주는 동작을 설정해 준 부분이 좋았다.
2. score를 사용할 때는 100점이 만점인 것으로 변환해야 알아보기 쉽다.
3. 이중 축을 사용한 그래프가 많아서 해석이 쉽지 않다. 사용자가 바로 이해하기 쉽도록 부연설명을 텍스트로 달아주는 것이 좋다.
4. 운영 기간을 계산할 때 가장 최근 날짜를 고정해서 사용한 것은 지금은 문제가 없지만, 데이터가 업데이트 된다면 문제가 발생할 수 있는 부분이다. 이를 자동화하는 것이 좋다.
1. 객실 점수 100으로 환산/운영 기간 분기단위로 변경
객실 점수의 max를 100점으로 환산하여 변환하였고, 기존 스코어는 운영 일자를 '월' 기준으로 나누어 산출하였는데, 월을 기준으로 하면 기간에 대한 페널티가 강하게 들어가 이를 완화하여 ‘분기’를 기준으로 수정했다.
객실 점수를 100점으로 환산하기 위해 각 점수를 전체 데이터에서 가장 큰 점수로 나눠주는 방식을 사용했는데, 이를 위해 차원에 관계없이 max값을 고정해주는 LOD(FIXED)를 사용했다.
2. 날짜 자동화 설정
기간에 대한 페널티를 구하기 위해 만들었던 ‘DATEDIFF’ 필드에서 기존에 고정해주고 사용했던 #2015-08#을 {FIXED : MAX([HOST SINCE])}를 이용해 가장 최근 날짜가 바뀌더라도 자동적으로 변경될 수 있도록 설정하였다.
3. 평균 수평선 추가
막대와 원을 통해 여러 객실을 운영하는 호스트들의 상대적인 운영 현황을 알기 위한 그래프에 평균 수평선을 추가했다. 평점의 평균 수평선을 통해 관리 대상 호스트를 수평선을 기준으로 낮은 평점을 보유하며, 많은 객실을 운영하고 있는 호스트로 명확하게 선별할 수 있도록 하였다.