유사 잠재 고객을 모델링해요
유사 잠재 고객을 모델링해요
기능 — 일반 제공
현재 these regions에서 사용할 수 있어요.
정부 및 VPS 배포에서는 사용할 수 없어요.
출처: 문서
본문
이 예제 정보
lookalike audience 모델링 예제를 사용하면 가장 수익성이 높은 기존 고객과 유사한 새롭고 가치 높은 고객을 발견하고 타겟팅할 수 있어요. Snowflake Collaboration Data Clean Room 안에서 맞춤형 XGBoost 머신러닝 모델을 학습시키면, 당사자 간에 원시 데이터를 노출하거나 공유하지 않고도 마케팅 효과를 크게 높일 수 있어요.
광고주의 시드 오디언스와 퍼블리셔의 사용자 피처를 결합해 분류기를 학습시키고, 그다음 전체 퍼블리셔 모집단을 점수화한 뒤 결과를 다시 활성화해요. 이 모든 과정에서 어느 쪽도 원시 데이터나 모델 코드를 상대방에게 노출하지 않아요.
이 페이지에서는 동일한 사용 사례의 두 가지 구현 방법을 다뤄요:
-
옵션 1: Python UDFs — 학습과 점수화를 웨어하우스 기반 Python UDF로 실행해요. Anaconda 번들의 패키지를 사용하는 중간 규모 워크로드에 적합해요.
-
옵션 2: ML Jobs — 학습과 점수화를 전용 컴퓨트 풀에서 컨테이너화된 작업으로 실행해요. 대규모 워크로드, GPU 가속, Anaconda 번들 외 패키지에 적합해요.
참고
두 옵션은 서로 다른 협업 소유자를 사용해요. 옵션 1에서는 퍼블리셔가, 옵션 2에서는 광고주가 소유하죠. 이는 의도적인 설계예요. Collaboration API는 어떤 역할 할당이든 지원하거든요. 어느 쪽이든 협업을 소유하거나, 데이터를 제공하거나, 분석을 실행할 수 있어요. 두 예제를 함께 보면 이러한 유연성을 확인할 수 있어요.
파이프라인 (두 옵션 모두):
-
학습: 시드 오디언스와 퍼블리셔 사용자 피처를 결합해 XGBoost 모델을 만들어요.
-
점수화: 학습된 모델을 사용해 전체 퍼블리셔 모집단을 점수화해요.
-
활성화: 점수화된 lookalike audience를 퍼블리셔 계정으로 보내요.
주요 사용 사례:
-
고객 확보: 공유 피처를 기반으로 예측 모델을 만들어 가장 가치 있는 기존 고객과 유사한 새 고객을 찾아요.
-
ROI 증대: 통계적으로 전환할 가능성이 높은 사용자를 타겟팅하여 마케팅 캠페인의 투자 수익률을 개선해요.
-
시장 도달 범위 확장: 시드 오디언스의 피처 패턴을 기반으로 새로운 시장 세그먼트를 발견해요.
-
개인화된 광고: 광범위한 인구통계 대신 데이터 기반 lookalike audience를 타겟팅하여 더 관련성 높은 광고 경험을 제공해요.
사전 준비 사항
Data Clean Rooms 환경이 설치된 두 개의 계정이 필요해요. 크로스 리전 배포의 경우 Cross-Cloud Auto-Fulfillment를 활성화해요.
샘플 데이터 생성기 노트북을 실행하여 두 계정 모두에 샘플 데이터를 생성해요:
노트북을 Snowsight에 업로드하고(Notebooks » Import .ipynb file), 첫 번째 코드 셀에서 DATABASE_NAME 및 SCHEMA_NAME 변수를 업데이트한 다음 모든 셀을 실행해요. 이 노트북은 두 계정 모두에 LAL_PUBLISHER_FEATURES 및 LAL_ADVERTISER_SEED_AUDIENCE를 생성해요.
옵션 1: Python UDFs
학습과 점수화가 웨어하우스에서 Python UDF로 실행돼요. 이 예제에서는 퍼블리셔가 협업을 소유해요.
퍼블리셔는 데이터 오퍼링(사용자 피처), 두 개의 Python UDF(학습용 하나, 점수화용 하나)를 포함하는 code spec, 그리고 세 개의 템플릿(train, score, activate)을 제공해요. 광고주는 협업에 참여하고, 자신의 시드 오디언스 데이터를 연결한 다음 세 개의 템플릿을 순서대로 실행해요.
이 옵션은 내부 테이블을 사용해 구축된 3단계 워크플로를 사용해요. 각 단계는 결과를 클린룸의 내부 테이블에 저장하고, 다음 단계는 그 테이블을 읽어요. 이를 통해 광고주는 각 단계 후에 결정을 내릴 수 있어요.
-
학습: 시드 오디언스로 XGBoost 모델을 만들어요. 진행하기 전에 모델 품질(AUC, 오류율)을 검토해요.
-
점수화: 학습된 모델을 사용해 전체 퍼블리셔 모집단을 점수화해요. 활성화하기 전에 오디언스 규모를 검토해요.
-
활성화: 점수화된 lookalike audience를 퍼블리셔 계정으로 보내요.
협업 역할
| 협업자 | 역할 | 작업 |
|---|---|---|
| 퍼블리셔 | 소유자, 데이터 제공자 | 데이터 오퍼링(멤버십 상태, 연령대, 지역, 활동 수준을 포함한 사용자 피처), 모델 학습 및 점수화를 위한 Python UDF가 포함된 code spec, 세 개의 템플릿(train, score, activate)을 등록하고 협업을 생성해요. 광고주가 결과를 활성화한 후, 퍼블리셔는 lookalike audience 데이터를 확인하고 처리해요. |
| 광고주 | 분석 실행자, 데이터 제공자(자기 자신에게) | 데이터 오퍼링(구매 금액과 세그먼트가 포함된 시드 오디언스)을 등록해요. 협업에 참여하고, 자신의 데이터를 연결한 다음 3단계 파이프라인을 실행해요. 즉, 모델을 학습시키고, 모집단을 점수화하고, 점수화된 오디언스를 퍼블리셔에게 활성화해요. |
1단계: 퍼블리셔 및 광고주 워크시트 실행
샘플 데이터를 생성한 후, 퍼블리셔 및 광고주 워크시트를 다운로드하고 실행해요. 샘플 데이터를 생성할 때 사용한 것과 동일한 역할로 이 워크시트들을 실행해요. SQL 워크시트를 Snowflake 계정에 업로드하는 방법 알아보기.
옵션 2: ML Jobs
학습과 스코어링은 전용 compute pool에서 컨테이너화된 작업으로 실행됩니다. 이 예시에서는 광고주가 협업을 소유합니다.
이 옵션은 옵션 1과 동일한 파이프라인을 실행하지만, 프로덕션 규모(협업 파티 간 수억 개의 레코드)에서는 warehouse 기반 UDF가 메모리 및 동시성 제한에 도달할 수 있습니다. ML Jobs는 여러 노드가 있는 전용 compute pool에서 학습과 스코어링을 실행하며, 시간별, 일별, 주별 등 어떤 주기로든 모델을 새로고침하도록 예약할 수 있습니다.
참고
분석 실행자의 계정에는 compute pool FOR APPLICATION을 생성하고 설치된 clean room 애플리케이션에 사용 권한을 부여하기 위한 CREATE COMPUTE POOL 권한이 필요합니다.
협업 역할
| 협업자 | 역할 | 작업 |
|---|---|---|
| 광고주 | 소유자, 분석 실행자 | 독점 ML 학습 및 스코어링 코드를 스테이징하고, 코드 사양, 템플릿, 시드 오디언스 데이터 오퍼링을 등록하며, 협업을 생성하고, compute pool을 설정하고, 3단계 파이프라인(학습, 스코어링, 활성화)을 실행합니다. |
| 퍼블리셔 | 데이터 제공자 | 사용자 피처 데이터 오퍼링을 등록하고, 협업을 검토하고 참여하며, 활성화 결과를 처리합니다. |
1단계: 광고주 계정에 ML 스크립트 업로드
ML 학습 및 스코어링 스크립트를 광고주 계정의 스테이지에 업로드하세요:
다음 방법 중 하나를 사용하여 업로드하세요:
- SnowSQL 또는 Snowflake CLI:
PUT file://lal_train.py @<ml_code_db>.PUBLIC.ML_LAL_STAGE/lal_project/ AUTO_COMPRESS=FALSE OVERWRITE=TRUE;
PUT file://lal_score.py @<ml_code_db>.PUBLIC.ML_LAL_STAGE/lal_project/ AUTO_COMPRESS=FALSE OVERWRITE=TRUE;
- Snowsight UI: Catalog » Explorer로 이동하여 스테이지를 찾고 파일을 스테이지 디렉터리로 끌어다 놓으세요.
업로드한 후 스테이지 디렉터리를 새로고침하세요:
ALTER STAGE <ml_code_db>.PUBLIC.ML_LAL_STAGE REFRESH;
2단계: 예제 실행
광고주 및 퍼블리셔 계정에서 다음 SQL 워크시트를 다운로드하여 실행하세요:
-
광고주 워크시트: ML 코드를 스테이징하고, ML Jobs 코드 사양, 템플릿, 데이터 오퍼링을 등록하며, 협업을 생성하고, compute pool을 설정하고, ML Jobs 파이프라인을 실행하고, 결과를 활성화합니다.
-
퍼블리셔 워크시트: 피처 데이터 오퍼링을 등록하고, 협업을 검토하고 참여하며, 활성화 결과를 처리합니다.
더 알아보기 (Learn more)
- these regions
- Cross-Cloud Auto-Fulfillment
- Sample data generator notebook
- code spec
- internal tables
- See instructions to upload a SQL worksheet into your Snowflake account
- Download the publisher worksheet
- Download the advertiser worksheet
- Training script (lal_train.py)
- Scoring script (lal_score.py)
- Advertiser worksheet
- Publisher worksheet