✔️A/B테스트란 무엇일까?
A/B 테스트(버킷 테스트 또는 분할-실행 테스트)란 , 마케팅과 웹 분석에서 사용하는 방법으로, 대조 실험이라고 할 수 있다.
상황을 하나 예로 들어보도록 하자. 한 서비스의 참여자를 모집함에 있어 카카오톡 배너로 광고를 실행하는데
참여만 해도 경품 100% 증정과 , 참여자 모집 이라는 두가지 문구로 나누어 광고를 집행하였다.
과연 어떤 문구가 사람들의 구미를 당겼을까?
이걸 알아보는 것이 바로 A/B테스트 인 것이다.
✔️왜 A/B테스트를 하는걸까?
이유는 정의에서도 볼 수 있듯이, 최적의 고객 경험을 제공
✔️설계는 어떻게 하는걸까?
A/B테스트의 가장 큰 목적은 '전환'이다. A라는 원본을 B라는 대안으로 바꾸어 지표X를 상승시켜야 한다.
https://www.oracle.com/kr/cx/marketing/what-is-ab-testing/
A/B 및 다변량 테스트의 정의, 필요성, 방법
A/B 테스트 및 이와 유사한 다변량 테스트를 사용하면 고객의 이메일 마케팅 캠페인, 웹사이트, 모바일 앱에서 효과를 거두는 부분과 그렇지 않은 부분을 알 수 있습니다. 여기서는 잠재고객의
www.oracle.com
A/B 테스트를 계획하고 실행하는 기본 단계
- 1. 성과 기준 측정 및 검토
- 2. 성과 기준을 사용하여 테스트 목표 결정
- 3. 테스트에서 성과를 개선할 수 있는 방법에 대한 가설을 개발
- 4. 테스트 대상 또는 위치 식별
- 5. 테스트할 A, B 버전 생성
- 6. QA 도구를 활용하여 설정 검증
- 7. 테스트 실행
- 8. 웹 및 테스트 분석을 사용하여 결과 추적 및 평가
- 9. 결론을 적용하여 고객 경험 개선
위와 같은 과정을 통해 A/B테스트를 설계하고 결론 도출 및 최종 적용을 통해 CX를 개선하는 것이 A/B테스트의 총 프로세스이다.
요약하자면 가설 수립 -> 실험 진행 -> 결과 분석의 과정을 따른다.
지표 선정과 가설 수립 같은 경우는 회사의 내부 시스템과, 방향성 등에 대한 종합적인 고려가 필요하기 때문에 여기서는 A/B테스트의 결과를 검증하는 것만 다루도록 한다.
✔️결과는 어떻게 검증할 수 있는 것일까?
마케팅 결과를 데이터로 받았더니 다음과 같은 형태의 모습을 하고 있었다.
대충 보기엔 비슷해 보이는데 이렇게 눈대중으로 보고 두개의 클릭율이 차이가 없다고 말할 수 있느냐!? 라고 하면 당연히 이 데이터만 보면 확신이 없다. 이 때 통계적 검증을 진행해 주장에 타당성을 보태야 한다.
노출 수 | 클릭 수 | 신청 수 | |
문구[1] 경품 100% 증정 | 100,000 | 6,300 | 3,100 |
문구[2] 참여자 모집 | 80,000 | 4,800 | 1,200 |
1) 클릭율 :: 노출 -> 클릭
문구 [1] 0.063
문구 [2] 0.06
2) 전환율 :: 노출 -> 신청 전환
문구 [1] 0.031
문구 [2] 0.015
통계적 검증은 카이스퀘어 검정을 진행한다. 파이썬의 scipy 라이브러리로 카이스퀘어 검정을 진행할 수 있다.
ver.1 출처 : https://data101.oopy.io/ab-test-python-or-without-code
파이썬으로 AB 테스트하기 (코딩 모르는 ver. 추가!)
예제 1. 디자인 시안 A,B에 따른 유저의 체류 시간 테스트하기
data101.oopy.io
import pandas as pd
from scipy.stats import chi2_contingency
def click_abtest(a_click, total_a, b_click, total_b):
click = [a_click, b_click] # A와 B의 클릭한 유저 수
no_click = [total_a - a_click, total_b - b_click] # A와 B의 클릭 안 한 유저 수
cont_table = pd.DataFrame([click, no_click], columns=['A', 'B'], index=['click', 'no_click'])
chi2, p_val, d_f, expected = chi2_contingency([click, no_click])
print("카이제곱 통계량 :", format(chi2, '.5f'))
print("pvalue :", format(p_val, '.5f'))
click_abtest(6300, 100000, 4800, 80000)
카이제곱 통계량 : 6.86103
pvalue : 0.00881
ver2. 출처 : https://hleecaster.com/python-abtest/
파이썬으로 A/B 테스트 분석하기 - 아무튼 워라밸
요즘 A/B 테스트가 유행이긴한가보다. 마케팅에서 시작된 거긴 하지만 사실 아무데나 다 쓸 수 있다. 파이썬으로 A/B 테스트를 수행하는 연습을 약식으로 해보았는데, 간단히 소개해본다.
hleecaster.com
'''
contingency = [[A_click , A_no_click ],
[B_click , B_no_click ],
]
'''
contingency = [[6300, 100000-6300],
[4800 , 80000-4800],
]
from scipy.stats import chi2_contingency
chi2, pval, dof, expected = chi2_contingency(contingency)
print("카이제곱 통계량 :", format(chi2, '.5f'))
print("pvalue :", format(pval, '.5f'))
카이제곱 통계량 : 6.86103
pvalue : 0.00881
p= 0.009 < 0.05 이기 때문에 유의수준 0.05 에서 두 문구는 클릭율에 차이가 있다고 할 수 있다.
같은 방식으로 전환율에 대해서도 검증을 진행해보면 p= 0.00000 < 0.05이기 떄문에 전환율은 훨씬 더 명확한 차이가 있다고 할 수 있다.
그렇다면 문구[1] 경품 100%증정이 사람들을 전환시키는데 더욱 매력적인 카피라고 결론내릴 수 있게 되고, 이를 다음 마케팅에 고려사항으로 올리면 되는 것이다.
✔️무엇을 주의해야 할까?
아래는 뷰저블에 올라온 A/B테스트 실시할 때 주의해야할 점 7가지인데, 너무 잘 정리되어 있어서 링크로 대신 첨부한다! 너무 좋은 글이라 한 번 읽어보면 정말 좋을 것 같다.
https://www.beusable.net/blog/?p=2854
A/B테스트를 실시할 때 주의해야 할 점, 7가지 | 뷰저블
A/B테스트를 실시하기 전 반드시 숙지해야 할 점
www.beusable.net
✔️A/B테스트 활용 예시
https://yozm.wishket.com/magazine/detail/897/
바로 활용하는 12가지 AB 테스트 사례 | 요즘IT
AB 테스트는 가설 수립, 실험 진행, 결과 분석의 3단계로 진행되는 그로스 해킹 방법론입니다. AB 테스트는 제품과 조직의 확실한 성장 엔진으로, 그랩(Grab), 넷플릭스(Netflix), 에어비앤비(Airbnb) 등
yozm.wishket.com
'데이터 분석 > 방법론' 카테고리의 다른 글
[A/B 테스트] A/B테스트 설계부터 결과 분석까지 (0) | 2023.05.26 |
---|---|
[데이터 분석] 데이터 분석 실무 용어 정리 (0) | 2022.12.20 |
[데이터 분석] 로그 데이터란? (0) | 2022.12.16 |
[AARRR] AARRR이란 무엇일까? (0) | 2022.11.10 |
[코호트 분석] 코호트 분석(Cohort Analysis)이란? (2) | 2022.11.01 |
댓글