brunch

You can make anything
by writing

C.S.Lewis

by Jin Young Kim May 09. 2022

Data&Analytics팀이 지금 고민하는 문제들

What We're Working on in Data&Analytics

조만간 첫 돌을 맞이하는 Data&Analytics 팀에서는 플랫폼 및 분석 방법론 개선을 위한 다양한 노력을 기울이고 있습니다. 이미 실무에 적용된 것도 있고, 아직 시간이 더 필요한 것도 있지만, 오늘은 최근에 저희팀이 주력하고 있는 몇가지 문제와 접근 방식을 소개할까 합니다.


구체적인 서비스의 형태는 달라도 온라인 서비스 개선의 초점과 당면한 문제들은 비슷할 것입니다. 본 글이 오늘도 서비스 개선에 여념이 없으실 현업 종사자 분들께 도움이 되길 바랍니다. 네이버 서치에서 이런 문제를 같이 풀고자 하는 분들께 저희 팀의 문은 항상 열려 있습니다.


Traffic-efficient A/B Evaluation


작년 통합 AB테스트 플랫폼 도입 이후 이미 네이버의 검색 개선을 위한 수십건의 AB테스트가 이루어졌으며, 최근 더 많은 테스트 요청을 받고 있습니다. 이런 상황에서 더 필요한 것이 사용자의 트래픽을 좀더 효율적으로 사용하고, 나아가서는 서비스의 임팩트를 최소화할 수 있는 기술입니다.


AB테스트에 필요한 트래픽은 결국 지표의 Variance에 비례하므로, 효율적인 테스트를 위한 가장 쉬운 방법은 지표의 Variance를 최소화하는 것입니다. 여기에는 주어진 지표의 의미를 훼손하지 않으면서 지표의 극단값을 처리한다던가 (Winsorization), 절대값을 상응하는 비율 지표로 바꾸는 기법이 주로 사용됩니다.


지표의 정의를 개선하는 것이 충분치 않다면 CUPED라는 기법을 사용하여 실험 결과 측정에 있어서의 Variance를 줄일 수 있습니다. AB테스트의 각 실험군에 여러 사용자가 포함되기 때문에 실험군간의 차이를 측정하는데 있어서 각 실험군에 포함된 사용자간의 차이가 Variance의 큰 부분을 차지하는데, CUPED에서는 실험 수행 이전의 Traffic을 활용하여 사용자간의 차이를 제거합니다. (관련 Blog Post / 논문)



CUPED를 적용한 경우 (아래 파란 선) 적용하지 않은 결과에 비해 (위 붉은 선) 더 낮은 p-value를 얻는 것을 볼 수 있다. (검색 선이 유의성의 기준인 0.05)


Model-based Metric Development


최근 검색 콜로퀴엄 발표에서 밝혔듯이, 한 페이지에 다양한 유형의 결과를 보여주는 현대적인 검색엔진의 결과 품질을 평가하는 단일 지표를 만드는 것은 쉬운 일이 아닙니다. 하지만 의사결정을 위해 수백개의 지표를 사용하기는 어렵기 때문에, 지속적인 검색 품질 평가 및 개선을 위한 기회를 발굴하고, 개발된 신규 피쳐를 평가하고 반영하기 위해 필수적인 부분이기도 합니다.


다행히 사용자 의도가 질의로 표현되는 검색 결과의 특성상 결과 품질에 대한 레이블을 수집하는 것이 비교적 용이한 편입니다. 그리고 이런 레이블 데이터와 사용자 로그에서 추출한 다양한 피쳐를 활용하여 사용자의 만족도를 예측하는 모델을 만들고, 이를 바탕으로 검색 사용자의 만족도에 근사하는 지표를 개발할 수 있습니다. (관련 논문 [1] [2])


실제로 이런 모델 기반의 지표 개발은 웹검색 및 제품검색 등 다양한 분야에 활용되고 있으며, 사용자가 온라인에서 수행하는 다양한 활동에 대한 해석을 필요로하는 모든 분야에 활용될 수 있습니다. 검색처럼 레이블 데이터 수집이 용이하지 않은 경우에는, 사용자의 재방문이나 결제와 같은 Critical Action을 대신 레이블로 사용하기도 합니다. ([3])



논문[2]에서 제시한 사용자 행동과 (row) 검색 만족도 레이블간의 상관관계


KPI Tracking without Confounding


대부분의 온라인 서비스에서는 사용량, 매출 및 서비스 품질에 관련된 다양한 KPI를 설정하고 이를 장기간에 걸쳐 Tracking함으로써 서비스의 변화를 측정하려고 합니다. 어느 조직이건 이런 KPI의 측정 및 관리는 경영 목표의 설정 및 달성 여부를 좌우한다는 측면에서 데이터 팀의 중요한 과제입니다.


문제는 일반적인 KPI가 다양한 외부 요인의 영향을 받는다는 점입니다. 예를 들어 검색 볼륨은 코로나 및 선거와 같은 사회적 요인을 반영하고, 검색 품질 역시 누가 어떤 주제의 검색을 시도하느냐에 좌우됩니다. 따라서 단순히 전체적인 검색 볼륨이나 전체 질의에 대한 품질에 기반한 KPI는 검색 조직의 성과를 정확히 반영한다고 하기에는 무리가 있습니다.


이런 문제를 해결하기 위해 DnA팀에서는 다양한 통계적인 기법을 고민하고 있습니다. 우선 시계열 예측이나 Causal Inference 기법을 통해 KPI에 미치는 외부 영향을 최소화하는 방법, 그리고 AB테스트에서 얻은 Key Metric의 증가분을 해당 조직의 기간별 성과로 환산하는 기법 등을 연구하고 있습니다. ([4] [5])



AB테스트에서 얻은 Key Metric의 증가분 (Left Bar) / 환산된 해당 조직의 기간별 성과 (Center Bar) / Hold-out 그룹의 성과 (Right Bar)


Beyond Engagement: Measuring Trust and Fairness


대부분의 온라인 서비스는 다양한 행동에서 추론할 수 있는 사용자의 만족도나 재방문율과 같은 비즈니스 지표를 최적화하는 것을 목표로 합니다. 하지만 요즘과 같이 온라인 서비스의 영향력이 커진 상황에서 단순히 서비스의 성장을 목표로 하는 것은 바람직하지도 지속가능하지도 않습니다.


검색 서비스를 예로 들어 설명하면, 사용자의 문제를 해결하기 보다는 클릭을 유도하는 컨텐츠를 높은 순위에 노출하여 단기적인 지표를 올릴 수 있겠지만 장기적으로는 사용자들의 이탈을 초래할 것입니다. 또한 컨텐츠 공급자들과 경제적/사회적 약자에 대한 배려가 없는 검색 결과 역시 장기적으로 사회적인 비용을 초래합니다.


저희 팀에서는 단순히 클릭을 받는 컨텐츠와 신뢰받는 컨텐츠의 차이를 이해하기 위해 많은 노력을 기울이고 있습니다. 저희가 작년부터 만든 크라우드소싱 플랫폼을 통해 검색 결과에 대한 전체적인 만족도, 신뢰성, 품질 등을 분석한 결과 신뢰받는 컨텐츠가 사용자 만족도를 높이는 핵심 동인으로 나타났는 점도 이런 결과를 뒷받침합니다.


마지막으로 최근에 일본의 Tetsuya Sakai 교수님과의 협업을 통해 저희가 발표한 논문에서 공정성 평가를 위한 지표의 발전된 형태를 보실 수 있습니다. 기존 지표들이 한번의 하나의 공정성 척도를 (예: 성별 or 지역) 평가에 반영할 수 있었다면, 제안된 지표는 여러 척도를 동시에 반영하며, 척도의 개별 속성의 순서도 평가에 반영되는 특성이 있습니다.



검색 품질과 공정성을 동시에 평가하는 지표 (https://arxiv.org/pdf/2204.00280.pdf)


Advanced Data&Analytics Infra & Pipeline


지금까지 분석에 대한 이야기를 주로 했지만, 이를 뒷받침하는 것은 데이터 및 분석 인프라입니다. 올해초까지 DnA조직에서는 기본적인 데이터 및 분석 인프라를 만들어서 현재 저희 분석은 모두 통합 인프라로 진행하고 있지만 아직 더 보완할 부분이 많습니다. 그중 몇가지를 정리하면 다음과 같습니다.


파이프라인의 기본적인 신뢰성과 성능; 이상이 생겼을때 바로 감지해서 정상화할 수 있는 기능

지표 및 분석 속성과 같이 조직 전체가 공유하면서 자주 바뀔 수 있는 부분에 대한 문서화 및 형상 관리

서비스 장애 해결 등의 이유로 실시간 데이터 및 분석이 필수적인 부분에 대한 응답 속도 개선


좀더 자세한 내용이나 채용 문의는 팀블로그를 참조하시면 됩니다!

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