brunch

You can make anything
by writing

C.S.Lewis

by Jin Young Kim Apr 18. 2022

차이를 만드는 분석을 위한 체크리스트

왜 어떤 분석은 잊혀지고, 어떤 분석은 차이를 만드는가?

데이터 사이언스 업무를 하면서 어떤 분석/모델링 프로젝트는 조직 전체에 엄청난 임팩트를 만드는데 반해 어떤 프로젝트는 소리소문없이 잊혀지는 것을 목격하면서 둘 사이에 어떤 차이가 있을까 종종 고민했었다. 실제 데이터 & 분석 팀을 운영하게 되면서부터는팀 전체의 성과를 더 나은 것으로 만들기 위해 팀원들과 비슷한 고민과 노력을 오고 있다다. 아직도 갈 길이 멀지만, 차이를 만드는 고품질의 분석과 그렇지 못한 분석 가운데 어떤 차이가 있는지 그동안 깨달은 바를 적어보고자 한다.


신뢰할 수 있는 분석

분석은 주어진 데이터에서 최선의 결론을 이끌어내는 기술이며, 이 정의가 함축하듯 분석에 사용되는 데이터, 그리고 분석 기법은 어느정도의 불확실성을 전제한다. 따라서 필자가 생각하는 분석의 품질에서 가장 기본적이면서 중요한 요소가 신뢰성이다. 믿을 수 없는 분석 결과로는 고객을 설득할 수도 없을 뿐더러, 어떤 이유에서건 오류가 있는 결과가 전달된다면 고객을 잘못된 길로 인도할 수 있기 때문이다.  


따라서 필자는 분석 결과에 대한 발표를 듣거나 리포트를 읽을때 가장 먼저 생각하는 부분은 원본 데이터부터 분석 과정, 최종 결론에 이르기까지 신뢰할 수 있는지다. 신뢰할 수 없는 분석 결과에 시간을 낭비하고 싶은 사람은 아무도 없을 것이다. 신뢰성의 검증 방식은 주어진 상황에 따라 다르겠지만, 보통 다음과 같은 기본적인 질문에서 시작하는 것을 추천한다.


원본 데이터는 어떻게 수집되었는가? 누락되거나 오류 가능성은 없을까?

데이터가 필터링 및 샘플링되었을 경우 결과에 어떤 영향을 미칠 수 있을까?

평균 및 중간값이 제시된 경우 표본의 크기는 충분히 큰가? 신뢰구간은 제시되었는가? 

통계적 추론 기법이 사용된 경우 관련된 가정이 주어진 데이터 및 문제 상황에 부합하는가? 


인간관계와 마찬가지로 분석가 혹은 팀이 파트너들의 신뢰를 쌓기 위해서는 오랜 기간동안 신뢰성있는 결과를 내놓아야 하며, 이렇게 쌓인 신뢰 관계가 결정적인 실수 한두번에 무너질 수도 있다. 따라서 결과의 신뢰성을 보증하는 것은 분석가 개인의 노력뿐 아니라 시스템이 갖춰져 있어야 한다. 예를 들어 DnA 팀에서는 분석 결과를 외부 공유하기 전에 자체적인 검증을 위한 Checklist를 가지고 있으며 (그 일부를 이 글에 소개), 주요 분석 결과는 리뷰어를 두어 검증받을수 있도록 하고 있다.  


이해할 수 있는 분석

데이터 분석의 본질은 주어진 상황에 대한 사실 기반의 근거를 제시하여 현상에 대한 이해를 돕고, 나아가서는 변화를 만드는 일이다. 어느 누구도 이해되지 않는 결과를 행동으로 옮기지 않을테니, 분석 결과가 실제로 의미있는 변화를 가져오기 위해서는 우선 청자에게 이해되어야 한다. 특히 조직에서 가장 바쁜 사람들인 리더십에 분석 결과를 이해시키고 행동을 이끌어내기 위해서는 청자의 눈높이에 맞춘 전달이 필수적이다.


입장을 바꿔 생각해 보면 분석 결과 발표를 듣는 관점에서 가장 고역인 것은 알아들을 수 없는 용어와 별 컨텍스트 없 복잡한 수식이 난무하는 분석이다. 이런 상황에서 질문을 하면서 이해하려고 노력하는 소수도 있지만, 대부분의 청자는 조용히 딴청을 하면서 발표가 끝날때까지 기다리기 마련이다. 이런 상황을 방지하기 위해 다음과 같은 질문을 던져볼 필요가 있다.


리포트에 사용된 모든 용어는 정의되어 있거나, 관련 자료를 첨부하였나?
핵심 용의 정의를 별도 슬라이드로 만드는 것을 추천한다

분석에 사용된 통계/모델링 기법들의 사용 목적과 기술적 세부 사항은 기술 되었나?
‘요새 핫한 기법이라서’는 제대로 된 사용 목적이 아니다

리포트에 사용된 모든 수식, 차트나 테이블의 구성 요소는 명확한가?
차트의 X/Y축과 Legend / 수식에 사용된 모든 기호 / 테이블 내 수치의 단위 등


물론 이처럼 이해하기 쉬운 분석 리포트를 만드는 것은 분석가 입장에서 훨씬 더 많은 노력과 정성을 필요로하는 일이다. 따라서 이런 노력을 최소화하는 조직 차원의 지원이 필요하다. 주요 지표 및 데이터에 대한 문서화/카탈로깅, 자주 수행되는 분석에 대한 템플릿 및 라이브러리 개발 등이 개별 분석에 대한 노력을 최소화하며 결과의 품질을 높일 수 있는 장기적인 투자일 것이다.


반복할 수 있는 분석

흔히 말하는 ‘데이터 기반 조직’은 조직의 일부가 아니라 모든 구성원이 적극적으로 데이터 및 분석 결과를 업무에 활용하는 조직을 의미하며, 따라서 데이터 사이언스 팀의 역할에는 스스로 분석을 수행하는 것 뿐 아니라 다른 조직 구성원들의 분석 업무를 지원하고 가이드하는 것도 포함된다. 그리고 이처럼 분석 역량을 확산시키는 가장 좋은 방법은 분석 결과를 수정 / 재사용할 수 있는 형태로 제공하는 것이다. 관련해서 다음 질문을 던져보도록 하자.


분석에 사용된 데이터는 향후 결과 검증을 위해 재사용가능한가?

분석에 사용된 코드 중 일반화가 가능한 로직은 라이브러리 형태로 관리되는가?

분석 노트북 등은 사용 가이드와 함께 재사용이 가능한 형태로 공유되었는가?


분석 자동화에 대한 지난 글에서 언급했듯이, 최근 들어 데이터 엔지니어링/모델링/분석을 가리지 않고 자동화/효율화를 위한 솔루션이 등장하고 있다. 이런 환경에서 데이터 사이언스 팀의 역할은 이런 기술을 적극 도입하여 조직 구성원 전체의 데이터 역량 및 활용도를 극대화하는 것이다. 물론 이렇게 반복을 줄이고 창의적인 문제 해결해 집중할 수 있게 해주는 솔루션 도입 및 내부 개발의 일차 수혜자가 데이터 조직인 것은 말할 것도 없다.


맺음말

글을 마무리하기 앞서 분석의 본질, 그리고 분석 조직의 사명을 다시 생각해보자. 유기체에 비유하면 분석 조직은 전체 조직의 눈과 귀가 되어 외부 환경 및 서비스 사용자에 대한 정보를 끊임없이 수집하여, 이들을 종합한 결론이 실제 조직의 의사결정에 반영될 수 있는 신경망 역할을 수행해야 한다. 이런 기능이 제대로 작동하는 조직은 내/외부 상황 변화에 기민하게 대응하고, 이를 바탕으로 장기적인 성장과 번영을 누릴 수 있을 것이다.


분석 조직이 이런 본령에 충실하기 위해서는 이해하기 쉬우며 널리 신뢰받는 분석 플랫폼과 결과를 조직 전체에 확산시켜야 한다. 앞에서 강조했던 대로 이는 개별 분석가의 역할일 뿐만 아니라 분석 조직 전체가 시스템적으로 투자하고 지원해야 하는 부분이기도 하다. 네이버 서치 Data&Analytics 팀의 리더로서 필자가 항상 고민하는 부분이기도 하다.


참고자료

https://github.com/jtleek/datasharing

https://blog.k2datascience.com/essential-checklist-for-any-data-analysis-or-science-project-7c4fa924e563

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari