본문 바로가기

스터디스터디/태블로 23기 신병훈련소

코호트 분석

[추가 도전] 코호트 분석

최초 구매가 일어난 후, 두번째 구매가 발생하기까지의 기간이 어느 정도 되는지를 시각화 해봅니다.
즉, 2015년 2분기에 처음 구매를 한 고객은 2분기가 지난 후 가장 많이 재구매를 했음을 나타냅니다.

사용 Data : 주문+반품 추출


[시각화를 위한 HINT]

1. 최초 구매일은 이미 4번 과제에서 “고객별 최초 구매일” 만들어 놓았습니다.

2. 최초 구매일을 활용해서 2번째 구매일 (“고객별 최초 재구매일”)을 구해볼까요?

우리는 아래와 같은 시각화를 그리게 될텐데요.
4번 과제와 마찬가지로 우리가 구해야하는 “고객 별 최초 재구매일” 에 사용되어야 하는 집계 기준과
“시각화 세부수준 (뷰의 세부수준)”이 다르기 때문에 FIXED 세부 수준식을 사용해야 합니다.

아래 식을 이용해서 “고객별 최초 재구매일” 계산식을 만들어 주세요.

{ FIXED [고객번호] :
MIN(
IIF( [고객별 최초 구매일] < [주문 일자], [주문 일자], NULL )
)
}

식이 의미하는 바를 가장 안쪽 식부터 차근차근 살펴볼까요?

(1) IIF 함수는 제일 첫 번째 조건이 만족하면, 2번째 값을, 아니라면 3번째 값을 적용한다는 의미입니다.
즉, “고객별 최초 구매일"이 "주문일자" 보다 작으면 주문일자를 가져오고, 아니라면 NULL 값이라는 얘기인데요.

아래 표와 같은 결과가 나오겠죠.

고객ID 고객명 주문일자 고객별 최초 구매일 IIF 함수를 이용했을 때까지의 주문일자
1 신효임 1/3/2015 1/3/2015 NULL
1 신효임 3/13/2015 1/3/2015 3/13/2015
1 신효임 1/13/2016 1/3/2015 1/13/2016
1 신효임 2/13/2017 1/3/2015 2/13/2017
1 신효임 3/13/2018 1/3/2015 3/13/2018
2 김민지 1/3/2015 1/3/2015 NULL
2 김민지 2/3/2016 1/3/2015 2/3/2016
3 최수현 1/4/2016 1/4/2016 NULL
3 최수현 1/3/2018 1/4/2016 1/3/2018
4 이수림 7/5/2017 7/5/2017 NULL
4 이수림 3/1/2018 7/5/2017 1/3/2018

(2) IIF를 통해 구해진 주문일자 중 가장 최소값을 갖고 오게 되니, 고객별 두번째 구매날짜를 구할 수 있겠죠??
(위의 표에서 파란색 값을 가져오게 될꺼에요.)

3. “고객별 최초 구매일”“고객별 최초 재구매일”을 가지고 DATEDIFF 함수를 이용해서 ‘quarter기준으로
재구매가 일어나기 까지의 시간 차이를 구해보세요. 계산식 이름은 “고객별 재구매 경과기간”으로 합니다.

DATEDIFF('quarter', [고객별 최초 구매일], [고객별 최초 재구매일 ])

4. “고객별 재구매 경과기간”의 결과 값은 숫자이기 때문에, 새로운 계산식이 측정값에 위치하는 것을 볼 수 있습니다.
하지만 우리는 “고객별 재구며 경과기간”을 집계 형태로 사용하는 것이 아니라 하나의 “차원”으로 사용해야 겠죠.
“고객별 재구매 경과기간” 필드를 드래그 하여 측정값에서 차원으로 이동시켜 주세요.

5. 구해 놓은 “고객별 최초 구매일”행 선반에 불연속형 “년”, “분기” 수준으로 놓아주세요.

6. “고객당 재구매 경과기간”을 열 선반에 놓아 주세요.

7. “고객번호”에서 마우스 오른쪽 버튼을 누른채 (Mac의 경우 Option을 누른채) 로 색상에 드래그 하고,
고유 카운트로 집계해주세요. 해당 기간에 해당하는 고객을 카운트 합니다.