지금까지..
데이터를 다루는 일을 하고싶다고 마음 먹은 후,
프로그래머스에서 주관하는 데이터분석 데브코스 2기에 참여할지 말지 고민하느라 밤잠까지 설치던 때가 엊그제 같은데
벌써 4개월이 지나고 이제 마지막 최종 프로젝트만을 남겨두고 있다. (사실상 현재 진행중이긴 하다.)
데브코스 내에서 짧은 월간 프로젝트를 3번이나 진행했었지만, 프로젝트 기간이 너무 짧기도 했고 과연 이걸 포트폴리오에 녹여낼 수 있을까 하는 걱정이 많이 되었다.
그래서 최종 프로젝트는 포트폴리오에 넣어 당당히 내보일 수 있을 만한 퀄리티와 규모로 진행하고 싶었다.
마침 그러한 팀을 모집한다고 해서 최종 프로젝트 시작 기간을 한달이나 앞둔 시점에 해당 팀에 참여하게 되었다.
첫 번째 주제 : 음악 추천 시스템
호기롭게 시작한 우리 팀의 첫 번째 주제는 음악 추천 시스템이었다. 내 아이디어였다.
사주, 운세, 타로 등등 이러한 미신들을 믿지는 않지만(?) 관심이 많았다. 흥미로웠다고나 할까.
그래서 나는 평소에도 매일 아침 일어나자마자 X의 '보조 오하아사' 계정에서 내 별자리에 해당하는 운세를 체크하곤 한다.
당연하게도 하루가 운세대로 흘러가진 않지만, 사람 마음이란게 좋은 운세가 적혀있으면 하루가 그것대로 흘러갔으면 좋겠고, 별로인 운세가 적혀있으면 그건 피해갔으면 한다. 나도 마찬가지이다.
그러한 점에서 오늘 하루를 기분좋게 시작할 수 있는 운세 기반의 노래를 추천하는 서비스를 개발해보고 싶었다.
너무 안일하게 생각했던 것일까.
서비스 얼른 개발해서 웹으로 배포하면, 인맥 총 동원해서 우리 서비스 이용한 사람들의 데이터를 수집해서 분석하고 개선점까지 도출할 수 있지 않을까? 라고 생각했다. 하지만, AB Test를 위한 비교군 데이터는 정말 많이 필요한데, 인맥을 총 동원한다고 해도 현실적으로 불가능했다. 뿐만 아니라 대조군 데이터는 우리 서비스를 사용하지 않는 사람들에 대해서도 데이터를 수집해야 하는데, 이를 해결할 방법이 없었다.
멘토님 피드백 결과, 기획 아이디어 자체는 정말 좋지만 AB Test를 위한 데이터 수집이 어려운 점과
추천 시스템 개발이 주가 된 이 시점에서 데이터 분석보다 모델 개발에 더 힘을 쏟을 것 같다는 점에서 주제를 변경하기로 결정했다.
결론적으로, 첫 번째 주제의 문제점은 다음과 같다.
- 머신러닝에 초점이 맞춰진 주제 (데이터 분석과는 거리가 멀었음)
- AB test를 진행해야하는데 음악 추천 시스템을 개발할 경우,우리 서비스를 사용하지 않는 사람들에 대한 '대조군 로그 데이터' 수집이 어려움
기회가 된다면 서비스 개발까지는 꼭 완성시켜보고 싶다. 내가 낸 아이디어였으니까..
두 번째 주제 : 노인 삶의 질 개선을 위한 팝업스토어 제안
이건 다른 팀원분의 아이디어였다.
사실 Kaggle은 머신러닝을 위한 데이터들이 많아서 잘 가공된 데이터가 대부분이다. 그래서 데이터 퀄리티가 좋을 수 밖에 없다.
뿐만 아니라 거의 대부분 해외의 데이터라 우리나라의 특정 상황을 반영하지 못하거나 너무 오래된 데이터들이 많다.
이러한 이유들로 우리 팀도 계속해서 Kaggle에서 데이터 수집을 피해왔다.
두 번째 주제를 정할 때 이 부분을 감안하여 최대한 우리나라에서 공개된 공공 데이터를 위주로 찾으려고 노력했다.
참고한 사이트는 '한국 데이터 거래소', '공공 데이터 포탈', '서울시 빅데이터 캠퍼스' 등이 있다.
근데 좋은 데이터(=로그 데이터)는 거의 대부분 유료이고, 무료인 데이터는 데이터 수가 너무 적거나 통계성 데이터가 많았다.
그래서 나는 결국 Kaggle에 있는 데이터로 준비했다.
최종적으로 다른 팀원분이 낸 '노인 삶의 질 개선을 위한 팝업 스토어 제안' 아이디어가 너무 획기적이라고 생각해서 이를 채택하기로 했다.
하지만, 멘토님께 피드백을 구한 결과 진행하기 어려운 주제로 결론났다.
기획 아이디어 자체는 정말 좋았으나, 기획 배경에서부터 팝업 스토어가 노인 삶의 질 개선에 필요할 것이다'를 증명할 만한 데이터를 구하는 것이 거의 불가능했다. 데이터가 구해진다 하더라도 이러한 기획 과정에서 세웠던 가설과 실험을 통해 나온 결론이 일치하지 않을 수도 있었다. 가장 치명적인 문제점은 '그래서 이 분석을 통해 얻게되는 이점이 뭔데?' 에 대한 답을 내리기 힘들다고 판단했다.
정리하자면, 두 번째 주제의 문제점은 다음과 같다.
- 데이터 수집 불가 (있어도 통계 데이터나, 관련 데이터 자체를 수집하는 과정이 어려웠다)
- 명확한 분석 목적이 없음 (그래서 이 분석을 통해 얻는 이점이 무엇인가? 왜 이러한 분석을 해야하는가?)
- 논리 부족 (노인 삶의 질 개선을 위해 왜, 하필, '팝업 스토어'여야 하는가? 를 증명하기 어렵다.)
- 팝업 스토어 관련 데이터가 없음 (있다고 하더라도 기획단에서 세웠던 가설과 실제 결론이 불일치할 가능성 있음)
그래서 우리의 해결 방법은?
사용자의 기록이 담겨져있는 로그 데이터(최대한 raw한 데이터)를 찾는 방향으로 해결했다.
사실, 첫 번째 프로젝트 주제가 무산되고 다시 주제를 찾을 때, 이런 방향으로 데이터를 찾긴 했다.
위의 팝업스토어 주제가 혹시라도 무산될 가능성을 염두해두고 Plan B로 빼둔 데이터였다.
내가 찾은 데이터는 사용자의 웹 로그가 저장된 데이터와 그런 사용자들에 대한 기본적인 정보가 담겨져 있는 데이터를 찾았다.
배운 점
프로젝트 주제를 두 번이나 갈아 엎으면서 깨닫게 된 점은
1. 데이터 수집 과정에 있어서 가장 중요한 것은 '지표(=데이터 분석가의 역할)를 정의할 수 있는가' 이다.
2. 아무리 좋은 아이디어라 하더라도 좋은 품질의 데이터가 준비되어있지 않은 이상 분석을 진행하는 것은 어렵다.
즉, 기획보다 데이터가 우선이다.
데브코스를 시작하면서 맥스 강사님이 항상 강조하셨던 것이 '좋은 품질의 데이터가 준비되어있는 것'이었는데,
프로젝트 주제 선정 과정에 있어서 이렇게 몸소 느끼게 될 줄은 몰랐다.
"데이터가 우선인가 기획이 우선인가?"
기업에서는 해당 도메인 영역 내에서 충분한 데이터가 준비되어 있기 때문에 기획 단계에서 시작된다고 할 수 있지만,
외부에서 진행하는 이러한 프로젝트에서는 데이터가 준비되어 있지 않은 상태에서 기획부터 시작할 경우 데이터가 오히려 더 큰 병목이 될 수 있다.(우리 팀 처럼..)
나는 사실 아이디어를 내고 이를 실현시키는 과정이 좋아서 데이터 분석기 과정을 선택한 것이기도 했는데,
사실 데이터 팀은 기업의 서포트 조직이라는 것을 떠올리니 기획에 있어서 데이터 분석가가 참여하는 것은 힘들 수도 있겠다는 생각이 들었다.. 살짝 현타가 오는 중이다.
앞으로는?
아직 주제는 미정이다. 아마 KPI를 분석하고 나서 정해지지 않을까 싶다.
데이터는 내가 찾은 데이터로 진행하기로 했고, 기초 EDA까지 마친 상태이다.
이제 데이터웨어하우스에 데이터를 올리고 KPI 분석과 대시보드 생성 등등.. 이후의 과정만이 남은 상황.
사실 지금부터가 정말 걱정이다.
나는 자료 수집 스킬이 상당히 좋아서(첫 번째 월간 프로젝트 팀원분들한테 이 부분에 대해 칭찬을 많이 받았다..//) 데이터 분석에 있어서 도움이 많이 되었다. 예를 들어, 특정 도메인에 대한 지식이 부족한 상황에서 EDA로 나온 수치에 대해 분석을 진행해야할 때 관련된 기사나 논문 등에서 정보를 추출해서 필요한 내용을 대입시키는 능력이 꽤나 좋은.. 것 같다. ㅎㅎ
반면에 데이터 엔지니어 파트쪽은 정말.. 강의를 들어도 모르겠다. ㅠㅠ
스타 스키마를 어쩌구해서 데이터 웨어하우스에 올려서 저쩌구해서...
사실 지금 진행하는 프로젝트에서는 그 부분이 프로젝트 진행에 있어 기반이 되는 파트라 중요한데, 어제 멘토님 피드백을 들었을 때 '그래서 어떻게 하라는거지..?' 하는 생각이 머릿속을 지배했다. 다른 팀원분들에 비해서 너무 부족한 것 같아서 조금 더 일찍 일어나서 계속 공부해야할 것 같다.
남은 기간 열심히 하자.. 포트폴리오랑 이력서도 틈나는대로 계속 채워나가야 겠다.