연간 회고록: 2023년
Farewell 2023
가볍게 적어보는 2023년 연말 회고. 잘가라 2023년..!
업무에서 이루어 낸 것
실험분석 대시보드 개발
올해 가장 내 리소스를 많이 투여한 업무다. A/A 테스트, 가드레일 지표, 지표의 정확한 분산 추정에 기반한 통계 검정, 실험 메타 테이블 등 실험 분석 대시보드로서 갖추어야 할 구색은 올해 어느정도 갖추어둔 듯 하다. 이를 바탕으로 조직이 성공적인 A/B Test를 실행하고 고품질의 결정을 내릴 수 있도록 지원하는데에 직접적 일조를 하고 있다는 것에 큰 만족감을 느낀다. 하지만, 아직 갈길이 멀다. 내년에도 더욱 신뢰할 수 있는 A/B Test를 제공하기 위해 이 친구와 쭉 함께하게 될 듯 하다. 요즘 고민하고 있는 것은 그간 쌓인 실험 히스토리를 바탕으로 우리 프로덕트에 맞는 적절한 MDE(Minimum detectable effects)를 정의하는 것, 두번째로는 여러 지표에 관한 통계적 가설검정을 동시에 수행할 경우 다중검정 기법을 활용한 adjusted p-value를 제공함으로써 1종 오류가 커지는 문제를 해결해줄 필요가 있는데 이 부분을 어떻게 해결을 할 것인가에 관한 고민이다. 통계적, 비즈니스적 관점에서 합리적으로 두 고민을 해결하고 나서, 팀 내에 공유를 한 뒤에 본 블로그에도 어떠한 맥락에서 이러한 고민을 했고 결과론적으로 어떤 해결책으로 두 문제를 극복했는지에 대해 풀어보는 시간을 가져보겠다.😀
실험 플랫폼 고도화 및 지식 공유
이 업무는 위 업무와 많은 부분을 공유하며, 서로 좋은 상호 작용을 보이며 유의미한 결실(?)을 이뤄냈다. 여기서 유의미한 결실 이라 함은, 막대한 리소스가 필요로 되는 통합 실험 플랫폼의 개발 필요성에 관한 전사적 공감대를 이루어 냈다는 것. 이러한 공감대를 이뤄내기 까지 정말 많은 노력들이 있었다:
실험 단위 기반 사용자 단위 누적 지표에 기반한 실험 지표 재정립
난수 기반 고객 할당(MD-5 Hash algorithm)을 통한 Randomized population 구성의 필요성 제시
A/A Test의 필요성 제시 및 다양한 가드레일 지표, 진단/디버그 지표 도입
실험 분석 및 고객 분석 Knowledge Base 개설을 통한 지표 간 인과 관계 정립 및 메타 평가 수행
그간 실험을 수행해오고 놓치고 있었던 함정과 어려움을 해외 빅테크(주로 Microsoft)에서 발표한 학술 논문을 바탕으로 요약
G마켓 전사의 실험 수준을 끌어올리기 위해 전 구성원을 대상으로 A/B Test 스터디의 필요성을 공지 및 팀 스터디 개설
…
이처럼 “정확한 실험 효과의 측정”, “실험 문화 개선”을 위해 끊임없이 노력해왔고, 사실 조직적 공감대를 이뤄내는데에 있어서의 큰 방점은 2023년 하반기 여러번의 반복 실험에서 기존 시스템 대비 큰 (+) 전환을 이루어냈던 것에 있었다. 이제는 다들 우리팀이 이렇게 변태(?)같이 정확한 실험을 하기 위해 A/A Test를 수행하고.. 다양한 지표를 살펴보고.. 끊임없는 연구를 거듭하는 것에 있어서도 큰 이견없이 많은 공감을 해주시는 듯한 느낌을 받는다. 그것의 최종 결실이 통합 실험 플랫폼의 개발 필요성에 관한 전사적 공감대가 아닌가 싶다. 돌아보면 큰 규모의 기업에서 일하고 있음에도, 실험 관점에서 만큼은 스타트업스럽게 바닥부터 빌딩을 해나가고 있다는 느낌을 받는다. 앞으로 해나가야 할 일들이 산더미긴 하지만, 내년이 더욱 기대가 된다.💪🏼
개인화 랭킹시스템을 위한 시계열 모델 개발
블로그에서 여러차례 밝혔듯 우리팀은 모바일 홈 개인화 업무에 집중하고 있는데, 여기서 고객의 행동 기반에만 국한시킨다기 보다는 특정 시즌에 반복적으로 등장하게 되는 상품들을 집어내어 랭킹 시스템에 반영해줄 필요도 있었다. 이러한 특성을 집어내는 데에는 시계열 관점의 모델링이 필요로 됐고, 대학원에서도 주로 시계열에 관한 연구를 했고 전 직장에서도 시계열 자료를 전통적인 회귀 모델 관점에서 빌딩하는 일을 했었기에 자연스레 내가 이 일을 맡아서 진행하였다. 개략적인 모델링 관점은 이미 블로그에 풀어두었다. 간단하게 말하면, 시계열을 분해하여 Trend가 강한 시계열들을 선별하고(이를 선별하는 과정에서 이상점을 탐지하여 대치하는 작업이 필요했음), 변화점을 탐지하여 이러한 Trend가 언제 올라오고 사라지는지를 파악해냈다고 보면 된다. 분석 아이디어를 가져가는 데에는 충분한 설명이라고 보긴 하는데, 업무에 관한 내용이라 자세한 사항을 이야기드리지 못한다는 점을.. 양해해주길 바란다.
아무튼 G마켓으로 이직을 해서는 시계열 모델링을 하게 될 일은 없을 줄 알았는데, 역시 시간 순서대로 관측되어 기록된 시계열 자료가 본질적으로 갖는 특성을 활용해야하는 일은 어느 분야나 존재하는 듯 하다. 또한, 요즘은 팀 내 분석가 분께서 시계열 자료에 관한 해석적 모델링(X가 Y에 미치는 영향에 관심이 있는)을 진행하고 계신데, 시계열 전공자는 팀 내에 나 뿐이라 적극적으로 도움을 드리고 있다. 이 과정에서 시계열 관련하여 많은 복습을 자연스럽게 하게 됐고..(역시 경력+실력이 겸비된 실력자분이라 질문들이 날카롭다..) 시계열 모델링에 관한 본질에 대해서도 다시 한번 생각해보게 되었다. 아무튼 옆에서 지켜보고 질문을 주시고, 같이 고민하고 대답을 드리는 행위 자체가 너무 즐겁다. 내 일은 아니지만 정말 잘 되었으면 좋겠다.😂 실무에서 실제 데이터로 잔차분석 까지 어느정도 완벽한.. 멋진 해석적 모델링 사례를 이번 기회에 내 눈으로 직접 목격할 수 있었으면 한다.😀
전사 해커톤
업무라고 보기까진 어려울 수도 있을 듯 한데.. 매년 연말 열리는 전사 해커톤에 처음으로 참가해보았다. 해커톤이란 말이 거창해보이는데, 그냥 사내 공모전이라고 보면 된다. 우리 팀 동료분의 훌륭한 아이디어 덕에, 처음으로 출전한 해커톤에서 결선에 진출하여 입상까지 할 수 있었는데 참으로 귀한 경험이었다. 무엇보다 AI에 관한 이야기를 1도 꺼내지 않고.. 단순 쿼리 집계 + 지도 시각화 만을 기반으로 매력적인 비즈니스 모델을 제시함으로써 얻어낸 결과라 더욱 뜻깊고 짜릿했다. AI Product 팀에 속한 사람이 이러한 부분에 쾌감을 느껴도 되나?.. 이게 맞나?..😂
사내 뉴스룸 인터뷰
사내 뉴스룸 인터뷰 제안을 받고 응했던 것도 꽤나 특별한 경험이라고 생각이 들어서 남겨본다. 내 연차에 경험하기 힘든?.. 귀한 경험이라 생각해서 정성들여서 답변을 작성했던 기억이 난다. 이 부분에 대한 자세한 후기 또한 블로그에 별도로 남겨두었다.
개인적으로 이루어 낸 것
익숙해진 새로운 도구들
- CLI, Git
CLI(Command Line Interface) 환경과 Git 명령어에 많이 익숙해진 한 해였다. G마켓 입사 전까지만 해도 쉘 명령어와 Git 명령에 관해선 1도 몰랐다. Git의 경우 개인적으로 사용한지는 꽤 되었으나, Rstudio의 GUI를 활용해 로컬 저장소를 Github 원격 저장소와 연결하여 사용했을 뿐이라.. 별도로 명령어를 이용할 일은 딱히 없었다. 입사 후 부여받은 사내 운영망 데이터에 접근할 수 있는 분석 환경은 컨테이너 가상화 기반 클라우드 환경(대부분 다른 회사도 그럴테지만)에서 동작하는데, 해당 환경에서 내가 하고싶은 일들을 원활하고 빠르게 수행해내기 위해서는 CLI에서 쉘 명령어를 어느정도 다룰 줄 알아야 했다. 회사 Github과 연동시켜 작업을 하려면 Git 명령어도 날릴 줄 알아야 했고.. 이렇게 야생(?)에 던져지니 수많은 삽질을 거듭하며 비교적 빠르게 익숙해질 수 있었다. 산업계에서 일을 하고 싶은 DA/DS 라면 따로 시간을 내어 CLI와 Git 명령어를 찍먹을 좀 해보면.. 입사 후 빠른 적응에 많은 도움이 되지 않을까 싶다.
- Airflow
아직 익숙해졌다고 평가하긴 어려운 툴인거 같긴 하지만.. 그래도, 필요시 Python operator를 활용한 데이터 적재, 간단한 데이터파이프라인, NAS에 파일 떨구기 등 반복이 필요한 여러 작업들을 수행할 수 있는 정도는 된 것 같다. 이게 다 같은 팀 동료 분석가 헌철님의 Airflow 속성 특강 덕분인데, 이 자리를 빌어 한번 더 감사의 말씀을 전한다.
- Streamlit
실험 분석 대시보드를 개발하며 Streamlit에도 많이 익숙해졌던 한해였다. 대시보드 개발 경험이 1도 없었던 양반이.. 겁도 없이 제작년 10월 대시보드 개발을 내가 직접 해보겠다고 나섰던 기억이 떠오른다. Streamlit이라는 도구가 없었다면 참 힘들었을 것인데, 쓸수록 참 잘만든 도구라는 생각이 든다. 빠른 프로토타이핑.. 완만한 러닝커브.. 실무든 개인적으로든 가볍게 시작해볼만한 대시보드 도구로써 Streamlit만한게 없다. 무엇보다 업데이트도 굉장히 빠르고, 수많은 사용자 풀로 다양한 extension들이 존재해 기본 기능으로 구현이 어려운.. 거의 모든 기능들이 외부 custom extension 형태로 개발이 되어있다. 실험 분석 대시보드를 좀 더 완성도 있게 만들기 위해 꼭 필요했던 기능이 있었는데, st-pages라는 패키지로 손쉽게 구현할 수 있었다. 자세한 이야기는 링크드인에 올렸던 포스팅을 참고하길 바란다. 아무튼, 대시보드를 한번 쯤 개발해보고 싶다.. 하는 생각을 가지고 있는 분이라면 한번 쯤 Streamlit을 사용해보기 바란다. Python에 익숙한 사람이라면 정말 빠르게 배울 수 있다.
인과추론 찍먹
인과추론 공부를 조금 찍먹했던 한해였다. 올해 초 인과추론 공부를 제대로 한 번 해봐야겠다 생각을 하여 홀로 공부를 시작했지만, 현 업무 특성 상 큰 니즈가 없어 우선 공부를 중단했다. 링크드인에서도 한 번 이야기했듯, 내가 업무 외적인 시간을 들여 자기 개발을 하고 있는 부분과 내가 회사에 가져다줄 수 있는 Contribution이 일치시키는 것은 굉장히 중요하다. 앞서 말했듯 현 업무의 경우 A/B Test가 불가능한 상황이 아니기에 다른 인과추론 방법론(준실험, 도구변수, DID, 매칭, Weighting 등)에 관한 스터디는 내 업무에 큰 도움이 된다고 보긴 어려웠다. 그래서, 찍먹만 하고 Trustworthy A/B Test를 연구하는 것에 집중했던 한 해였다. 인과추론 찍먹에는 다음의 자료들을 참고했다.
개인적으로는 통계학 전공자여서 그런지, CS 베이스의 Judea Pearl 교수님의 Structural Causal Model 관점에서의 인과추론 이해보단 통계학 베이스의 Rubin 교수님의 Potential Outcome Framework 관점의 인과추론 이해가 더욱 편하게 다가왔다. 물론 설명하는 방식은 다르지만, 결국에 말하고자 하는 바와 결과물은 같긴 하다.😀 아무튼 인과추론이라는 영역의 모티베이션과 극복하고자 하는 문제, 어떠한 맥락에서 굵직굵직한 인과추론 방법론이 등장하게 되었는지.. 에 관한 맥락 이해는 A/B Test를 수행하는 사람들, X와 Y 간의 relationship에 관한 모델링을 주로 수행하는 해석적 모델러들에게는 분명히 많은 도움이 될 것이다. 시간을 내어 가볍게 찍먹이라도 해보는 것을 권한다.😀
Trustworthy A/B Test
올해 하반기부터 본격적으로 A/B Test에 관한 연구를 시작했다. 우리 조직에 가장 필요한 부분이기도 했거니와, 자기개발을 회사에 가져다줄 수 있는 Contribution과 일치시킴으로써 나의 업무적 성과를 최대화하기 위한 목적도 있었다. 실무에서 우연히 수행한 A/A Test를 바탕으로 우리가 놓치고 있었던 많은 것들을 깨우칠 수 있었고, 우리가 놓치고 있었던 부분들을 실험 데이터로 검증하여 엮어낸 Microsoft의 연구 논문을 팀 내에 공유하며 A/B Test에 관한 열정(?)을 스스로 부스팅 시킬 수 있었다. 이를 시작으로 팀 스터디도 모집하여 진행할 수 있었고, 매주 한 챕터씩 공부하고 토론하며 혼자 공부하면 결코 알지 못했을 많은 것들을 배울 수 있었다. 배울수록 어렵고 재밌는 영역이다. 또한, 실험 분석을 정확하게 해내기 위해선 통계적 백그라운드들도 꽤나 깊게 필요하다는 점이, 통계학을 전공한 사람 입장에서 더욱 매력적인 영역으로 다가오는 듯 하다. 매번 하는 말이지만 실무에서 A/B Test를 수행하고 있는 사람이라면 꼭 이 책((Kohavi, Tang, and Xu 2020))을 읽어보길 바란다.
첫 커뮤니티 활동 (feat. 애옹킴, 글또 8기, PAP 3기)
작년 하반기 대시보드 개발에 어떤 도구를 이용해야할지.. 고민을 거듭하며 Shiny의 달인이자.. Streamlit 또한 찍먹을 해보신 우리의 애옹킴님께 무작정 이메일로 조언을 구했던 때가 기억난다. 이때를 기점으로 오프라인에서 몇번 뵙고 지금까지 만남을 이어오고 있는데, 이분 덕택에 글또 8기, PAP 3기에 주저하지 않고 지원할 수 있지 않았나 싶다.😂 글또와 PAP 둘 다 눈여겨 보고 있던 커뮤니티였는데, 애옹킴님은 이미 유경험자였고.. 그의 후기를 듣고 내가 리스펙하는 사람이 두 커뮤니티에 모두 참가해봤다고 하니 더욱 경험을 해보고 싶어졌다. 본인은 그럴 의도가 전혀 없었겠지만..😂 긴가민가 하고 있던 나에게 불쏘시개 역할을 해주신 분이다. 아무튼 이렇게 두 커뮤니티를 참가하고 업계 내 많은 데이터 직군분들을 온/오프라인에서 만나뵈며 많은 위로와 에너지를 얻을 수 있었다. “나와 같은/비슷한 고민을 하고 있는 사람들이 많구나.” 하고 느끼는게 뭐라고 이렇게 사람에게 힘이 되는지 모르겠다. 글또 8기 후기와 PAP 3기 후기는 블로그에 별도로 자세하게 작성해두었다.
첫 외부 발표 (feat. 데이터야놀자 2023)
어느정도 규모가 있는 행사에서 기술 공유를 할 수 있다는 것은 참으로 뜻 깊은 경험인 것 같다. 내 이야기를 사람들이 돈을 주고 들으러오다니.. 정말 막중한 책임감도 느껴졌고 생각보다 많은 분들이 내 세션에 관심을 가져주셔서 정말 감사한 마음이 들기도 했다. 이정도 규모의 외부 유료 행사에서의 발표는 처음이라 아쉬움이 조금 있는 발표였다. 다음에도 이런 기회가 있다면 꼭 도전해보려고 한다. 데이터야놀자 2023에 관한 후기 또한 블로그에 별도로 남겨두었다.
더 나아가기 위해 노력해야할 것들
독서 습관
돌아보니 올 한해 7권의 책을 읽었으나, 아직 매일 조금씩이라도 책을 보는 습관을 들이진 못했다. 그래도, 부끄러운 사실인 한해 독서량 0권이었던 내가.. 작은 발걸음 하나를 떼는 한해였다. 이렇게 늦게나마 독서 습관을 들일려고 하는 이유는, 나이가 들수록 만나는 인간관계는 좁아지고 홀로 이런저런 공부를 거듭하다 보면 자칫 지 말이 다 맞다고 생각을 할 수가 있는데.. 이를 본질적으로 막아주는게 “독서”라고 생각하기 때문이다. 그리고, 무엇보다 주변에 개인적으로 존경하고 있는 분들을 보면 누구 하나 거를 것 없이 꼭 책을 가까이 하고 계심을 느꼈다. 내년엔 꼭! 매일 하루에 한두페이지 씩이라고 책을 읽는 습관을 들이자.
영향력의 크기
당연히 매년 이러한 생각을 할테지만, 내년엔 조직 내 나의 영향력의 크기를 더 키우고 싶다. 시니어와 주니어는 연차로 나뉘지 않는다. 연차가 찬다고 해서 아무나 갑자기(?)변신을 하듯 시니어가 되는 것은 아니다. 개인적으론 “타인에게 영향력을 미치는가?”가 시니어와 주니어를 (굳이) 나누는 중요한 정성적 기준이 된다고 생각한다. 영향도의 수준은 어느정도로 범위가 넓어지는가? 팀원에게만? 타 조직에게도? 내 역량으로 타 조직을 설득하고 그들의 리소를 끌어오고 액션을 이끌어낼 수 있는가? 이는 곧 리더십으로 직결되고 이러한 영향도가 넓어지는 만큼 승진은 자연스럽게 뒤따라 온다.
그렇다면 이러한 영향력을 넓혀나기 위해 Data Analyst/Scientist들은 어떤 노력을 해야할까? 2023년 한 해를 마무리하는 4분기 1 on 1 때 선호님으로부터 얻은 답인데, 이미 이를 알고있는 분들도 계시겠지만 모두 함께 알고 있으면 좋을 것 같아서 여기에 남겨본다:
분석 결과, 모델링 결과를 설명하는 수준에서 업무가 끝이 나면 안된다.
이를 바탕으로 이러한 이야기를 할 수 있어야 하며:
기술적으로 ~한 시도가 필요합니다.
비즈니스적으로는 ~한 영향을 미치기 때문에 ~한 방향성을 추구해야합니다.
AI 모델 서비스, 기획, 개발 등을 수행하는 사람들에게 영향을 미칠 수 있는 사람이 되어야한다.
이를 위해선 그들이 가진 각기 다른 고민 포인트를 이해할 줄 알아야 하며, 내가 이러한 인사이트만 전달한다고 해서 그 사람이 알아서 다 떠먹는다고 생각해서도 안된다. (그만큼 그들을 설득하기 위해선 많은 노력이 필요하다는 뜻)
요약하면 비즈니스 의사결정에 직접적 영향을 미칠 줄 알아야하며, 기술적 부분이든 비즈니스적 부분이든 이를 담당하는 사람들한테 직접적 영향을 미칠 수 있어야한다.
나는 아직 이런 부분이 많이 부족함을 느낀다. 위와 같은 능력은 연차가 찬다고 해서 갖추어 지지 않는다. 저연차때부터 의도적으로 노력해야한다고 생각한다. 연차에 따라 주니어와 시니어를 가를 수 없다고 생각하는 이유이기도 하다. 내년부터는 위 사항들을 가슴에 새기고 기회가 보일때마다 의도적 노력을 해보려고 한다. 연말에 좋은 말씀 주신 선호님께 감사한 마음을 전한다.😊
맺음말
어느덧 2023년 한해가 끝이났다. 작년 2월 2022년 회고를 하며 2023년 회고는 꼭 2023년이 다 지나기 전에 해내겠다고 다짐을 했었는데, 그 약속을 지켰다. 그것만으로 굉장히 뿌듯하다. 올해 상반기 내내 정말 많은 고민을 했던 기억이 난다:
나는 잘하고 있는가?
내가 가진 강점, 역량을 바탕으로 조직에 없어서는 안될 인재로서.. 잘 기여하고 있나?
내가 팀 내에서 어떤 목표로 어떤 일을 해야 내가 가진 역량, 강점이 100% 발휘될 수 있을까?
이러한 정답이 없는 끝없는 고민 끝에 우리 팀 목표 = 내 목표 = 내 역량/강점을 일치시킬 수 있었고, 내가 하고 있는 일들에 부스터가 생겼던 것 같다. 이와 더불어 식어가고 있던 자기개발에도 열정을 되찾을 수 있었다. 돌아보니 꽤 괜찮은 한해를 보냈던 것 같다. 내가 가장 좋아하는 이동진 평론가의 한 마디를 남기고 2023년 한해 회고를 마무리해본다.
하루하루는 성실하게 인생 전체는 되는대로.
References
Reuse
Citation
@online{bang2023,
author = {Bang, Taemo},
title = {연간 회고록: 2023년},
date = {2023-12-31},
url = {https://taemobang.com/posts/2023-12-31-yearly-memory-2023/},
langid = {kr}
}