[데이터 소개]
https://www.kaggle.com/vodclickstream/netflix-audience-behaviour-uk-movies
캐글의 " Netflix audience behaviour - UK movies " 데이터를 가지고 왔다
해당 데이터는 UK 넷플릭스 유저들의 브라우징 액티비티를 추적한 것으로, 2017.1-2019.6까지의 데이터이며, 각 영화에 머무른 시간(duration)을 알아보고자 하는 것이 핵심이다
[데이터 전처리]
- 엑셀
- 하나의 영화가 가진 장르가 여러개라서 이걸 그대로 썼을 때 과연 태블로 내에서도 개별 요소들이 구분되는지, 아니면 따로 구분을 해 주어야 하는지 모르겠다. 그래서 일단 시트를 구분해서 둘 다 해보기로 함
심지어 genres 라는 변수명을 각각 다르게 설정해줘야 하는지(넘버링을 통해) 아니면 또 같게 해줘도 되는 건지 헷갈린다. 같게 해주면 같은 변수라고 인식 되나?
일단 나는 지금 블로그 게시물을 쓰면서 해보는 중이기 때문에 한번 해보고 밑에 덧붙여 쓰겠다
- 태블로
1. 데이터 해석기 (레코드 값이 많아서 굉장히 오래걸림.. 심지어 뭐 바뀐지도 모르겠음)
2. row num 변수 필요 없어서 숨겨줌
3. 형식 정돈
[데이터 자체로만 한 EDA]
1. 가장 중요한 변수는 duration이니까, 이를 기준으로 정렬해야 되겠다.
1-1. duration이 높은 월, 요일, 시간대
1-2. duration이 높은 장르
2. user id는 로그값이라 임의로 붙는 건 줄 알았는데, 개별 유저를 대표하는 값이 맞는 듯. 중복된 값이 있다.
다만 해당 데이터가 다수의 경로로 유입된 유저를 모두 기록하는 것이기 때문에, 동일 유저임에도 경로별로 id 값을 다르게 부여할 가능성도 있을 듯 하다. 하지만 이는 내가 거를 수 없음. 넷플릭스의 특성상 로그인된 유저만 영화를 볼 수 있지만 이건 말 그대로 클릭 유저를 트랙킹한 거라, 비회원의 로그값도 기록되지 않았을까?
어쨌든 유저별로 duration을 합산하여, 유저를 계급화, 유형화할 수 있을 듯
3. 2와 비슷하게, 영화의 title과 id값이 존재하기 때문에, duration 합계가 높은 영화를 추산할 수 있다.
전체 영화 중 상위 영화 분석 가능
4. 전체 영화 중 넷플릭스가 보유한 영화의 장르 편향성을 분석할 수 있다. 넷플릭스와 계약했고 + 유저들이 클릭한 기록이 있는(0인 경우 아예 논의할 가치가 없다고 가정했을 때) 영화 장르는 주로 무엇인가 (이는 duration이 필요 없다)
5. 월, 요일, 시간대 별로 인기있는 개별 영화(title), 장르가 다를 것이다.
5-1. title
5-2. genres
6. duration이 높은 '특정 개봉 연도'
개봉 연도에 대한 배경 지식이 있다면, 그 때의 영화 트렌드를 파악할 수 있고, 현재 언제 개봉한 영화를 주로 보는지 확인하면서 사용자들이 주로 선호하는 '특정 개봉 연도'를 도출할 수 있다
유행은 돌아온다는 말이 있듯이, 17/18/19년도에 각각 선호하는 특정 개봉 연도가 다를 것이라고 생각된다.
사실 이 모든 가정을 다 실험해 볼 수도 있겠으나 현재 시간의 부족으로 (ㅠㅠ) 일단 중요하다고 생각되는
duration이 높은 (시간 변수), (장르), (개별 영화), (유저), (특정 개봉 연도)를 해보고자 한다.
+
더 깊은 분석을 위해서는 외부 데이터 연결이 필요하다
- 넷플릭스 UK에서 보유한 영화의 세부 정보(감독, 출연 배우, 평점 등)을 연결지어 확인하면 왜 사람들이 해당 영화를 클릭했는지 근거를 정확하게 분석하는 것이 가능하다
(movie id가 다른 데이터셋에도 동일하게 적용되는지 고려 필요, 동일하다면 훨씬 쉽게 연결 가능할 것)
- 유저 정보 데이터. 유저의 나이대, 성별, 가입시기, 직업 등의 세부 정보가 있다면 타겟 고객 유형을 설정하는 데에 큰 도움이 될 것 같다. 현재의 데이터로 유저를 굳이 분석하자면 "평균체류시간" "누적체류시간" "선호 장르" 이 정도만 뽑을 수 있기 때문에 한계가 있다.
[차트]
1. duration이 높은 개별 영화 / 유저
열에 title/ user id를, 행에 duration을 넣으면 간단하게 히스토그램을 만들 수 있다
다만 생각했던 것보다 레코드 수가 너~무 많아서 특정 값을 필터링하는 방식으로 만드려다가 그냥 상위 10개의 레코드만 뽑기로 했다
=> 해당 값들을 히스토그램으로 넣어 극단값의 격차를 확인하고 + box plot을 통해 해당 값이 전체적으로 어떤 위치에 있는지 확인 + 각 값들의 duration 평균값/ 전체 duration 평균값을 다시 히스토그램이나 단순 도표로 정리하면 잘 팔리는 영화와 충성도 높은 고객이 전체 평균값보다 도대체 얼마나 더 쓰는지 확인할 수 있다. 이는 해당 고객, 영화에 대한 마케팅 비용을 책정할 때 사용될 수 있을 것이다.
원래 하위 값도 확인하려 했는데 다시 생각해보니 그런 고객과 영화는 너무나 많아서 굳이 10개만 뽑을 수 없고 굳이 확인하자면 걍 count 해서 유령고객, 유령콘텐츠 비중 확인 정도만 해도 충분할 듯 하다.
+ 하다 보니까 datetime(년)을 색상으로 넣는 게 좋겠다는 생각이 들었다
그러면 유저의 경우 해당 유저가 지속적으로 넷플릭스를 사용한건지, 특정 년도에 집중해서 사용한 건지도 확인할 수 있고(현재도 플랫폼을 이용하고는 있는지), 영화의 경우에는 그 영화가 언제 유행했는지 알 수 있다
+ date타임으로 필터링 넣고 상위 값 다시 추출해서 각 연도별로 달라지는 상위 영화를 파악하는 것도 좋을 듯
아예 대시보드 내에 겹쳐서 강조하는 것도 가능할 것 같다
다만 유저를 이렇게 뽑아내는건 굳이? 의미 없을 듯
(1) duration이 높은 개별 영화
순위 | 영화명 | duration (단위: 초) |
1 | black mirror: Bandersnatch | 295,512,934 |
2 | Hot Fuzz | 115,028,848 |
3 | Annihilation | 112,093,639 |
4 | Avengers: Age of Ultron | 110,605,705 |
5 | Deadpool | 106,944,711 |
6 | Bird Box | 102,107,377 |
7 | Bright | 95,716,587 |
8 | The Hitman's Bodyguard | 95,466,785 |
9 | FYRE: THe Greatest Party That Never Happend | 94,241,935 |
10 | 13 Reasons Why: Beyond the Reasons | 93,370,663 |
전체 영화의 평균 duration : 약 2,839,274
(2) duration이 높은 유저
1위 유저 duration : 21,187,684
2위 유저 duration : 35,168,904
전체 유저 평균 duration : 약 138,881
=> 0 내지는 음수 값이 있어 그런듯
여기까지 하고 답답한 점
1. 배경 시트 설정 어떻게 하더라? 뒤의 선을 지우고 싶은데 못찾음..
2. 지금 duration 합계가 연도별로 따로 나오고 있는데 (연도-색상 설정을 한 뒤부터) 연도별 구분을 한 상태에서 라벨링만 유저별/영화별로 duration 누적 값을 할 순 없는가?? 진짜 이부분이 너무 거슬림 ㅠㅠ
3. 라벨링에서 숫자 단위 다르게 설정할 수 있다고 했는데 그 부분을 못찾음..
(3) box plot
- 영화
아 이 둘은 블로그 내에 어떻게 배치해야 하는지 모르겠다
딱 봐도 값이 아래에 포진해있고, 극단값과 차이가 크다
유저, 영화 모두 1, 2위 값의 차이가 굉장히 큼!
2. duration 높은 장르 상위 10개
- 가장 모르겠는 것
분명 차트 자체의 크기를 조정하는 방법을 영상에서 본 것 같은데 그게 뭔지 모르겠음!!
파이차트가 인간적으로 넘 작다..^^ 파이차트는 어케 크기 조정 하는거지...
그리고 우려했던 대로 장르 구분이 안됨. 이건 정확한 값이라 할 수 없음
장르 쪼갠 데이터로 다시 작업할 예정이며, 추가적으로 아까 계산한 상위 유저가 많이 본 장르도 파이차트로 만들 수 있을 것 같음!
[대시보드]
[수정]
이때 만들었던 것에서 최대치로 다시 작업해보았다.
아예 새로 짜서 대시보드를 다시 만들어보고자 한다.
여기 이 대시보드는,,, 당시 내가 시간이 충분했더라면, 그리고 그 때 가진 지식 수준이라면 최대치가 이 정도였을 것이다! 싶은 대시보드임.
바뀐 점
1. 색을 좀 더 깔끔하게 해보았다...분홍색은 아무래도 촌스럽다
2. 이중축 기능을 이용하여 년도별로만 넘버링되던 현상을 수정하고 각 유저/ 영화별 값을 도출하여 전시하였다!!
3. 시트 및 축의 지저분한 선을 정리했다
4. 대시보드 자체의 크기를 조정하여 보기 좋게 정리했다
> 이제부터는
1. 대시보드의 목적에 맞게 미리 개요도를 짜보고자 한다
2. 대시보드 배치의 자유도를 높여야 함. 지금은 너무 정렬되어 있어서 오히려 한 눈에 들어오지 않음
ㄴ 파이차트의 크기가 조정되지 않는 문제도 이러면 해결될 듯
3. 산포도랑 파이차트를 아예 빼버리는게 나을 듯. 왜냐면 막상 넣어놓으니 별 의미가 없다 ㅋㅋㅋㅋㅋ
4. 배경 색이 하얀색이 아니라 다른 색이면 좀 더 멋스러울지도...?
5. 대시보드 자체에 텍스트를 좀 넣어야 설명도 되고, 보기에도 좋을 것 같다
6. 욕심부리지 말고 메인 그래프를 하나 넣고 나머지는 짜바리(?)로 넣는게 의미 전달에 좋을 듯 하다
'Tableau' 카테고리의 다른 글
[Tableau] Tabpy로 감성분석 시트 만들기 (0) | 2021.08.12 |
---|---|
[vizable] 주간 대시보드 작성 : valorant dashboard 작성중 (0) | 2021.07.27 |
[태블로] 태블로에 xml, json 파싱해오기 (0) | 2021.07.06 |
[vizable] 대시보드 수정(대시보드 제작 계획 및 실행) (0) | 2021.06.26 |
[vizable] 3주차 과제 - 태블로 필사 (radial line bar chart 그리기) (0) | 2021.06.05 |