신사(SinSa)
article thumbnail
Published 2024. 4. 27. 09:33
전후비교와 AB테스트 잡념과 생각

 

데이터 분석가가 AB테스트를 반대한다.

 

신선하면서도 이상한 경험이었다. AB테스트에 대해서는 갑론을박이 많지만 지금까지 만나온 많은 직무의 사람들 중에서 데이터 분석가만큼은 객관적이면서도 합리적인 결론 도출을 위해 AB테스트를 선호하는 경향이 강했다. 이유는 시시각각 변하는 변수들을 통제하려는 노력을 최소화하고 영향을 얼마나 미쳤는지 최대한 빠르고 객관적으로 도출할 수 있기 때문이다. 나도 그러한 의견에 동의하는 편이다. 실제로 AB가 아닌 전후비교를 했을 때에는 영향이 되는 요인도 많고 분석을 위해 고려할 것들이 많아서 분석 결과에 대한 신뢰도도 함께 낮아지기 마련이다. 

 

그럼 AB테스트가 아닌 다른 것들은 객관적이지 않다는 것일까? 이것도 내 대답은 No이다. AB테스트를 포함해도 우리가 사는 세상을 해석함에 있어 그 어떤 것이 100% 확신할 수 있는 근거가 될까? 오래 전에는 지구가 네모라고 믿었고, 태양이 지구를 돈다고 믿었으며, 백조는 모두 하얀색이라고 믿었다. 그래도 우리가 그나마 믿을 수 있는 것은 현상을 해석해주는 데이터 뿐이고 그 데이터를 토대로 무엇을 믿고 신뢰할 지 의사결정의 기준을 잡기 위함이다. 심지어 데이터도 100%라고 검증해주지 못한다. 그래서 우리는 항상 여지는 남겨둘 수 밖에 없고 결론을 도출함에 있어서는 보여지는 지표를 해석하는 능력을 요구할 수 밖에 없다. 왜냐면 결국 데이터를 분석하는 이유는 우리가 무엇을 믿어볼지 알아보기 위함이기 때문이다.

 

그럼 AB테스트가 아닌 전후비교는 어떨까? 전후비교는 제품에 적용하고 실험 기간을 단축할 수 있고 실험이 작동하는 동안 사용자 개개인의 변화까지 살펴볼 수 있기 때문에 조금 더 폭넓은 후속 데이터를 얻을 수 있기도 하다. 특히 모수가 적어 표본 확보가 어려운 경우 더 좋은 선택지가 될 수 있다. 왜냐면 AB테스트는 실험의 기간이 길어지면 결국 외부 영향이 섞이게 되고 AB테스트가 가진 장점을 취하기 위해 너무 많은 시간을 허비해야 하기 때문이다.

 

전후비교는 어떻게 해야 할까? 사실 내가 데이터 분석가가 아니기에 조심스럽긴 하지만 데이터 분석가의 의견을 많이 듣게 되는 입장에서 가장 신뢰가 가고 의사결정의 참고자료로 가장 유의미했던 분석 결과를 주었던 전후비교 결과는 아래와 같은 프로세스를 따랐던 것 같다.

  1. 목표 설정: 개선 목표를 명확하게 설정한다. 이를테면 XX라는 기능 개선이 클릭률에 미치는 효과를 분석하는 것과 같다.
  2. 데이터 정제와 준비: 필요한 데이터를 정제하고, 분석에 적합한 형태로 조정한다. 이 과정에서 누락된 값, 이상치, 중복 데이터를 처리할한다.
  3. 분석 방법 선택: 비율의 변화를 분석하기 위해 적절한 통계적 방법을 선택한다. 시계열 데이터인 경우, 시간에 따른 추세를 분석할 수 있는 방법을 고려하기도 한다. 조금 더 복잡하게는 아래와 같은 기준을 두고 참고하여 분석 방법을 고려한다.
    1. 기술통계 분석: 실험 전과 후의 데이터에 대한 기초 통계(평균, 중앙값, 표준편차 등)를 계산하여 개입 전후의 변화를 기술적으로 분석한다.
    2. 종속 표본 t-검정 (Paired t-test): 두 관련된 샘플(전과 후)에 대해 평균의 차이를 검정한다. 이 방법은 데이터가 정규 분포를 따르고 두 샘플이 서로 의존적일 때 유용하다.
    3. 윌콕슨 부호 순위 검정 (Wilcoxon signed-rank test): 데이터가 비정규 분포일 때 사용하는 비모수적 방법으로, 두 관련된 샘플 간의 중앙값 차이를 검정한다.
    4. 효과 크기 계산 (Effect Size): Cohen's d와 같은 효과 크기 지표를 사용하여 개입의 실질적인 효과 크기를 측정한다. 이는 실험의 통계적 유의성 뿐만 아니라, 그 효과가 실제로 중요한지를 평가하는 데 도움을 준다.
  4. 개선 전후 비교: 변화가 발생한(보통은 기능이 배포된) 기점으로 전과 후의 데이터를 분리한다. 이때, 요일 효과를 고려하여 같은 요일끼리 비교하거나 주 단위로 평균을 내서 비교한다.
  5. 통제 변수 설정: 마케팅 캠페인과 같은 외부 요인의 영향을 최소화하기 위해 통제 변수를 설정한다. 가능하다면 캠페인의 영향을 분리해내기 위한 추가적인 데이터를 수집한다.
  6. 통계적 검정 수행: 개선 전과 후의 강의 클릭률 변화가 통계적으로 유의한지 검정한다. 3번에서 언급된 각 분석 방법(표준편차, 변동계수, 효과 크기(Cohen's d) 등) 중 선택한 방법을 적용, 계산하여 변화의 실질적 중요성을 평가한다.
  7. 시각화: 데이터를 시각화하여, 결과를 보다 명확하게 이해하고 발견된 패턴을 확인한다.
  8. 다변량 분석 고려: 여러 변수의 영향을 동시에 고려하는 다변량 분석을 수행하여, XX 기능 개선 외의 다른 요인이 클릭률에 미치는 영향을 평가한다.
  9. 결론 도출: 분석 결과를 바탕으로, 개선이 XX 액션 후 클릭률에 유의미한 영향을 미쳤는지에 대한 결론을 도출한다. 이는 단순히 평균의 변화뿐 아니라, 변화의 일관성, 경향성, 그리고 다른 변수와의 관계를 포함될 것이다.
  10. 추가 분석 제안: 현재 데이터로는 결론을 내리기 어렵거나, 더 정확한 분석이 필요한 경우 추가적인 데이터 수집의 필요성을 제안한다.

 

사실 내가 생각하는 데이터 분석가의 가장 중요한 부분은 정확도도 있겠지만 결국 결론을 도출하고 전달하는 능력이라고 생각한다. 냉철하고 객관적이면서도 나의 분석 결과가 어떤 영향을 미치는지 앞으로 모두의 미래가 긍정적인 방향으로 가기 위해서는 어떤 톤으로 결과를 이야기할 지까지 고려할 수 있어야 한다고 생각한다. 왜냐면 우리 모두 1%의 여지가 있다는 것은 알고 있고 항상 다수를 선택하는게 옳은 결과를 만든다는 것은 아니라는 것을 알고 있기 때문이다.

profile

신사(SinSa)

@신사(SinSa)

포스팅이 좋았다면 "좋아요❤️" 눌러주세요!