베이지안 A/B Test
마케팅 분석 혹은 웹 분석시 실험군과 대조군을 비교하여 상대적인 효용성을 측정하는 대조 실험.일반적으로 측정하는 결과값으로 흔히 말하는 전환율를 사용한다. 전환율의 차이가 크다면 단순히 전환율만으로 판단할 수 있겠으나, 두 그룹간 대상수가 차이가 나거나 전환율의 차이가 미미하다면 이를 판단할 근거가 필요하다. 이런 상황에서 실험군의 전환율이 대조군의 전환율보다 높을 확률을 추정할 수 있다.
이 방법이 베이지안 A/B 테스트 이다.
Python Code: Github Link
import numpy as np
from numpy.random import dirichlet def expected_revenue(P): return 100*P[:,0] + 0*P[:,1] N_A = 10000 N_A_TRUE = 3300 N_A_FALSE = N_A - N_A_TRUE observations_A = np.array([N_A_TRUE, N_A_FALSE]) N_B = 500 N_B_TRUE = 170 N_B_FALSE = N_B - N_B_TRUE observations_B = np.array([N_B_TRUE, N_B_FALSE]) prior_parameters = np.array([1,1]) posterior_samples_A = dirichlet(prior_parameters + observations_A, size=100000) posterior_samples_B = dirichlet(prior_parameters + observations_B, size=100000) posterior_expected_revenue_A = expected_revenue(posterior_samples_A) posterior_expected_revenue_B = expected_revenue(posterior_samples_B) p = (posterior_expected_revenue_B > posterior_expected_revenue_A).mean() print ("B 가 A 보다 전환율이 클 확률: %.3f"%p) print ("Probability that p_B > p_A: %.3f"%p) |
댓글 없음:
댓글 쓰기