
PM의 데이터 시각화
PMB에서 일주일 동안 데이터 분석 실무를 수강하면서 PM은 데이터를 통해 프로덕트를 개선하는 인사이트를 발견하는 능력을 키워야 한다는 것을 알게되었다. 특히나 산업 대부분에서 데이터 기반 의사결정을 내리는 현 시대에서 프로덕트를 개발하고 운영하다보면 수많은 고객 행동 데이터를 수집할 수 있을 것이다. 수집한 방대한 데이터를 그냥 들고 의사결정을 하거나 상대방을 설득하기는 어려울 것이다. 데이터를 수집한 후 분석하고 결과를 쉽게 이해할 수 있도록 시각적으로 표현하는 전달 과정을 데이터 시각화라고 한다. PM이 데이터 시각화를 잘 한다면 수집 후 분석한 결과를 빠르게 이해해서 제품의 개선점을 쉽게 발견하고 제품팀과 빠르게 제품의 문제에 대해서 커뮤니케이션 할 수 있을 것이다.
데이터 시각화는 GA, 앰플리튜드, 맷플롯립, Seaborn 등 다양한 도구를 이용해서 할 수 있다. 데이터 시각화를 할 때에는 데이터 특성에 맞는 적당한 시각화를 선택해서 원하는 정보를 한 눈에 확인할 수 있도록 가공해야 한다. 또한 많은 데이터를 담고 예쁘게 꾸미는 것에 집중하는 것이 아니라 핵심지표가 잘 보이도록 설정하는 것이 중요하다.
오늘은 강의에서 배운 내용을 바탕으로 Dacon의 무료 데이터를 분석해보겠다.
CGV

대한민국을 대표하는 멀티플렉스 영화관인 CGV. CGV의 PM이라면 많은 고객이 상영관을 찾도록 하기 위해서 영화에 대한 데이터를 수집하고 분석해서 인사이트를 발견하거나 의사결정을 내릴 것이다. CGV의 PM으로서 Dacon에서 얻은 공공데이터를 분석하여 CGV가 어떤 방향으로 고객의 문제를 해결할 수 있을 지 가설을 세우고 검증해보겠다.

Data 설명
해당 데이터는 DACON 교육용 대회 '[문화] 영화 관객수 예측 모델 개발'에서 제공하는 데이터로, 2010년대 한국에서 개봉한 한국영화 600개에 대한 감독, 이름, 상영등급, 관객수 등의 정보가 담긴 데이터이다. movies_train.csv, movies_test.csv 두개의 파일이 포함되어 있으며, 각 항목은 'title : 영화의 제목, distributor : 배급사, genre : 장르, release_time : 개봉일, time : 상영시간(분), screening_rat : 상영등급, director : 감독이름, dir_prev_bfnum : 해당 감독이 이 영화를 만들기 전 제작에 참여한 영화에서의 평균 관객수(단 관객수가 알려지지 않은 영화 제외), dir_prev_num : 해당 감독이 이 영화를 만들기 전 제작에 참여한 영화의 개수(단 관객수가 알려지지 않은 영화 제외), num_staff : 스텝수, num_actor : 주연배우수, box_off_num : 관객수'으로 총 12개의 항목으로 구성되어 있다.
CGV의 PM으로서 고객에게 즐거움을 제공하기 위해 다음에 상영할 영화를 결정해야 하는 상황이라고 가정하자. 현재 상황에서 어떤 영화가 고객들이 많이 볼 지는 예측하기 어려우니, 과거 데이터를 분석하여 많은 관객수를 얻은 영화가 가지는 특징을 알아 볼 수 있을 것이다. 그렇다면 주어진 데이터에서 눈여겨 볼 데이터는 box_off_num: 관객수가 된다. 차근차근 가설을 세워보자.
가설 1. 상영시간이 긴 영화는 관객수가 적을 것이다.
바쁜 현대사회를 살아가는 고객들은 영화관에 방문하는 것 자체가 큰 결심일 것이다. 영화를 예매할 때 상영시간을 확인하여 상영시간이 긴 영화는 관람을 포기하고 상영시간이 짧은 영화를 많이 관람할 것이다.

R을 이용해서 상영시간과 관람객 수의 상관관계를 나타내는 산점도를 그려보았다. 결과는 나의 가설과 정 반대로 나왔다. 나는 상영시간이 길면 관람객 수가 적을 것이라고 예상하였는데, 데이터는 상영시간이 증가 할수록 관람객 수도 증가한다는 사실을 보여준다. 전체 데이터를 보면 그런 경향성이 보이는 동시에 대부분의 영화는 상영시간과 상관 없이 낮은 관객수를 보유하고 있다. 눈여겨 볼 점은 관객수 상위 10위권의 영화들은 상영시간이 120분-160분 사이에 위치하고 있다.
-> 데이터 분석 결과에 따르면 흥행작(고객으로부터 선택받은 영화)는 상영시간이 120min-160min이므로 다음에 상영할 영화를 선정할 때 상영시간이 해당 수준에 속하는지를 확인해 볼 수 있다.
가설 2. 전체 관람가 등급의 영화가 많은 관객수를 보유할 것이다.
해당 데이터에서 영화의 관람등급은 '전체 관람가, 12세 관람가, 15세 관람가, 청소년 관람불가'로 4가지 유형으로 분류된다. CGV의 PM으로서 많은 관람객의 유치하는 것이 목적임으로, 당연히 모든 연령층이 관람할 수 있는 전체 관람가 등급의 영화가 많은 관람객 수를 보유하고 있을 것이라 가설을 세워볼 수 있다. 이 논리대로라면 연령층이 가장 적게 겹치는 '청소년 관람불가' 등급은 가장 적은 관람객 수를 보유할 것이라고도 생각해 볼 수 있다.

따로 전처리 하지 않은 로우데이터를 R에 넣고 돌려보았다. 결과는 예상과 상당히 달랐다. 모든 연령층을 아우르는 전체 관람가 등급의 영화는 관람객 수가 가장 적은 등급이었다. 가장 많은 관람객 수를 보유하고 있는 등급순으로 줄세우면 12세 관람가 -> 15세 관람가 -> 청소년 관람불가 -> 전체 관람가 순이었다. 가장 많은 관람객을 보유하고 있는 12세 관람가 등급에서, 1등은 아웃라이어로 생각해도 될 정도 이며, 오히려 많은 관람객이 적당히 분포되어 있는 관람등급은 15세 관람가로 보는게 타당한 수준이다. 또한 그래프를 보면 애초에 전체 관람가 등급의 영화의 수가 현저히 적은 것을 확인할 수 있다.
-> CGV PM으로서 다음에 상영할 영화가 적당한 수준으로 관람객을 끌어들이기를 원한다면 15세 관람가 등급의 영화를 우선순위에 두어야 한다.
가설 3. 여름과 겨을에 출시된 영화의 관객수가 많을 것이다.
여름과 겨울에는 학생들의 방학이 있고 극단적인 온도로 실내 상영관이 인기를 끌 것같다. 많은 관객을 유입시킬 수 있는 여름과 겨울에 블록버스터와 같은 영화를 개봉시키고, 학생과 관람객을 대상으로 한 이벤트 등을 기획한다면 관람객을 많이 유치시킬 수 있을 것이다.

영화 개봉 월에 따른 관람객 수를 그래프로 그려보니 봄+가을보다 여름+겨울에 많은 관람객이 몰려있음을 확인할 수 있었다. 관람객 순위 1-4위가 여름+겨울에 몰려있었다. 개봉 영화의 개수도 봄+가을보다 여름+겨울이 상대적으로 많았다. 봄+가을에 개봉한 영화의 관람객 수는 편차가 크지 않는 것을 확인할 수 있었고, 여름+겨울에 개봉한 영화의 관람객 수는 편차가 꽤 있다는 것을 확인할 수 있었다.
-> 영화 관람객은 여름과 겨울에 개봉하는 영화를 보러 영화관을 많이 찾으니 그들을 대상으로 한 이벤트를 기획할 수 있다.
DACON에서 제공하는 데이터를 R을 활용하여 분석하여보았다. 학부 때 잠깐 배운 R을 다시 꺼내 돌려보니 싱숭생숭한 느낌이다. R을 다시 깔아서 먼지 털어주고 필요한 함수를 구글링해서 쓰다보니 과제하는 데 시간이 생각보다 많이 들었다. 과제를 진행해보니 툴을 다루는 게 서툴다고 걱정할 건 아니라는 생각이 들었다. 툴을 다루기는 어렵지만 그보다 어려운 건 가설을 세우고 검증하는 과정에서 인사이트를 토출해내는 것이었다. 오늘 과제에 사용한 데이터가 CGV와 딱 들어맞는 데이터도 아니라서 과제를 진행하며 자기 의심이 많이 생겨났지만... 데이터를 기반으로 가설을 세워보는 연습을 할 수 있어서 만족스러웠다.
출처:
https://dacon.io/competitions/open/235536/overview/description
'코드스테이츠 PMB 12기' 카테고리의 다른 글
[코드스테이츠 PMB 12기] W7D1 어글리어스 랜딩페이지의 프론트엔드 탐색하기 (0) | 2022.06.24 |
---|---|
[코드스테이츠 PMB 12기] 6주차 회고. 왜째서 코딩중인건디? (0) | 2022.06.22 |
[코드스테이츠 PMB 12기] W6D3 린 분석 관점에서 바라 본 아이디어스 (0) | 2022.06.19 |
[코드스테이츠 PMB 12기] W6D2 잼페이스의 핵심지표 Google Analytics로 파헤쳐보자! (0) | 2022.06.19 |
[코드스테이츠 PMB 12기] W6D1 유튜브 뮤직 유저의 행동을 Flow Chart에 담아봤어 :) (0) | 2022.06.16 |