1 분 소요

이 글은 유저 상태 스냅샷 포스트시리즈 개요편 에서 이어지는 내용입니다. 앞선 글을 아직 안 보셨다면 먼저 보고 오셔도 좋습니다.

스냅샷 모델링을 보고 아래와 같은 의문을 가지실 수 있습니다.

  • 비활동 유저까지 매일 저장해야 하나요?
  • NEW / RETAINED / REACTIVATED 만 보고 싶은데 더 가벼운 방법은 없나요?
  • 활동한 날만 저장해도 Activation 분석이 가능한가요?

이 질문에는 활동한 날만 저장하는 Activation 모델 이 답이 될 수 있습니다.

이 모델은 무엇인가

이 방식은 말 그대로 활동이 있었던 날짜만 저장합니다.

예를 들면 이런 식입니다.

day_dt user_id activation_status prev_active_day return_interval_days
2025-03-01 1001 NEW null null
2025-03-02 1001 RETAINED 2025-03-01 1
2025-03-10 1001 REACTIVATED 2025-03-02 8

핵심은 단순합니다.

  • 활동한 날은 row 가 생김
  • 활동하지 않은 날은 row 가 생기지 않음

즉 daily snapshot 보다 훨씬 가볍습니다.

장점

  • 저장량이 크게 줄어듭니다
  • NEW / RETAINED / REACTIVATED 분석에는 충분한 경우가 많습니다
  • 마케팅 타겟팅에도 꽤 유용합니다

특히 “활동한 유저를 어떻게 분해해서 볼 것인가”가 관심사라면 이 모델은 실용적입니다.

단점

  • 비활동 날짜를 직접 보기는 어렵습니다
  • 2025-03-05 에 이 유저 상태가 뭐였지? 같은 질문에는 바로 답이 안 됩니다
  • Inactive 상태를 매일 보여주는 분석에는 약합니다

즉 상태를 모두 복원하는 모델이라기보다, 활동 중심 Activation 분석용 모델 에 가깝습니다.

운영에서 특히 조심할 점

이 모델은 활동한 날만 저장하므로, 비활동 구간을 어디까지 암묵적으로 해석할 것인지 기준이 필요합니다.

예를 들어 아래는 미리 정해두는 편이 좋습니다.

  • REACTIVATED 의 기준 휴면일 수
  • 당일 다중 이벤트를 어떻게 하나의 활동으로 압축할지
  • 활동 없는 날짜를 downstream 에서 어떻게 해석할지

즉 저장은 가벼워지지만, 해석 규칙은 더 분명해야 합니다.

언제 잘 맞는가

  • 활동 사용자 중심 분석이 중요할 때
  • Daily Snapshot 이 너무 무거울 때
  • NEW / RETAINED / REACTIVATED 분해가 핵심일 때

비활동 날짜까지 꼭 관리할 필요가 없다면, 이 모델이 Daily Snapshot보다 훨씬 가볍고 관리하기 쉬운 경우가 많습니다.

참조 링크:

시리즈 모아보기

댓글 남기기

스팸 방지를 위해 짧은 시간에 반복 등록은 제한됩니다.

댓글 목록

관리자 보기