[주니어_Amplitude]_3_A/B테스트, 코호트분석, 유저별 행동분석

Hyejin Beck·2023년 12월 14일
0

Amplitude

목록 보기
5/11

수업후 복습하며 스스로 정리한 내용을 그대로 가져왔습니다.


목차

A/B 테스트

  1. A/B 테스트란?
  2. 방법1 실험마다 User Property 생성
  3. 방법2 하나의 User Property와 여러 values(실험들)구분
  4. A/B 테스트 분석

코호트 분석

  1. 코호트 분석이란?
    2.방법1 코호트 직접 생성
    3.방법2 차트에서 코호트 생성
  2. 코호트 분석의 필요성
  3. 코호트 분석 활용

유저별 행동 분석 방법

  1. 왜 해야하는가?

A/B 테스트

1. A/B 테스트란?

사용자를 랜덤으로 두 집단으로 나눈 뒤, 각각 A안과 B안을 적용한 뒤
어느 집단에서 더 좋은 성과를 달성하는지 측정한 뒤 최종안을 결정할 수 있는 가설 검증 수단 입니다.

예시로 가입 전환율 높이기위한 모달AB비교, 구매 전환율 높이기 위한 퍼널단계 AB비교 등이 있으며
특히 신규방식을 도입하기 전, 기존안과 신규안을 동시에 실행하여 성과를 비교하기 좋습니다.

최소 2주 이상 테스트 하는 것을 권장합니다.

A안과 B안을 적용시키기 위해, 랜덤으로 사용자 구분하기 위해 이용합니다.

A/B Test: Shopping을 한 유저들을 Variant A와 Variant B로 구분해줍니다.
두 유저 그룹별 Add Review 이벤트에 대한 Uniques(유저수)와 Event Totals(이벤트 수)를 확인 할 수 있습니다.


A그룹의 Add Review 값이 더 좋게 나왔습니다.

'Add Review'에 group by 'brand'를 추가해봅니다.

brand별로 A유저와 B유저별 이벤트를 한 uniques(유저수)를 알 수 있습니다.

Group by ?

User Property로 group by 묶는 것Where 에서 A그룹,B그룹 각각 정의하는 것의 차이는?
사실상 같다고 보면 된다.

A/B 테스트를 한 그룹만 (None값 그룹 제외) 보고 싶은 경우, Where에서 일일이 지정하는것이 좋습니다.

Group by로 하게되면 None까지 포함해서 모든 값을 가져오게 됩니다.

수치나 기능은 동일합니다.

2. [방법1]실험마다 User Property 생성

A/B 실험 마다 Property를 만들어주는 방법입니다. 각 실험을 선택하기 편리하나, 동시에 많은 실험 진행시 유저 프로퍼티가 아주 많아질 수 있습니다.

User Property(Key) : Experiment1 로 가정
Value : Variantion_a, Variantion_b로 나눌 수 있음.

또한
장점 : 각 실험을 선택하기 편리함
단점 : 동시에 여러 실험 진행시, User Property가 아주 많아짐.


이렇게 동시에 진행하고 있는 A/B테스트가 여러개일 수 있습니다.

3. [방법2]하나의 User Property와 여러 values(실험들)구분

모든 A/B 실험에 하나의 Property를 사용하고 Value로 실험을 구분하는 방법 입니다.

User Property(Key) : Split Tests 로 가정
Value : experiment_1_a, experiment_1_b, experiment_2_a, experiment_2_b ..

또한
장점 : User Property 관리가 쉬움.
단점 : 최대 10,000개 까지의 값만 사용 가능함.

4. A/B 테스트 분석

앞뒤 User Flow를 파악하기 위해, 퍼널차트를 이용해보겠습니다.
service : Ecommerce
chart : Funnel
funnel : Any active event > Search for items > Add to cart > Complete Purchase
Users : Varient A , Varient B , Control


최종적으로는 A그룹의 유저들의 최종전환율이 제일 높습니다.

만약, Search For items > Add to Cart 구간에서 A/B테스트가 일어난 경우 A/B테스트결과 크게 두 그룹이 달라지는 점은 보여지지 않습니다.

똑같이 퍼널차트를 이용하지만, User Property에 Group by를 이용해보겠습니다.
service : Ecommerce
chart : Funnel
funnel : Any active event > Search for items > Add to cart > Complete Purchase
by New신규유저에 한하여 All Users :
: Varient A , Varient B , Control Group by A/B Test : Purchase

Media Streaming 서비스에서 이번 A/B테스트 그룹간의 구매 전환율 차이를 확인해보겠습니다.
Service : Media Streaming
Event : Download Song or Video, Purchase Song or Video
Users group by : A/B Tests_Song_Purchase
Conversion 1 days from any day


Purchase_With_Pictures 그룹이 Purchase_No_Pictures 그룹보다 전환율이 더 높습니다.

Media Streaming 서비스에서 이번 A/B테스트 그룹간의 구매 전환율 차이를 확인해보겠습니다.
이번에는 AB Test - Improvement를 통해 기준이 되는 그룹을 정할 수 있습니다.
Service : Media Streaming
Event : Download Song or Video, Purchase Song or Video
Users group by : A/B Tests_Song_Purchase
Conversion AB Test - Impovement 1 days from any day
만약 사진이 있는 그룹 Purchase_With_Pictures 를 기준으로 나머지 두 그룹을 비교할 수 있습니다.

None그룹을 기준으로, 할 경우 사진이 있는 그룹과 없는 그룹간의 전환율 차이를 확인할 수 있습니다.


Purchase_No_Pictures 그룹은 -25.9% 이고
Purchase_With_Pictures그룹은 +10.3% 차이납니다.

코호트 분석

1. 코호트 분석이란?

사용자를 그룹으로 나누어서 분석하는 방법이며, 분류된 고객별로 행동 패턴 차이를 살펴보기 좋습니다.
사실 A/B테스트는 코호트 분석이라고 할 수 있습니다.

코호트 = 하나의 집단 을 의미합니다.

예시로 paid 광고를 통해 유입된 유저/ 레퍼럴로 유입된 유저/ 구매전 리뷰를 3회 이상 조회한 유저와 그렇지 않은 유저 등을 통해 유저들을 그룹별로 나누어 보며 비교해 볼 수 있습니다.

2. [방법1] 코호트 직접 생성

생성하는 방법에는 여러가지가 있습니다.

New Cohort를 클릭해서 추가 생성합니다.

예를들어 Upload CSV를 클릭해서 파일을 올린 뒤 id값으로 생성할 수 있습니다.

일단 New cohort > Define my own 을 통해 생성해보겠습니다.


최근 30일이내, 1번이라도 Add Review를 한 유저 그룹이 생성되었습니다.
아래를 내려보면 58,178명의 유저들이 있습니다.

코호트 생성시 with 설정값에 대하여

relative count : 두 가지 이벤트의 실행 횟수 비교
(A행위보다 B행위를 더 많이 한 유저)
count : 단순히 특정 이벤트 실행 횟수
total sum or property : 이벤트 or 유저 프로퍼티 합계 기준
(한 번 구매시 몇 개나 구매했는지)
distinct values or property : 특정 프로퍼티 값을 기준
(최소 n개 이상 구매자 혹은 Las Vegas 거주자)
historical count : n번째로 실행했는지를 기준
(장바구니 아이템event를 n번째로 실행했을때 기준으로 나눔)
count in interval : 특정 구간 안에 실행한 횟수

with count in interval at least 3 distinct days in any month during Last 30 days
최근 30일동안 1달에 최소 3일(3회) 이벤트를 실행한

3. [방법2] 차트에서 코호트 생성

Ecommerce 서비스의 Segmentation 차트를 이용하여
아이폰을 이용 User들의
60d동안 Add to Cart 이벤트를 실행한 값에 대한
코호트 차트 생성방법입니다.


차트안의 원하는 날짜의 Line 클릭 후, Create Cohort 클릭합니다.

클릭한 날짜에 이벤트를 실행한 유저들에 대해,
좀 더 쉽고 직관적인 방법으로 코호트를 생성하게 됩니다.

클릭한 날짜가 아닌, 설정값들의전체를 하나의 코호트로 잡고 싶으면 bar 차트로 변경하면 됩니다.

해당 그룹(코호트) 이름명을 변경한 뒤 저장하겠습니다.

Cohorts & Audiences 클릭하여 이동시, 저장한 코호트를 확인할 수 있습니다.

4. 코호트 분석의 필요성

이렇게 하나의 코호트 (예시로 최근 60일간의 Add to Cart를 실행한 아이폰 사용자) 를 만들어 두면,
하루하루 다음날이 지날수록 해당 업데이트가 되기 때문에, 관리를 할 수 있습니다.

5. 코호트 분석 활용

요청1.

Ecommerce 서비스에서 이번 A/B 테스트(Shopping)에서 A그룹중, 상품을 '좋아요' 한 것 보다 장바구니에 넣는 액션을 더 많이 한 사용자를 코호트로 만들어 주세요.

'상품 좋아요' 이벤트보다 '장바구니 담기' 이벤트 실행 횟수 비교 = relative count 이용해야 합니다.

우선 Create Cohort > Define My own >

으로 최근 30일동안 Add to Cart 이벤트를 Favorite Item보다 더 많이 사용한 유저를 구합니다.

그 뒤, Add(And) > User Property를 이용하여 A/B테스트의 A 그룹값을 줄 수 있습니다.



A/B테스트_Shopping의 A안 & add to cart를 favorite item보다 더 많이 한 사용자를 확인할 수 있습니다.

요청2.

Ecommerce 서비스에서 지난달 1일부터 마지막날까지, 장바구니에 아이템을 2번째로 담은 유저와 상품 검색을 5번 이상한 유저를 묶어주세요.

Add to Cart 장바구니담기를 2번째로 실행한 유저는
historical count 를 통해 확인할 수 있습니다.

우선 Create Cohort > Define My own >

장바구니담기 2번째한 유저와 상품검색 5번한 유저를 묶을 때는 or를 이용해야합니다.
(and의 경우 장바구니담기를 했으면서 상품검색도 한 유저가 됨)

또는

만약 하단의 then 을 누르면 이벤트 '순서'를 설정해줄 수도 있습니다.

요청3.

만들어진 두 코호트의 최근 1달간 구매전환율 비교해주세요.

[참고]
만들어진 코호트 :
최근 60일간의 Add to Cart를 실행한 아이폰 사용자,
Add to Cart 2회이상 실행유저와 Search For Item 5회이상 사용자

위의 창에서 Create Chart 클릭하게되면 바로 chart로 이동합니다.

자동으로 User property에 cohort로 적용되며 value값은 코호트명으로 적용됩니다.
(참고로 코호트명을 처음에 2번째 코호트로 저장해서 화면에 저렇게 나온겁니다)

구매전환율을 확인하기위해 Funnel chart를 이용합니다.

전환율에 대해서는 2번째코호트(Add to Cart 2회이상 실행유저와 Search For Item 5회이상 사용자)가 더 많습니다.

..holding constant값을 추가하여 알아볼 수도 있습니다.

유저별 행동 분석 방법

1. 왜 해야하는가?

User & Account Look Up 기능을 활용하여, 개별 유저 행동을 시간별로 확인할 수 있습니다.
(운영문제가 있을 때의 에러/시스템다운 등 원인 파악용, 타겟유저 및 outlier이상치 유저의 행동패턴 확인용 등)

상단 네비게이터의 User Look-up > User ID >

또한 만약 에러등이 나서 개발자에게 알려야 할 경우,
해당 이벤트를 클릭하여 Copy URL을 담당자에게 공유하면 위의 페이지로 바로 이동할 수 있습니다.

유저 페이지가 실무에서 필요한 상황 예시 :

  1. 서비스관련 문의가 올 경우, 루틴대로 잘 실행되었는데도 불구하고 에러 등으로 인해 실행이 안된건지 확인 가능

  2. 어떠한 클릭 이벤트를 실행했을때, 사용자의 이벤트 프로퍼티 (사용자가 어떠한 프로퍼티 값을 설정했는) 확인 가능

이슈 관련해서 서비스에러, 네트워크에러, 로그에러, 버그 등 에러를 체크하기에 유용합니다.

이렇게 일일이 디테일한 유저페이지가 있어야, 전체적인 유저 행동 집계가 잡혀서 분석을 할 수 있습니다.

profile
데이터기반 스토리텔링을 통해 인사이트를 얻습니다.

0개의 댓글