ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 온라인 A/B 테스트란 무엇일까?
    IT 이야기 2023. 9. 18. 11:25

    *본 글은 한기용 개발자(그렙 CTO)가 작성한 내용입니다.
    A/B테스트가 무엇인지, 어떻게 진행하는지 궁금한 분들은 끝까지 읽어보시길 추천드립니다.

     

    If You Can’t Measure, You Can’t Improve it! - Peter Drucker


    "측정할 수 없다면 개선할 수 없다"는 경영쪽의 구루로 유명한 피터 드러커가 한 말입니다. 즉 감이 아닌 성공실패 지표를 바탕으로 개선 여부를 측정해야 한다는 것인데 이게 AB 테스트의 기본 원칙이라고 할 수 있습니다. AB 테스트가 다른 테스트들과 다른 특징들 중의 하나는 실제 사용자를 대상으로 한다는 점입니다.

     

    A/B 테스트란 무엇인가?

    온라인 A/B 테스트는 디지털 마케팅 및 웹/앱 개발에서 두 가지 이상의 웹 페이지 또는 앱 버전을 비교하여 특정 목표 관점에서 어느 버전이 더 나은 성과를 내는지 확인하는 데 사용되는 방법입니다. 이 A/B 테스트의 원조는 무작위 대조 시험(Randomized Controlled Trial)이라고 볼 수 있는데 보통 이는 제약업계에서 새로운 약품의 효과를 측정하는 연구 방법이라고 볼 수 있습니다. 예를 들어 특정 질병을 앓고 있는 환자들을 랜덤하게 5:5로 나눈 후, 한쪽에는 기존 치료 방법을 제공하고 다른 쪽에는 새로운 치료 방법을 제공한 후에 완치율과 같은 중요 지표를 바탕으로 신약의 효율성을 더 객관적으로 비교해보는 것입니다.

    이 무작위 대조 시험을 온라인 환경으로 옮긴 것이 바로 A/B 테스트라고 할 수 있습니다. 예를 들어 이커머스 사이트라면 물건 구매시 5단계의 구매 프로세스가 있고 이 과정이 너무 길어 구매중 이탈이 많아 구매 전환율이 낮다고 생각된다면 이를 3단계로 줄이는 경우 구매 전환율(conversion rate)이 올라갈 것이라는 가설을 세울 수 있습니다. 이를 A/B 테스트로 실행하는 과정은 이커머스 사이트를 방문하는 사용자들을 "랜덤"하게 5:5로 나눈 후 앞의 반은 기존의 5단계 구매 프로세스에 노출시키고 뒤의 반은 새로운 3단계 구매 프로세스에 노출시키는 것이 이 정보(누가 A에 속하고 누가 B에 속하는지)를 기록한 다음에 나중에 A와 B간의 구매 전환율을 통계적으로 비교해보는 것(귀무가설을 사용)이 일반적인 A/B 테스트입니다.

    https://www.invespcro.com/blog/what-is-ab-testing-split-testing/

     

    A/B 테스트 결과를 어떻게 해석하느냐는 사실 과학의 영역이라기 보다는 예술의 영역에 가깝습니다. 그만큼 A/B 테스트의 가설부터 시작해서 사용자를 바이어스 없이 A와 B로 나누고 이 기록을 남긴 후 나중에 해석까지 경험이 필요합니다. 또한 해석/분석 과정 전체를 자동화하고 태블로(Tableau)와 같은 대시보드를 통해 상황을 쉽게 파악할 수 있는 것이 중요해집니다.

    A/B 테스트 시스템의 구성

    크게 기존 기능과 새로운 기능을 랜덤하게 나눈 사용자들에게 노출시키고 그 기록을 남기는 "런타임 시스템"과 이 기록을 바탕으로 성공실패 지표를 바탕으로 비교해서 시각화해주는 "분석 시스템" 두 가지로 A/B 테스트 시스템은 구성됩니다. 보통 A/B 테스트 분석 시스템의 구현을 데이터 팀에서 맡는 것이 일반적이고, A/B 테스트 런타임 시스템은 데이터 팀을 포함한 다수의 팀이 협업해서 구현하는 것이 일반적입니다.

    1️⃣ A/B 테스트 런타임 시스템

    이 부분은 실제 A/B 테스트가 구현되는 부분으로 사용자를 바이어스없이 랜덤하게 A와 B로 나누고 그에 맞게 다른 기능에 노출시키고 그 기록을 남기는 부분입니다. 이 시스템에서 중요한 부분은 사용자를 A와 B로 나누는 부분인데 보통 한 시점에 다수의 A/B 테스트가 동시에 존재하기 때문에 이와 관련해서 사용자들을 A와 B로 잘 나누는 것(다수의 A/B 테스트들이 존재하는 경우 한 사용자가 두 개 혹은 그 이상의 A/B 테스트에 포함될 수 있고 이로 인한 이슈들이 생기기도 함)이 더 중요해집니다. 최종적으로 이 A/B 테스트 사용자 소속 정보가 나중에 분석을 할 때 사용됩니다.

    2️⃣ A/B 테스트 분석 시스템

    이 부분은 완전히 데이터팀의 소관으로 먼저 데이터 엔지니어링 팀이 분석에 필요한 모든 데이터를 ETL을 통해 읽어오고 이 정보를 A/B 테스트 분석을 위한 요약 테이블을 새로 만드는 일은 보통 데이터 분석가가 dbt와 같은 툴을 사용해서 하고 최종적으로 이를 통계적 지식을 기반으로 분석을 쉽게 하기 위한 태블로(Tableau)와 같은 대시보드를 사용하는 것이 일반적입니다.

    프로그래머스 관련 강의들

    1. 프로그래머스 국비 지원 데이터 분석 장기 과정

    2023년 11월부터 프로그래머스 국비 지원 데이터 분석 장기 과정을 시작하게 됩니다. 아직 등록 페이지가 오픈되지 않았지만 아래와 같은 강의들로 구성될 예정입니다. 등록이 오픈되는 대로 여기 링크를 공유해보도록 하겠습니다. 이 과정에서 중요 강의 중의 하나가 "데이터 분석을 위한 A/B 테스트" 강의이고 앞의 내용을 더 자세히 학습합니다.

     
    1주차 데이터 분석 소개 (응용분야, 데이터 문해력, 발전트렌드)
    2주차 Excel 데이터 분석과 스토리 텔링
    3주차 SQL 기초와 데이터 분석
    4주차 고급 SQL 활용
    5주차 Python Pandas 활용하기
    6주차 Python 데이터 분석과 통계와 시각화 (Pandas, Seaborn)
    7주차 좋은 지표 설계와 대시보드 구성 (Tableau, Superset)
    8주차 머신러닝 기초
    9주차 다양한 데이터 분석과 ML 모델 만들어보기 (Kaggle 중심)
    10주차 텍스트 데이터 마이닝 (NLP)
    11주차 데이터 분석을 위한 A/B 테스트
    12주차 ChatGPT 프롬프트로 데이터 분석 시스템 설계하기

     

    2. 실리콘밸리에서 날아온 A/B테스트 올인원 키트 with DBT, Tableau

    프로그래머스 라이브 강의로 4주 과정이고 아래와 같은 내용으로 진행되고 2023년 10월 7일 토요일 오전 10시부터 시작합니다.

    • 1주차 애자일 A/B 테스트 소개
    • 2주차 A/B 테스트 관련 통계 살펴보기
    • 3주차 dbt로 A/B 테스트 분석 테이블 만들기
    • 4주차 Tableau로 시각화하기

     

    댓글

Programmers