시작하기무료로 시작하기

회원가입 흐름

이제 회원가입부터 시작하는 eCommerce 광고 흐름의 DGP를 모델링해 보겠습니다.

하루 동안 많은 광고 노출이 발생하며, 이는 포아송 확률변수(RV)로 모델링할 수 있습니다. 방문자 수의 평균이 10만 명이고 표준편차가 2000인 정규분포를 따르는 $\lambda$가 주어졌다고 합시다.

회원가입 여정에서 고객은 광고를 보고, 클릭할지 말지 결정하고, 이어서 가입할지 말지를 결정합니다. 따라서 클릭과 가입 모두 이항분포 RV로 모델링합니다. 그렇다면 성공 확률 $p$는 어떻게 할까요? 현재 저비용 옵션에서는 클릭률이 1%, 가입률이 20%입니다. 더 높은 비용 옵션은 클릭률과 가입률을 최대 20%까지 높일 수 있지만, 개선 수준이 확실하지 않으므로 이를 균등분포 RV로 모델링합니다.

이 연습은 강의의 일부입니다

Python으로 하는 통계 시뮬레이션

강의 보기

연습 안내

  • ct_ratesu_rate 딕셔너리를 초기화하되, high 값은 low 값과 low 값의 \(1.2 \times\) 사이에서 균등분포로 설정하세요.
  • impressions를 평균값 lam을 갖는 포아송 확률변수로 모델링하세요.
  • clickssignups를 이항분포 확률변수로 모델링하되, n은 각각 impressionsclicks, 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)))
코드 편집 및 실행