Diary, Data, IT

유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 8주차 학습 일지 본문

STARTERS

유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 8주차 학습 일지

라딘 2023. 4. 2. 22:03

 

 

유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 8주차 학습 일지

 

 


 

 

8주차 학습내용

 

1. Super Store Sales Tracking Dashboard Cheat Sheet

월요일에는 지난 주에 완성했던 대시보드에 대한 간략한 발표를 진행하고, 이에 대한 피드백을 받았다. 결과적으로 이번 프로젝트에서 1등 팀으로 선정됐다! 당시에 너무 뿌듯하고 기뻤다..ㅎㅎ 실적이 부진한 제조업체를 찾아내겠다는 명확한 목적 하에 이에 부합하는 그래프들을 차례로 대시보드에 수록한 점, 결론적으로 명확한 조건에 부합하는 리스트를 산출해낸 점, 또 다른 지역은 모두 수익을 내고 있는데 한 지역만 수익을 내지 못하고 있는 경우에 포커스를 맞춰 분석한 점이 새로운 관점이라는 평가를 받았다.

 

아쉬웠던 점으로는 주별 평균 할인율과 지역의 순이익률을 원으로 나타낸 그래프가 나타내는 바가 명확하지 않고 해석하기 어렵다는 피드백을 받아서, 해당 그래프를 수정했다. 그래프를 통해 보여주고 싶었던 것은 매출이 낮은 지역에 지나치게 높은 할인율이 적용되어 있다는 것으로, 매출과 할인율의 관계를 더 쉽게 보여줄 수 있는 막대와 선 그래프로 변경했다.

 

피드백을 통해 수정한 내용은 다음과 같다.

 

 

 

 

2. 태블로 심화 그래프

2.1 게이지 차트

반원에서 얼마만큼의 비율을 차지하는지 표현하는 게이지 차트를 그리기 위해서는 일종의 계산식이 필요하다. 또 도넛 차트와 마찬가지로 파이차트를 2개 그려 모양을 조정해줄 필요가 있다. 구체적인 과정은 다음과 같다.

 

1) 파이 차트를 2개 그리고 이중축을 사용해 겹치도록 만든다. 2번째 파이 차트의 크기를 조금 줄여 큰 원 안에 들어가는 형태로 만들어준다.

 

 

2) 세부적으로 차원을 추가하고 싶다면 1)의 상태에서 열 맨 앞에 차원을 추가해주면 된다. 이후 구간에 따른 조건을 걸어 게이지 차트에 적합한 형태로 만들어준다. 조건의 상세 내용과 계산에 사용될 비율 필드에 대한 내용은 다음과 같다.

 

 

 

 

 

조건에 맞는 계산된 필드를 각각 slice1 ~ slice5까지 만들어주고, 이를 측정값으로 넣어준다. 그 후, slice1과 slice4는 게이지를 표시할 색, slice2와 slice5는 게이지가 차지 않았을 때의 색, slice3은 흰색으로 지정해주어야 한다. 그러면 위와 같은 결과를 얻을 수 있다.

 

 

2.1.1 게이지 차트 심화

게이지가 찬 정도에 따라 색을 다르게 보여주는 기능을 넣을 수 있다. 계산된 필드를 이용해 조건을 걸어주고, 해당 조건을 만족할 때의 색상을 하나하나 지정해주는 방식으로 구현할 수 있다. 예를 들어 20%미만, 20~40%, 40% 이상으로 나누어 해당 조건에 따라 색을 다르게 보여주고 싶다면 먼저 아래와 같은 계산된 필드를 생성한다.

 

 

이렇게 만든 계산된 필드를 먼저 [세부정보]로 넣어준 뒤, 아이콘을 클릭하여 [색상]으로 변경해준다. 그리고 모든 경우의 수를 포함하는 상태로(ex. 날짜 매개변수 조정) 만들어준 뒤, 위에서 색상을 지정했던 것과 동일한 방식으로 변경해준다. slice1과 slice4는 게이지로 채울 색을 범주에 따라 결정해주고, slice2와 slice4는 동일하게 게이지를 채우지 않았을 때의 색, slice3은 하얀색으로 고정한다. 이런 방식으로 완성된 게이지 차트는 다음과 같다.

 

 

 

 

2.2 와플차트

 

1. INDEX 필드 생성

 

 

2. 정수 매개변수 만들기

 

3. path 생성, path 구간차원 생성

 

4. TC_Sales, TC_TotalSales, TC_Percentage

조건에 따른 비율을 구하기 위해 TC_Sales와 TC_Total Sales에 조건을 걸어준다. 본 예시에서는 Waffle Parameter라는 매개변수를 추가적으로 생성하여 진행했다.

 

5. Columns, Rows

 

 

 

6. TC_Percentage -> 테이블 계산(path, region)

TC_Percentage를 열에 넣어주고, path(구간차원)을 행에 넣어준 뒤 [누락된 값 표시]를 선택하고 [세부 정보]에 넣어준다.

[다음을 사용하여 계산] - path(구간차원)으로 설정하고, 테이블 계산 편집을 수행한다.

이후, [불연속형]으로 변경해준다.

 

 

7. Colums, Rows 구간차원 추가

보여주고자 하는 차원과 columns, rows를 각각 열과 행에 넣어주고, 각각 [다음을 이용하여 계산] - [path(구간차원)]으로 변경한다.

 

 

8. 색상 추가 및 모양 변경

TC_Color를 이용해 조건에 해당하는 모양의 색을 칠해주는 계산된 필드를 만들어준다. 그리고 [색상]에 해당 필드를 넣어준다. TC_Color을 path(구간차원)을 이용하여 계산하고, 아래와 같이 수정해준다.

 

 

 

마크에서 [모양]을 눌러 원하는 모양으로 변경해주고, [축 편집]에서 반전을 눌러주면 조건을 만족하는 경우를 위에 배치하여 그래프를 그리는 것이 가능하다.

 

 

 

2.3 막대 게이지 차트

 

1) 전체를 1로하여 차지하는 비율을 나타내는 막대 게이지 차트를 그리기 위해 순이익률의 비율을 나타내는 '득점' 필드를 생성해준다. 이때, ZN()함수를 이용해 안의 계산값이 NULL이라면 0을 반환한다.

 

 

2) 열에 1을 입력하고, 앞서 만든 필드를 넣어 2개의 그래프를 만들어주고, [이중 축]-[축 동기화]를 사용하여 합쳐준다.

 

 

3) 축 편집을 통해 범위를 0에서 1로 변경해준 뒤, 레이블과 색상을 조정해준다.

 

 

 

 

2.4 디자인 요소가 포함된 테이블

1) 메인 인덱스 정보를 담은 필드를 행에 두고, 보여줄 정보의 수 만큼 MIN(1.0) 혹은 MAX(1.0)을 입력하여 빈 열을 생성해준다. 생성된 모든 열의 마크는 기본적으로 [원]으로 지정해주고, 원하는 정보를 레이블로 넣어준다.

 

2) 테이블 내에 디자인적 요소를 넣고 싶을 경우에는 [원]을 [모양]으로 변경해준 뒤, 원하는 모양을 삽입하여 텍스트와 같이 출력할 수 있다.

 

3) 테이블의 끝에는 막대 그래프와 같은 그래프 요소를 넣어주는 것도 좋다. 그래프로 넣어줄 측정값 혹은 필드를 열에 넣어주고, 막대나 선 등으로 설정해주면 테이블 내에 위와 같은 그래프를 구현할 수 있다.

 

 

 

3. GooglePlayStore 프로젝트

 

1. 현황

GooglePlayStore는 스토어 내 광고를 통해 수익을 얻거나, 유료 어플의 경우 인 앱 결제에서 발생하는 수수료를 바탕으로 수익을 내는 구조

 

2. 목적

카테고리별로 잠재력을 가진 App을 선정하고, 현재 인기있는 App을 선정하여 광고로 등록하여 수익 증대 모색

 

3. 전처리

데이터를 탐색하던 중, 중복 데이터가 존재한다는 것을 확인했다. 중복 데이터는 크게 1) 모든 필드 값이 중복된 경우, 2) 리뷰 수 등 한 컬럼의 값만 다르고 나머지는 중복된 경우의 2가지가 존재했다. 1)에 해당하는 경우는 행을 모두 삭제하고, 2)에 해당하는 경우 리뷰 수가 가장 큰 값만 남기고 나머지는 제거하는 과정을 거쳤다. 이 과정은 태블로로 진행하는 것이 비효율적이라고 판단하여 SQL로 진행했다.

 

전처리 2)에 해당하는 경우

 

4. 잠재력 점수 및 기준 설정

 

1) 잠재력 기준 설정

잠재력을 가진 앱을 판단하기 위해 Install 수가 너무 적지 않으면서, 또 너무 대중적이지는 않은 적당한 범위를 찾아내고자 했다. 이를 위해 4분위수를 이용했다. 상위 25%에서 상위 75%의 install 수인 1000이상이고 1000000이하인 앱 중 잠재력 있는 앱을 찾아내는 것으로 설정했다.

 

 

2) 잠재력 점수 설정

보유한 데이터셋에서 앱을 평가할 수 있는 정보로는 다운로드 수, 리뷰 수, 리뷰 평점이 있었다. 하나의 점수로 앱을 평가하기 위해 해당 정보들을 결합한 하나의 지표를 산출하고자 했다. 다만 잠재력 있는 앱이라는 것은 이용자들의 만족도와 반응이 대체로 좋아 앞으로 발전 가능성이 높은 앱으로, 현재까지 얼마나 다운로드 되었는지는 다른 지표들에 비해 영향이 적다고 판단했고, 오히려 다운로드 수는 적지만 높은 점수의 리뷰가 평균보다 많은 경우에 더 잠재력이 높다고 판단해야 했다. 따라서 각 install 수 대비, 얼마나 많은 리뷰가 달렸으며 리뷰 평점은 대체로 어떻게 나왔는지를 알 수 있는 잠재력 점수를 선정하기 위해 다음과 같은 식을 사용했다.

 

1. 카테고리의 install 수에 대한 점수화 진행

{ FIXED [Category], [Installs Count]: AVG([Reviews])}

 

2.표준화

{ FIXED [App], [Category]: SUM([Reviews]/[Fixed_Install]*[zn Rating])}

 

3.점수 100점으로 환산

AVG([표준화])/AVG({ FIXED [Category]:MAX([표준화])})*100

 

 

5. 대시보드 레이아웃

앞서 정한 목적과 이에 부합하는 대시보드를 만들기 위한 레이아웃을 구성했다. 레이아웃은 다음과 같다.

 

 

 

 

 


 

8주차 학습후기

태블로 오프라인 강의 3주차에는 기본적인 그래프 이외에 심화적인 응용 그래프들에 대해 많이 다뤘다. 그동안은 전반적인 기능을 활용하는 것을 배웠다면, 이제는 대시보드를 좀 더 디자인적으로 화려하게 만들거나 더 많은 정보를 담고있는 그래프를 만드는 방법에 대해서 배웠다. 기본적인 그래프들로도 충분히 시각적으로 말하고자 하는 바를 전달할 수는 있지만 응용 그래프를 통해 더 효과적인 방식으로 정보를 전달할 수 있을 것 같다!

또 목요일부터 새로운 프로젝트를 시작했다. 전략적인 프로젝트를 진행하면 결국 하나의 목적이나 주제에 부합하는 명확한 결론을 도출해내기 위해 조건을 걸어주고 그에 해당하는 리스트를 산출하게 되는 것 같다. 그리고 여러가지 조건을 모두 만족하는 결과를 찾아내기 위해서는 하나의 score를 만들어주는 과정을 계속해서 거치게 되었는데, 이 과정에서 구체적인 score의 기준을 정하는 과정이 가장 어렵다는 생각이 들었다. 하지만 프로젝트를 진행해갈수록 더 객관적인 지표를 선정해내는 역량이 증가하는 것 같은 느낌이 든다.

 

 

다음 주 보완사항

1등은 못하더라도 대시보드 완성부터 발표까지 후회없이 프로젝트를 수행하는 것이 목표다. 정규 시간 이외에도 시간을 할애해서 좋은 결과를 얻어내고 싶다!

 

 



* 유데미 큐레이션 바로가기 : https://bit.ly/3HRWeVL

* STARTERS 취업 부트캠프 공식 블로그 : https://blog.naver.com/udemy-wjtb

 

본 후기는 유데미-웅진씽크빅 취업 부트캠프 4기 데이터분석/시각화 학습 일지 리뷰로 작성되었습니다.