회원가입 흐름
이제 회원가입부터 시작하는 eCommerce 광고 흐름의 DGP를 모델링해 보겠습니다.
하루 동안 많은 광고 노출이 발생하며, 이는 포아송 확률변수(RV)로 모델링할 수 있습니다. 방문자 수의 평균이 10만 명이고 표준편차가 2000인 정규분포를 따르는 $\lambda$가 주어졌다고 합시다.
회원가입 여정에서 고객은 광고를 보고, 클릭할지 말지 결정하고, 이어서 가입할지 말지를 결정합니다. 따라서 클릭과 가입 모두 이항분포 RV로 모델링합니다. 그렇다면 성공 확률 $p$는 어떻게 할까요? 현재 저비용 옵션에서는 클릭률이 1%, 가입률이 20%입니다. 더 높은 비용 옵션은 클릭률과 가입률을 최대 20%까지 높일 수 있지만, 개선 수준이 확실하지 않으므로 이를 균등분포 RV로 모델링합니다.
이 연습은 강의의 일부입니다
Python으로 하는 통계 시뮬레이션
연습 안내
ct_rate와su_rate딕셔너리를 초기화하되,high값은low값과low값의 \(1.2 \times\) 사이에서 균등분포로 설정하세요.impressions를 평균값lam을 갖는 포아송 확률변수로 모델링하세요.clicks와signups를 이항분포 확률변수로 모델링하되,n은 각각impressions와clicks,p는 각각ct_rate[cost]와su_rate[cost]가 되도록 하세요.- 마지막으로
'high'비용 옵션에 대한 시뮬레이션된 가입자 수를 출력합니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Initialize click-through rate and signup rate dictionaries
ct_rate = {'low':0.01, 'high':np.random.uniform(low=0.01, high=1.2*0.01)}
su_rate = {'low':0.2, 'high':____(low=0.2, high=1.2*____)}
def get_signups(cost, ct_rate, su_rate, sims):
lam = np.random.normal(loc=100000, scale=2000, size=sims)
# Simulate impressions(poisson), clicks(binomial) and signups(binomial)
impressions = ____
clicks = ____
signups = ____
return signups
print("Simulated Signups = {}".format(get_signups('high', ct_rate, su_rate, 1)))