[68일차]Impression, Click, Purchase, Amount 비교

김준석·2024년 2월 29일

이전 글에서 추출했었던 Impression, Click, Purchase, Amount 의 평균 값을 토대로
A그룹과 B그룹을 비교한다.

이때 차이가 유의미한 경우 Color 표시를 진행

  • 차이가 유의미한 경우란?

    • z-score가 1.96보다 크면 초록색
      z-score가 -1.96보다 작으면 빨간색


Two Sample t-test 요약 - “paidamount” 대상 수동 계산 한번 더 설명!

  1. 각 버킷별 필요 데이터를 계산.

    1. 세션의 수
      매출액의 합
      매출액 제곱의 합

  2. t-score 계산

    1. t-score = (mean_b - mean_a)/math.sqrt(var_a/n_a+var_b/n_b)
      t-score의 값이 1.96과 -1.96 사이인지 확인 (양측 검정)
      t-score 값은 z-score 값이다.

Impression, Click, Purchase, Amount 비교

각 버킷별 Impression, Click, Purchase 의 평균값에 z-score을 구한 뒤 비교해보자. ****

  • 함수
# 나중에 사용하기 쉽게 함수로 구현
def compute_z_score(df, field_name):
  a = df[df["variant_id"]=="control"][field_name].to_numpy()
  b = df[df["variant_id"]=="test"][field_name].to_numpy()
  t, p = stats.ttest_ind(b, a)

  return t, p
  • 각 버킷별 Impression, Click, Purchase 의 평균의 z-score, p-value 추출
print(compute_z_score(vds, 'num_of_items'))
#출력값 : (1.3768980100381252, 0.16854564339542114)

print(compute_z_score(vds, 'num_of_clicks'))
#출력값 : (1.2372896120038408, 0.21598133702078443)

print(compute_z_score(vds, 'num_of_purchases'))
#출력값 : (-0.6231765686852798, 0.5331693556153361)

z-score는 모두 -1.96에서 1.96 사이에 있으며,
모든 p-value는 0.05보다 크다.

하지만 num_of_items의 경우 0.05와 비슷한 크기를 보이므로 다른 값들 보다는 차이가 있다고 볼 수 있다.

0개의 댓글