MongoDB Atlas Stream Processing과 AI 사용하여 고객 이탈을 방지하세요. 고객의 주저함을 실시간 감지하고 다음 조치 trigger하다.
산업: 소매
제품: MongoDB Voyage AI, MongoDB Atlas, MongoDB Atlas Stream Processing, MongoDB Vector Search
파트너: Amazon Bedrock
솔루션 개요
고객 유지는 고객이 제품을 계속 구매하고 다른 제공자로 전환하지 않도록 하는 조직의 기능 을 나타냅니다. 소매 에서 장기적인 성공 거두려면 리텐션을 개선하세요. 유지율을 5% 늘리면 이익이 25% 95%증가할 수 있습니다.. 고객을 유지하는 것은 신규 고객을 확보하는 것보다 비용이 훨씬 저렴합니다. 최신 상거래 플랫폼은 대량의 행동 데이터를 생성합니다. 고객은 검색, 제품 조회, 장바구니 조치 및 브라우징 활동을 통해 이 데이터를 생성합니다.
대부분의 소매업체는 이 데이터를 기록 시스템 에 저장하고 나중에 배치 파이프라인을 통해 분석합니다. 이 때문에 세션이 끝난 후에만 반응합니다. 몇 시간 후 다음을 수행합니다.
포기한 장바구니 이메일을 보냅니다.
리타게팅 캠페인을 시작하세요.
대시보드를 검토합니다.
그때쯤이면 고객은 이미 떠나고 구매에 영향을 미칠 수 있는 기회를 잃게 됩니다. 고객이 아직 활동 중인 상태에서 응답합니다. 기록 시스템 에서 조치 시스템으로 전환합니다. 세션 중 행동 신호를 감지하고 실시간 대응합니다.
그림 1. 배치 처리 와 Stream Processing: 나중에 분석된 저장된 데이터와 실시간 분석된 이벤트 비교.
MongoDB Atlas 와 Atlas Stream Processing 사용하여 실시간 행동 파이프라인을 빌드 . 이러한 파이프라인은 클릭스트림 이벤트가 발생하면 이를 프로세스 하고 원시 이벤트를 실행 가능한 컨텍스트로 변환합니다. 이러한 도구를 사용하면 다음을 수행할 수 있습니다.
현재 동작 컨텍스트를 캡처하는 라이브 세션 메모리 를 생성합니다.
실시간 가까운 상호 작용 패턴에서 행동 신호를 감지합니다.
Trigger Agentic 고객을 전환으로 가이드 다음 권장 조치 (NBA)입니다.
MongoDB Change Streams 통해 행동 신호에 React.
세션 메모리, 고객 데이터, 비즈니스 정책을 통합 MongoDB 인텔리전스 데이터 계층에 결합하세요.
동일한 플랫폼에서 친숙한 MongoDB 쿼리 API (MQL) 및 집계 프레임워크 와 함께 Atlas Stream Processing 을 사용하면 SQL 기반 스트림 처리의 경직성을 피할 수 있습니다. 유연한 MongoDB document model 사용하면 진화하는 세션 컨텍스트를 표현할 수 있습니다. 단일 세션 문서 과거 동작과 최신 활동 스냅샷 캡처하여 실시간 가까운 동작 분석을 가능하게 합니다.
별도의 스트리밍 인프라를 관리하는 대신MongoDB 에서 직접 스트림을 처리 하여 아키텍처를 간소화 하고 이벤트 기반 애플리케이션을 더 빠르게 제공합니다.
그림 2. Atlas Stream Processing 으로 이 세 가지 핵심 원칙을 달성하세요.
다음과 같은 행동 패턴을 실시간 감지하여 고객 유지율을 개선할 수 있습니다.
구매 의도
검색 마찰
포기 위험
이러한 신호가 나타나면 즉시 대응하세요. 다음과 같은 타겟팅된 조치를 트리거합니다.
맞춤형 제품 추천
상황별 소셜 증명 알림
배송 관련 제안
그림 3. 전환 가능성을 높이는 실시간 사용자 행동을 기반으로 다음 최적 조치를 실시간 트리거합니다.
고객 세션이 활성화되어 있는 동안 다음을 수행합니다.
전환율을 높입니다.
장기적인 충성도를 구축하세요.
MongoDB Atlas 기반 실시간 고객 유지 시스템을 구축하세요.
참조 아키텍처
Atlas Stream Processing 및 MongoDB Atlas 사용한 고객 유지 아키텍처 개요
이 솔루션을 구현 하려면 데이터 흐름, 이벤트 처리 단계 및 주요 아키텍처 구성 요소를 이해해야 합니다.
그림 4. MongoDB Atlas 기반 고객 유지 엔진
이벤트 수집 계층
전자상거래 애플리케이션 에서 고객 상호작용은 실시간 이벤트 스트림 생성합니다. 이 애플리케이션 사용하여 다음을 수행할 수 있습니다.
10 초마다 하트비트 이벤트 전송하여 고객 세션이 활성 상태로 유지됨을 알립니다.
검색, 제품 보기, 장바구니에 담기, 마우스 오버 종료와 같은 고객 조치를 캡처합니다.
이 데모 솔루션에서는 이벤트를 MongoDB 컬렉션 으로 스트림 . Change Streams 는 각 문서 새 이벤트 로 노출하여 Stream Processing 계층에 공급하는 실시간 이벤트 소스를 생성합니다.
또한 이벤트를 MongoDB Atlas 에 저장하지 않고도 Apache Kafka, Google Cloud Pub/Sub, Azure Event Hubs 또는 AWS Kinesis 와 같은 플랫폼에서 Atlas Stream Processing 의 소스로 이러한 스트림을 수집할 수 있습니다.
Atlas Stream Processing
Atlas Stream Processing 데이터가 도착하는 대로 프로세스 데 사용됩니다. 이를 통해 다음을 수행할 수 있습니다.
$source연산자 사용하여 데이터 스트림 에 연결합니다.세션 상태 구축 및 동작 신호 패턴 감지와 같은 다양한 작업에 여러 스트림 프로세서를 사용합니다.
높은 구매 의도, 검색 마찰, 종료 위험과 같은 행동 신호를 생성합니다.
데이터 싱크
$merge연산자 처리된 데이터를 대상으로 보내는 데 사용됩니다. 이 솔루션에서는 다음을 수행합니다.스트림 프로세서는 세션 상태 MongoDB 에 쓰기 (write) 에이전트 결정 계층의 라이브 세션 메모리 역할을 합니다.
Atlas Stream Processing 처리된 이벤트에서 파생된 동작 신호를 MongoDB 에 기록합니다.
MongoDB Change Streams 주요 고객 유지 신호가 나타날 때 이러한 신호를 노출하여 Agentic NBA 계층을 트리거하다 .
$merge연산자 Apache Kafka, AWS S3 또는 외부 함수로 결과를 보낼 수도 있습니다.에이전트
AI 에이전트 배포하여 행동 신호를 읽고 다음과 같은 NBA 를 계산합니다.
맞춤형 제품 추천
상황별 소셜 증명 알림
배송 관련 제안
에이전트 결정 계층 역할을 합니다. 단순 에이전트 또는 고급 에이전트 로 구현할 수 있습니다. 이 솔루션은 모델 컨텍스트 프로토콜(MCP), 벡터 검색, Voyage AI 임베딩 모델 및 대규모 언어 모델(LLM)을 결합하는 결정론적 에이전트 사용합니다. 이러한 도구는 컨텍스트를 평가하고 최적의NBA를 생성하여 활성 쇼핑객의 참여를 유지합니다.
MongoDB Atlas
MongoDB Atlas 상거래 및 고객 컨텍스트 계층으로 사용하세요. 에이전트 컨텍스트를 위해 Atlas 에서 운영 데이터와 고객 기록을 읽습니다. 에이전트 이 데이터를 평가하고 MongoDB 컬렉션 에 NBA를 씁니다.
Atlas 에이전트 에코시스템 전체의 데이터 통합을 확장하다 로 안전하고 간소화합니다. 이를 통해 운영 데이터를 카탈로그, 고객 선호도 및 기타 벡터 검색 사용 사례에 대한 임베딩과 함께 사용할 수 있습니다.
실시간 경험
고객 화면에 NBA를 실시간 표시합니다. 전자상거래 애플리케이션 Change Streams를 사용하여 NBA 컬렉션 모니터 . 그런 다음 애플리케이션 활성 구매자에게 타겟팅된 알림 표시합니다. 예는 다음과 같습니다.
전략 제품의 파이어 아이콘
소셜 프루프 메시지를 알림 으로 또는 장바구니 목록에 표시
팝업으로 추천 또는 할인 알림
Atlas Stream Processing 사용한 동작 신호 감지
각 제품 보기, 검색 또는 장바구니 조치 의도의 추적이 포함되어 있지만 원시 이벤트는 종종 시끄럽습니다. Atlas Stream Processing 사용하여 이러한 이벤트를 명확한 세션 컨텍스트로 변환하세요.
이 컨텍스트를 실시간 업데이트합니다. 이를 사용하여 세션 전반의 동작을 추적 하고 중요한 패턴을 감지합니다. 쿼리 , 설명하고, 조치를 취하기 쉬운 형식으로 의사 결정 계층이 이 컨텍스트에 빠르게 액세스 있도록 합니다. 이 아키텍처에서는 Atlas Stream Processing 해당 역할 수행합니다.
그림 5. Atlas Stream Processing 통한 행동 신호 감지
ASP #1 는 클릭스트림(1)(2)을 활성 세션당 단일 session_state 문서 로 지속적으로 변환하여 세션 메모리를 최신 10초 동작 스냅샷 (4)과 결합합니다. ASP #2 는 새로운 이벤트 소스(5)를 읽어 상위 수준의 행동 신호를 감지하고 이를 session_signals (7)에 싱크합니다. 둘 다 처리된 데이터를 MongoDB 에 저장 하지만, 유효하지 않은 이벤트는 디버깅 및 문제 해결을 위해 DLQ 컬렉션 (3) (6)으로 라우팅됩니다.
Atlas Stream Processing No.1: 실시간 세션 상태 빌드
각 고객 세션에 대한 실시간 세션 상태 구축합니다. 이 세션 상태 두 가지 목적으로 사용합니다.
세션 메모리 빌드: 다운스트림 시스템에 필요한 세션 메모리를 생성합니다. 처리된 문서 세션당 하나씩 유지하고 10 초마다 업데이트 . 첫 번째 활동, 마지막 활동, 상호 작용 수, 최근 행동, 검색 기록과 같은 필수 세션 컨텍스트를 저장합니다.
의도 해석: 도메인에 맞게 조정된 의도 모델을 통해 활동을 해석하여 활동을 저장하는 것 이상의 고 (Go) .
이 데모에서는 최근 고객 이벤트를 10 초마다 그룹 행동에 대한 구조화된 뷰를 만듭니다. 이 보기를 사용하여 고객이 어디에 관심을 기울이고 시간이 지남에 따라 그 관심이 어떻게 이동하는지 추적 .
의도 모델을 세 가지 개념으로 정의합니다.
차원: 각 상호 작용에 대한 행동 렌즈입니다. 제품 이벤트 특정 제품과
articleType및brand와 같은 더 넓은 컨텍스트를 모두 식별합니다. 이를 통해 각 이벤트 에 대한 여러 수준에서 의도를 읽을 수 있습니다. 고객은 기사 유형과 같은 동일한 유형의 '차원'에 집중하면서 여러 제품을 탐색할 수 있습니다.가중치: 상호 작용 신호의 강도입니다. 모든 조치가 동일한 중요성을 갖는 것은 아닙니다.
이 데모의 가중치는 다음과 같습니다.
view-product = 3
Add-to-Cart = 7
차원의 각 항목에 대해 다음과 같이 가중치를 계산합니다.
가중치(항목) = 10초 창 에서 해당 항목에 대한 이벤트 가중치의 합계
예시:
고객이 'X' 제품(
P1)을 두 번 보고 P1 를 장바구니에 한 번 추가하고 ArticleType이 '신발'인 경우:가중치(P1) = 3 + 3 + 7 = 13
무게(신발) = 3 + 3 + 7 = 13
이 계산은 특정 제품과 '신발' 모두에 강한 관심을 나타냅니다.
초점: 초점을 사용하여 차원 내부에 고객의 주의가 얼마나 집중되어 있는지 측정합니다.
차원의 각 항목에 대해 다음을 계산합니다.
초점(항목) = 가중치(항목) / 동일한 창 에 있는 해당 차원의 총 가중치
예시:
해당 창 에서 고객이 상호작용하는 유일한 제품이 P1 인 경우:
초점(P1) = 13 / 13 = 1.0
이는 고객이 하나의 제품에 완전히 집중하고 있음을 의미합니다.
고객이 동일한 창 에서 두 제품과 상호 작용하고 각 제품이 다른 기사 유형에 속하는 경우:
조회 제품 P1, 여기서 기사 유형 = 샴푸 → 무게(샴푸) = 3
제품 P2를 조회하고 제품 P2 를 장바구니에 추가합니다. 여기서 itemType = 컨디셔너 → 가중치(컨디셔너) = 3+7 = 10
그런 다음:
총 가중치(기사 유형) = 3 + 10 = 13
So:
포커스(샴푸) = 3 / 13 = 0.23
포커스(컨디셔너) = 10 / 13 = 0.77
이는 고객의 관심이 기사 유형 차원의 여러 항목에 분산되어 있지만 컨디셔너에 더 집중되어 있음을 의미합니다.
이 모델을 사용하여 시간 경과에 따른 변수를 추적 . 각 10초 스냅샷 시간 경과에 따른 상위 수준 패턴을 평가하는 Atlas Stream Processing No.2에 대한 구조화된 행동 입력이 됩니다. 이는 고객이 다음과 같은지 확인하는 데 도움이 됩니다.
특정 품목, 카테고리 또는 브랜드에 집중
광범위하게 탐색
명확하거나 불확실한 의도 표시
네이티브 Atlas Stream Processing 기능을 사용하여 이 세션 상태 구축합니다.
$source 를 사용하여
events_ingest에서 이벤트를 읽고 윈도우를 위한 이벤트 시간을 보존합니다.$validate 를 사용하여 이벤트 계약을 시행하다 하고 유효하지 않은 이벤트를
events_ingest_dlq로 보냅니다.10초의 이벤트 시간 간격으로 $tumblingWindow를 사용하여 세션당 하나의 안정적인 처리 프레임을 만듭니다.
$ 그룹 사용하여 각 창 에 대해 여러 원시 이벤트를 하나의 세션별 스냅샷 으로 축소합니다.
$addFields 및 $switch 를 사용하여 각 상호 작용에 가중치를 할당합니다.
$function 을 사용하여 각 차원에 대한 가중치 및 포커스의 의도 모델을 계산합니다. 카운터와 산술을 사용하여 10 초마다 세션 동작에 대한 구조화된 스냅샷 생성하고, JavaScript 로직으로 각 텀블링 창 이벤트를 프로세스 . 이렇게 하면 Atlas Stream Processing No. 2 가 다음 단계에서 소비하는 새로운 데이터 설정하다 생성됩니다.
$merge 를 사용하여 결과를
session_state에 업서트 최신 스냅샷 과 누적된 세션 메모리가 모두 포함된 세션당 하나의 라이브 문서 유지합니다.
Atlas Stream Processing No. 2: 시간 경과에 따른 동작 패턴 감지
원시 클릭스트림 이벤트 대신 session_state 에서 구조화된 세션 스냅샷을 읽습니다. 이는 평가를 위해 처리된 시간 인식 행동 계층을 제공합니다.
이 데모에서 Atlas Stream Processing No.2 는 3개의 스트림 프로세서를 사용합니다. 각 프로세서는 하나의 신호 유형을 감지합니다.
high-intentsearch-frictionexit-risk
세 가지 프로세서는 모두 동일한 패턴 따릅니다.
세션 스냅샷 읽기
session_state30초 창에서 동작 평가
삽입 전용 신호 문서 쓰기 (write)
session_signals
이 설계는 파이프라인 단순하고 모듈식으로 유지합니다. 각 프로세서는 동일한 소스 및 싱크 패턴 사용하지만 동작 신호를 감지하기 위해 서로 다른 규칙을 적용합니다. 이러한 신호를 동작 체크포인트로 사용합니다. 각각은 다음과 같은 세션 동작의 의미 있는 변화를 포착합니다.
제품 컨버전스
미해결 탐색
떠날 의향이 있습니다.
신호를 희박하고 시간 제한이 있으며 설명 가능하게 유지합니다. 이를 통해 의사 결정 계층은 모든 원시 이벤트 처리 대신 관련 일이 발생할 때만 반응할 수 있습니다.
Atlas Stream Processing No.2 는 다음 조치 결정하지 않습니다. 의사 결정 시스템이 실시간 추론하고 행동하는 데 사용하는 행동 신호 계층을 구축합니다.
그림 6. AI 에이전트를 위한 통합 인텔리전스 데이터 계층 구축
다음 조치 에이전트 MongoDB 의 통합 인텔리전스 데이터 계층 위에서 실행됩니다. Change Streams를 통해 행동 신호(1)에 반응하고, session_state (2.a)에서 실시간 컨텍스트를 가져와 사용자 프로필, MongoDB, 프로모션, 규칙, 임베딩 및 MongoDB Vector Search(2.b). 에이전트 차순위 조치 실시간 계산하고 저장하며(3), 전자상거래 애플리케이션 Change Streams를 통해 이 조치를 소비하고 고객 유지를 위해 실시간 세션 중에 표시합니다(4).
세션 상태, 행동 신호 및 의사 결정 출력을 MongoDB 에 저장하면 에이전트 에 통합 인텔리전스 데이터 계층을 제공할 수 있습니다. 에이전트 해당 세션에 대한 새로운 행동 컨텍스트와 기록 신호를 읽을 수 있습니다. 그런 다음 이 데이터를 프로필, 카탈로그, 프로모션 및 비즈니스 규칙과 결합하여 동일한 운영 플랫폼에서 NBA를 다시 쓰기 (write) . 이를 통해 아키텍처를 단순하게 유지하고, 데이터 이동을 줄이며, 에이전트 안전하고 확장 가능한 방식으로 실시간 조치에 필요한 컨텍스트에 빠르게 액세스 할 수 있습니다.
데이터 모델 접근 방식
MongoDB 실시간 아키텍처를 위한 유연한 document model 제공합니다. 스키마가 다른 다양한 고객 이벤트를 단일 컬렉션 에 저장합니다. 비즈니스 로직의 발전에 따라 스키마 업데이트하세요.
The document model 배열 및 하위 문서와 같은 복잡한 구조를 처리합니다. 이러한 구조를 사용하여 작고 쿼리 가능한 세션 메모리를 빌드 할 수 있습니다. 이 설계는 데이터베이스 조인 없이 AI 에이전트에게 즉각적인 컨텍스트를 제공합니다. TTL(Time-to-Live) 인덱스를 사용하여 수동 데이터 정리 스크립트를 제거할 필요가 없습니다.
이 솔루션은 네 가지 주요 컬렉션을 사용합니다:
events_ingest: 단기 원시 데이터 이벤트를 저장합니다. 스트리밍 파이프라인의 프라이머리 소스 역할을 합니다.
session_state: 세션당 실시간 작업 컨텍스트를 저장하고 약 10 초마다 업데이트를 가져옵니다.
session_signals: 해석 가능한 동작 신호를 저장합니다. Atlas Stream Processing 감지된 신호당 하나의 문서 생성합니다.
Next_best_actions: 전자상거래 인터페이스에 대한 최종 조치 계약을 저장합니다.
원시 이벤트 수집(events_ingest)
전자상거래 애플리케이션 원시 이벤트를
events_ingest컬렉션 으로 스트리밍합니다. 각 이벤트 타임스탬프, 태그, 메타데이터 포함하는 공통 구조를 따릅니다. 이벤트 필드 이벤트 유형을 식별하고 메타데이터 섹션은 이벤트별 속성을 저장합니다. 이 다형성 디자인을 사용하면 엄격한 스키마 적용하지 않고도 서로 다른 이벤트 유형이 동일한 컬렉션 에 공존할 수 있습니다. 짧은 TTL 인덱스 사용하여 이 임시 데이터를 관리 .{ "timestamp": "2026-01-05T14:55:12.321Z", "tags": { "sessionId": "1767624420027", "userId": "66fe219d625d93a100528224", "event": "search" }, "metadata": { // Event-specific fields } } 구체화된 세션 상태(session_state)
세션 상태 문서 세션당 단일 실시간 진실 소스를 나타냅니다. Atlas Stream Processing No. 1 는 이 문서 10 초마다 업데이트합니다. 이렇게 하면 Atlas Stream Processing No. 2 의 소스 역할을 하고 활성 세션 내에서 에이전트 결정을 위한 실시간 단기 컨텍스트로 사용되는 간결한 컨텍스트가 생성됩니다.
이 문서 누적 활동(
sessionTotals)과 최근 마이크로 창 활동(last10s)을 구분합니다. 이벤트 수, 최근 검색 및 장바구니 업데이트를 추적합니다. 가중 상호 작용 모델을 사용하여 항목 선호도 점수를 계산합니다. 이 모델은 관심 강도와 초점 방향을 측정합니다.{ "_id": { "$oid": "69c16dd2f2145b31c07b1beb" }, "firstSeen": { "$date": "2026-03-23T16:43:59.013Z" }, "lastEvent": { "event": "view-product", "ts": { "$date": "2026-03-23T16:49:29.849Z" } }, "lastSeen": { "$date": "2026-03-23T16:49:29.849Z" }, "sessionId": "d73477b8-3879-4749-a402-321a526cdc33", "userId": "671ff2451ec726b417352703", "last10s": { "intent": { "products": [ { "productId": "67192b4264d161905fbe8342", "searchCount": 0, "viewCount": 0, "addToCartCount": 1, "weight": 7, "focus": 0.4375 }, { "productId": "67192b4264d161905fbe8245", "searchCount": 0, "viewCount": 1, "addToCartCount": 0, "weight": 3, "focus": 0.1875 }, { "productId": "67192b4264d161905fbe82a1", "searchCount": 0, "viewCount": 1, "addToCartCount": 0, "weight": 3, "focus": 0.1875 }, { "productId": "67192b3f64d161905fbe77af", "searchCount": 0, "viewCount": 1, "addToCartCount": 0, "weight": 3, "focus": 0.1875 } ], "articleTypes": [ { "articleType": "SHOES", "searchCount": 0, "viewCount": 2, "addToCartCount": 1, "weight": 13, "focus": 0.8125 }, { "articleType": "CARGO_STRAP", "searchCount": 0, "viewCount": 1, "addToCartCount": 0, "weight": 3, "focus": 0.1875 } ], "subCategories": [ { "subCategory": "Shoes", "searchCount": 0, "viewCount": 2, "addToCartCount": 1, "weight": 13, "focus": 0.8125 }, { "subCategory": "Hardware", "searchCount": 0, "viewCount": 1, "addToCartCount": 0, "weight": 3, "focus": 0.1875 } ], "dimensionTotals": { "productWeightTotal": 16, "articleTypeWeightTotal": 16, "subCategoryWeightTotal": 16 } }, "lastEvent": { "event": "view-product", "ts": { "$date": "2026-03-23T16:49:29.849Z" } }, "window": { "start": { "$date": "2026-03-23T16:49:20.000Z" }, "end": { "$date": "2026-03-23T16:49:30.000Z" } } }, "sessionTotals": { "eventCounts": { "heartbeat": 30, "search": 2, "view-product": 21, "add-to-cart": 13, "exit-risk": 14 }, "windowCount": 30 }, "searchHistory": [ "shoes", "running shoes" ] } 실행 가능한 진단(session_signals)
Atlas Stream Processing No.2 는 30 초마다 세션 상태 평가하고, 행동 패턴을 식별하며, 신호를 생성합니다. 세션 문서 내에서 신호 배열 대신 신호당 하나의 문서 사용합니다. 이 삽입 전용 접근 방식은 쓰기 (write) 증폭을 방지하고 소매 트래픽이 피크일 때 핫 문서를 방지합니다.
이 솔루션은 대부분의 전자상거래 과정에서 유지율이 높은 순간을 나타내는 세 가지 핵심 행동 신호에 중점을 둡니다.
High-Intent: 고객이 구매를 적극적으로 고려하고 있으며 강력한 의도 신호(예: 반복되는 제품 포커스, 장바구니 진행, 집중된 관심)를 보여줍니다. 지금은 확신, 제품 지침, 가용성 및 전달 명확성을 통해 의심을 줄이고 전환을 가속화할 수 있는 이상적인 순간입니다.
이탈 위험: 고객은 종종 의미 있는 참여 또는 장바구니 활동 후에 전환하지 않고 떠날 가능성이 높습니다. 세션을 유지하거나, 장바구니를 복구하거나, 의도를 보존하거나, 즉각적인 지원을 제공할 수 있는 마지막 기회입니다.
Search-Friction(검색 마찰): 고객이 진행하지 않고 반복적으로 검색하고 탐색하며, 일치하는 항목을 찾는 데 어려움이 있거나 불만이 쌓입니다. 이는 고객이 피로나 불만으로 인해 세션을 포기하기 전에 조기에 개입할 수 있는 가장 가치 있는 기회 중 하나입니다.
다음은 검색 마찰 신호의 예시 문서 입니다.
{ "_id": "69c172667348bc2e9b60ee7b", "evidence": "Explored a considerable number of products in the last 30 seconds, while articleType focus remained predominant on 'PET_SUPPLIES'. The absence of add-to-cart suggests stable topic-level intent combined with choice overload at the product level", "severity": "medium", "sid": "d73477b8-3879-4749-a402-321a526cdc33", "signal": "search-friction", "topic": { "dimension": "articleType", "value": "PET_SUPPLIES" }, "ts": "2026-03-23T17:03:20.000Z", "uid": "671ff2451ec726b417352703" }
솔루션 빌드
사용자 환경에서 이 데모를 재현하려면 다음 단계를 따르세요.
전제 조건 설정
데이터베이스 에 제품을 미리 로드합니다. 제공된 덤프 파일 을 사용하여 데이터를 복원 .
Leafy 팝업 스토어 메인 애플리케이션 배포. 이 애플리케이션 에는 프론트엔드 와 이벤트 스트림 시스템이 포함되어 있습니다.
Python 3.12 이상
베드락 액세스 위한 AWS 자격 증명 .
Voyage AI API key.
Atlas Stream Processing 구성
스트림 처리 작업 공간 만들기
다음 설정을 사용하여 Atlas 계정에서 작업 공간을 만듭니다.
설정값이유작업 공간 이름
소매 보존 데모
소유권과 목적을 명확히 합니다. 나중에 식별하기 쉽습니다.
계층
SP10
비용을 낮게 유지하면서 데모 규모의 파이프라인(~2k 세션)에 충분합니다.
제공자/리전
AWS / us-east-1 (N. 버지니아)
지연 시간 줄이고 리전 간 트래픽을 방지하려면 Atlas 클러스터 리전 일치해야 합니다.
최대 계층 크기(선택 사항)
기본값 그대로 두거나 SP30로 설정하다
필요한 경우 자동 확장을 활성화하지 않고도 빠르게 확장할 수 있습니다.
데이터베이스 연결 등록
Open your Stream Processing workspace and configure these connection settings:
연결 유형Atlas DatabaseconnectionName
소매_고객_보유
Atlas Cluster
leafy_popup_store 데이터베이스 포함된 클러스터 를 선택합니다.
다음으로 실행
모든 데이터베이스 에 읽기 및 쓰기 (write)
스트림 프로세서 만들기
작업 공간에 4개의 Atlas 스트림 프로세서를 생성합니다. 첫 번째 프로세서의 경우 다음 단계를 따르세요. 나머지 3개의 프로세서에 대해 프로세스 복제합니다.
Atlas Stream Processing No. 1 생성: 세션 상태 빌더
Open your Stream Processing workspace.
프로세서 생성을 클릭합니다.
프로세서 이름으로 asp1_session_state_builder를 입력합니다.
파이프라인 정의를 복사합니다.
파이프라인 프로세서 정의 편집기에 붙여넣습니다.
프로세서 생성을 클릭합니다.
시작을 클릭합니다.
이전 단계를 복제하여 다음 세 개의 프로세서를 만듭니다.
processorName파이프라인asp2_exit_riskasp2_high_intentasp2_search_friction
NBA 결정 계층 구성
리포지토리를 복제합니다.
git clone https://github.com/mongodb-industry-solutions/retail-customer-retention-backend/tree/staging cd retail-customer-retention-backend 가상 환경을 생성하고 활성화합니다.
python3 -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate 종속성을 설치합니다.
pip install -r requirements.txt 루트 디렉토리 에
.env파일 만들고 이러한 환경 변수를 구성합니다.MONGODB_URI= AWS_REGION= AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= VOYAGE_API_KEY= 애플리케이션 시작합니다. 이 스크립트 MCP 서버 와 변경 스트림 모니터 시작합니다.
python main.py
솔루션 테스트
/shop에서 애플리케이션 엽니다. 카탈로그와 상호 작용합니다. 애플리케이션 은 화면에 다음 최선의 조치를 표시합니다.
주요 학습 사항
실시간 고객 유지: Atlas Stream Processing 사용하면 클릭스트림 이벤트를 프로세스 활성 세션 중에 차선책을 트리거하다 할 수 있습니다. 이를 통해 소매업체는 사후 손상 관리 에서 사전 예방적 즉각적인 개입 으로 전환할 수 있습니다.
데이터 아키텍처 간소화: MongoDB document model 사용하면 원본 클릭스트림 이벤트, 세션 상태 및 동작 신호를 단일 플랫폼에 저장 수 있습니다. TTL 인덱스와 유연한 컬렉션을 사용하여 파이프라인을 추출, 변환, 로드하고 파이프라인을 수동으로 정리하지 않아도 됩니다.
MongoDB 의 인텔리전스 데이터 계층 위에 에이전트 기반 다음 Best 조치 빌드: AI 에이전트를 MongoDB 의 라이브 세션 컨텍스트 및 운영 데이터에 직접 연결합니다. Vector Search와 같은 AI 기능으로 차세대 조치를 강화하여 맞춤형 경험을 제공하세요.
작성자
Angie Guemes, MongoDB
Florencia Arin, MongoDB
로드리고 릴, MongoDB
다니엘 자미르, MongoDB