지금 읽는 곳다이나믹 세그먼트와 정적 리스트는 무엇이 다른가목차
STEP 3 고급·전략 › 3-2. 프로그래매틱 핵심 원리·거시 데이터 분석 › 과목 116 › 레슨 04
실시간 개인화 세그먼트(Dynamic Segmentation) 빌딩: "최근 3일 내 앱 방문 3회 이상, 장바구니에 5만 원 이상 담은 서울 거주 유저" 자동 분류 룰셋
조건을 조합한 세그먼트가 실시간으로 자동 갱신되도록 설계하는 원리를 정리합니다.
핵심요약
- 다이나믹 세그먼트는 정적 리스트가 아니라 조건을 만족하는 유저가 실시간으로 자동 진입·이탈하는 룰셋으로 정의된다
- 룰셋은 행동 조건(빈도·최근성), 거래 조건(금액), 속성 조건(지역·회원등급)을 AND/OR로 조합해 만든다
- 세그먼트가 정확히 작동하려면 그 조건에 쓰이는 이벤트·속성이 3강에서 설계한 파이프라인을 통해 이미 CDP에 실시간 적재돼 있어야 한다
- 세그먼트 갱신 주기(실시간 vs 배치)는 벤더·플랜에 따라 다르므로, 세그먼트를 만들기 전에 해당 조건이 실시간 반영되는지 배치 반영되는지 먼저 확인해야 한다
다이나믹 세그먼트와 정적 리스트는 무엇이 다른가
정적 리스트는 특정 시점에 조건을 만족한 유저를 한 번 뽑아 고정한 명단입니다—다음 날 조건을 새로 만족하는 유저가 생겨도 리스트에 자동으로 추가되지 않고, 반대로 조건을 벗어난 유저도 자동으로 빠지지 않습니다. 반면 다이나믹 세그먼트(Dynamic Segmentation)는 조건 자체를 저장해두고, 유저의 상태가 바뀔 때마다 그 조건을 다시 평가해 진입·이탈을 자동으로 갱신하는 방식입니다. "최근 3일 내 앱 방문 3회 이상, 장바구니에 5만 원 이상 담은 서울 거주 유저"라는 조건을 다이나믹 세그먼트로 만들어두면, 오늘 이 조건을 새로 만족한 유저는 자동으로 들어오고, 조건을 만족하다가 최근성 기준(3일)을 벗어난 유저는 자동으로 빠집니다. Segment의 Unify 기능이 오디언스를 만들면 목적지가 지원하는 형식(불리언 속성 또는 사용자 리스트)으로 자동 동기화를 시작하는 것도 이 원리를 기반으로 합니다.
조건은 어떤 종류로 조합되나
세그먼트 조건은 크게 세 종류로 나뉩니다. 첫째는 행동 조건으로, 특정 이벤트가 정해진 기간 안에 몇 번 발생했는지(빈도)와 마지막 발생이 언제인지(최근성)를 씁니다—"최근 3일 내 앱 방문 3회 이상"이 이 유형입니다. 둘째는 거래·상태 조건으로, 장바구니 금액이나 누적 구매액처럼 숫자 임계값을 씁니다—"장바구니 5만 원 이상"이 이 유형입니다. 셋째는 속성 조건으로, 회원가입 시 입력한 거주지역, 회원등급, 성별 같은 비교적 고정적인 정보를 씁니다—"서울 거주"가 이 유형입니다. 실무에서 쓰는 대부분의 정밀 세그먼트는 이 세 유형을 AND로 묶어서 만들어집니다. OR을 쓰면 대상이 넓어지고, AND를 쓸수록 대상은 좁아지지만 메시지 관련성은 높아집니다.
세그먼트가 작동하려면 무엇이 먼저 갖춰져 있어야 하나
아무리 룰셋을 정교하게 설계해도, 그 조건에 쓰이는 이벤트나 속성이 CDP에 실제로 들어와 있지 않으면 세그먼트는 항상 0명이거나 잘못된 인원으로 나옵니다. 예를 들어 "장바구니 5만 원 이상"이라는 조건을 쓰려면, 장바구니 담기 이벤트가 상품 금액 정보와 함께 실시간으로 CDP에 전송되고 있어야 하고, "서울 거주"라는 조건을 쓰려면 회원 정보의 거주지역 필드가 CDP의 유저 프로필과 매핑돼 있어야 합니다. 이 부분이 3강에서 다룬 데이터 파이프라인 설계와 직접 연결되는 지점입니다—세그먼트를 만들기 전에 반드시 그 조건에 필요한 데이터가 이미 파이프라인을 통해 들어오고 있는지 먼저 확인해야 시행착오를 줄일 수 있습니다.
세그먼트 갱신 주기를 확인해야 하는 이유
"다이나믹"이라는 이름과 달리, 모든 CDP·모든 조건이 완전히 실시간으로 갱신되는 것은 아닙니다. 어떤 조건(예: 실시간 이벤트 기반)은 초 단위로 갱신되지만, 다른 조건(예: 배치로 연동되는 CRM 속성)은 하루에 한 번만 갱신될 수 있습니다. 이 갱신 주기를 확인하지 않고 "실시간 개인화"를 전제로 캠페인을 설계하면, 실제로는 하루 지난 데이터를 기준으로 메시지가 나가는 상황이 생길 수 있습니다. 세그먼트를 만들 때는 반드시 각 조건 필드의 실제 갱신 주기를 벤더 문서나 설정 화면에서 확인하고, 그 주기에 맞춰 메시지 발송 타이밍을 설계해야 합니다.
세그먼트를 너무 잘게 쪼갤 때 생기는 문제
정밀 타겟팅을 목표로 조건을 계속 AND로 추가하다 보면 세그먼트 인원이 급격히 줄어드는 함정에 빠지기 쉽습니다. "최근 3일 내 앱 방문 3회 이상"에 "장바구니 5만 원 이상"과 "서울 거주"까지 더하면 전체 유저 기반에서 이 조건을 모두 만족하는 사람은 소수로 좁혀지고, 캠페인 하나를 돌려도 통계적으로 의미 있는 결과를 보기 어려운 규모가 될 수 있습니다. 실무에서는 세그먼트를 설계할 때 예상 인원을 미리 추정해보고, 인원이 지나치게 적다면 조건 하나를 완화하거나(예: 최근성을 3일에서 7일로), OR 조건으로 유사한 행동을 묶어 규모를 확보하는 절충이 필요합니다. 정밀도와 규모는 항상 트레이드오프 관계에 있다는 것을 세그먼트 설계 단계에서부터 염두에 둬야 합니다.