Amazon Personalize 권장 사항의 비즈니스 영향 측정

Amazon Personalize 권장 사항의 비즈니스 영향 측정

소스 노드 : 1958091

우리는 그것을 발표하게 된 것을 기쁘게 생각합니다 아마존 개인화 이제 당신을 할 수 있습니다 개인화된 권장 사항이 비즈니스 목표 달성에 어떻게 도움이 되는지 측정. 추적하려는 측정항목을 지정한 후 가장 영향력이 큰 캠페인과 추천자를 식별하고 추천이 비즈니스 측정항목에 미치는 영향을 이해할 수 있습니다.

모든 고객은 자신의 비즈니스에 가장 중요한 지표를 추적하기를 원합니다. 예를 들어 온라인 쇼핑 애플리케이션은 추천에 대한 클릭률(CTR)과 총 구매 수라는 두 가지 지표를 추적할 수 있습니다. 권장 사항을 제공하는 다양한 추천자가 포함된 캐러셀이 있는 주문형 비디오 플랫폼은 CTR 또는 시청 시간을 비교하고자 할 수 있습니다. 예를 들어 사용자가 항목을 구매하는 경우와 같이 지정된 이벤트 유형의 총 수익 또는 마진을 모니터링할 수도 있습니다. 이 새로운 기능을 사용하면 Amazon Personalize 캠페인 및 추천자뿐만 아니라 타사 솔루션에서 생성된 상호 작용의 영향을 측정할 수 있습니다.

이 게시물에서는 메트릭을 추적하고 전자 상거래 사용 사례에서 Personalize 권장 사항의 영향을 평가하는 방법을 보여줍니다.

솔루션 개요

이전에는 개인화된 권장 사항의 효과를 이해하려면 워크플로를 수동으로 조정하여 비즈니스 메트릭 데이터를 캡처한 다음 비교를 위해 의미 있는 표현으로 제시해야 했습니다. 이제 Amazon Personalize는 추적하려는 지표를 정의하고 모니터링할 수 있도록 하여 이러한 운영 오버헤드를 제거했습니다. Amazon Personalize는 성능 데이터를 아마존 클라우드 워치 시각화 및 모니터링을 위해 또는 대안으로 Amazon Simple Storage Service(Amazon S3) 메트릭에 액세스하고 다른 비즈니스 인텔리전스 도구에 통합할 수 있는 버킷입니다. 이를 통해 이벤트 및 권장 사항이 비즈니스 목표에 미치는 영향을 효과적으로 측정하고 모니터링하려는 이벤트의 결과를 관찰할 수 있습니다.

권장 사항의 영향을 측정하려면 Amazon Personalize 콘솔 또는 API를 사용하여 보고하려는 이벤트 유형 목록인 "지표 속성"을 정의합니다. 각 이벤트 유형에 대해 계산하려는 지표와 함수(합계 또는 샘플 수)를 정의하기만 하면 Amazon Personalize가 계산을 수행하고 생성된 보고서를 CloudWatch 또는 Amazon S3로 보냅니다.

다음 다이어그램은 단일 추천자 또는 캠페인에서 지표를 추적하는 방법을 보여줍니다.

그림 1. 기능 개요: 상호 작용 데이터 세트는 추천자 또는 캠페인을 교육하는 데 사용됩니다. 그런 다음 사용자가 추천 항목과 상호 작용할 때 이러한 상호 작용은 Amazon Personalize로 전송되고 해당 추천자 또는 캠페인에 귀속됩니다. 그런 다음 이러한 지표를 Amazon S3 및 CloudWatch로 내보내서 모니터링하고 각 추천자 또는 캠페인의 지표를 비교할 수 있습니다.

메트릭 속성을 통해 다음을 제공할 수도 있습니다. eventAttributionSource, 각 상호 작용에 대해 사용자가 항목과 상호 작용할 때 경험한 시나리오를 지정합니다. 다음 다이어그램은 Amazon Personalize 지표 속성을 사용하여 서로 다른 두 추천자의 지표를 추적하는 방법을 보여줍니다.

그림 2. 두 가지 시나리오에서 권장 사항의 비즈니스 영향 측정: 상호 작용 데이터 세트는 두 개의 추천자 또는 캠페인을 훈련하는 데 사용되며, 이 경우 "파란색" 및 "주황색"으로 지정됩니다. 그런 다음 사용자가 추천 항목과 상호 작용할 때 이러한 상호 작용은 Amazon Personalize로 전송되고 사용자가 항목과 상호 작용할 때 노출된 해당 추천자, 캠페인 또는 시나리오에 기여합니다. 그런 다음 이러한 지표를 Amazon S3 및 CloudWatch로 내보내서 모니터링하고 각 추천자 또는 캠페인의 지표를 비교할 수 있습니다.

이 예에서는 Amazon Personalize에서 상호 작용 데이터에 대한 지표 속성을 정의하는 프로세스를 안내합니다. 먼저 데이터를 가져오고 권장 사항이 비즈니스에 미치는 영향을 측정하기 위해 두 가지 기여 지표를 생성합니다. 그런 다음 두 개의 소매 추천자를 생성하고(맞춤형 추천 솔루션을 사용하는 경우 동일한 프로세스) 지표를 사용하여 추적할 이벤트를 보냅니다. 시작하려면 상호 작용 데이터 세트만 있으면 됩니다. 그러나 이 예에서 추적하는 메트릭 중 하나는 마진이므로 항목 데이터 세트를 가져오는 방법도 보여줍니다. 이 사용 사례에 대한 코드 샘플은 다음에서 사용할 수 있습니다. GitHub의.

사전 조건

AWS 콘솔 또는 지원되는 것을 사용할 수 있습니다. API 예를 들어 Amazon Personalize를 사용하여 권장 사항을 생성하려면 AWS 명령 줄 인터페이스 or Python 용 AWS SDK.

권장 사항의 영향을 계산하고 보고하려면 먼저 일부 AWS 리소스를 설정해야 합니다.

생성해야 합니다. AWS 자격 증명 및 액세스 관리 (IAM) Amazon Personalize가 관련 역할 수임 정책 문서와 함께 수임할 역할. 또한 Amazon Personalize가 S3 버킷의 데이터에 액세스하고 CloudWatch로 데이터를 보낼 수 있도록 정책을 연결해야 합니다. 자세한 내용은 다음을 참조하십시오. Amazon Personalize에 Amazon S3 버킷에 대한 액세스 권한 부여 및 Amazon Personalize에 CloudWatch 액세스 권한 부여.

그런 다음 일부 Amazon Personalize 리소스를 생성해야 합니다. 데이터 세트 그룹을 생성하고 데이터를 로드하고 추천자를 교육합니다. 전체 지침은 다음을 참조하세요. 시작하기.

  1. 데이터세트 그룹 만들기. 다음에서 메트릭 속성을 사용할 수 있습니다. 도메인 데이터 세트 그룹사용자 정의 데이터 세트 그룹.
  2. 를 생성 Interactions 다음을 사용하는 데이터 세트 개요:
    { "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long" }, { "name": "EVENT_TYPE", "type": "string" }
    ], "version": "1.0" }

  3. 를 생성 Items 다음을 사용하는 데이터 세트 개요:
    { "type": "record", "name": "Items", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "ITEM_ID", "type": "string" }, { "name": "PRICE", "type": "float" }, { "name": "CATEGORY_L1", "type": ["string"], "categorical": True }, { "name": "CATEGORY_L2", "type": ["string"], "categorical": True }, { "name": "MARGIN", "type": "double" } ], "version": "1.0"
    }

데이터를 Amazon Personalize로 가져오기 전에 지표 특성을 정의합니다.

메트릭 속성 만들기

메트릭 생성을 시작하려면 메트릭을 수집하려는 이벤트 목록을 지정합니다. 선택한 각 이벤트 유형에 대해 Amazon Personalize가 데이터를 수집할 때 적용할 기능을 정의합니다. 사용 가능한 두 가지 기능은 다음과 같습니다.  SUM(DatasetType.COLUMN_NAME)SAMPLECOUNT()어디로 DatasetType 될 수 있습니다 INTERACTIONS or ITEMS 데이터 세트. Amazon Personalize는 시각화 및 모니터링을 위해 지표 데이터를 CloudWatch로 보내거나 S3 버킷으로 내보낼 수 있습니다.

측정치 속성을 생성하고 이벤트를 기록하거나 증분 대량 데이터를 가져온 후에는 측정치당 월별 CloudWatch 비용이 발생합니다. CloudWatch 요금에 대한 자세한 내용은 다음을 참조하십시오. CloudWatch 요금 페이지. CloudWatch로 지표 전송을 중지하려면 메트릭 속성 삭제.

이 예에서는 두 가지 메트릭 속성을 생성합니다.

  1. 를 사용하여 총 "보기" 이벤트 수를 계산합니다. SAMPLECOUNT(). 이 기능은 INTERACTIONS 데이터 세트.
  2. 구매 이벤트 발생 시 총 증거금 계산 SUM(DatasetType.COLUMN_NAME) 이 경우 DatasetType is ITEMS 그리고 열은 MARGIN 아이템을 구매했을 때의 마진을 추적하고 있기 때문입니다. 그만큼 Purchase 이벤트는 에 기록됩니다. INTERACTIONS 데이터 세트. 구매 이벤트에 의해 마진이 발생하려면 구매한 각 항목의 개별 단위마다 구매 이벤트를 보내야 합니다. 예를 들어 같은 유형의 셔츠 두 벌과 같이 반복되는 경우에도 마찬가지입니다. 사용자가 체크아웃할 때 각 항목을 여러 개 구매할 수 있고 모든 항목에 대해 하나의 구매 이벤트만 보내는 경우 다른 메트릭이 더 적절할 것입니다.

샘플 수를 계산하는 기능은 INTERACTIONS 데이터 세트. 그러나 총 증거금에는 다음이 필요합니다. ITEMS 데이터 세트 및 계산을 구성합니다. 그들 각각에 대해 우리는 eventType 우리가 추적할 기능, 사용된 기능, metricName 내보낸 후 메트릭을 식별합니다. 이 예에서는 "countViews" 및 "sumMargin"이라는 이름을 지정했습니다.

코드 샘플은 Python에 있습니다.

import boto3 personalize = boto3.client('personalize') metrics_list = [{ "eventType": "View", "expression": "SAMPLECOUNT()", "metricName": "countViews" }, { "eventType": "Purchase", "expression": "SUM(ITEMS.MARGIN)", "metricName": "sumMargin"
}]

또한 데이터를 내보낼 위치도 정의합니다. 이 경우 S3 버킷으로.

output_config = { "roleArn": role_arn, "s3DataDestination": { "path": path_to_bucket }
}

그런 다음 메트릭 속성을 생성합니다.

response = personalize.create_metric_attribution(
name = metric_attribution_name,
datasetGroupArn = dataset_group_arn,
metricsOutputConfig = output_config,
metrics = metrics_list
)

metric_attribution_arn = response['metricAttributionArn']

당신은 주어야합니다 name 측정항목 속성에 대한 속성뿐만 아니라 datasetGroupArnmetricsOutputConfig 및 metrics 우리가 이전에 만든 객체.

이제 메트릭 속성이 생성되었으므로 S3 버킷의 항목 및 상호 작용 데이터 세트를 이전에 구성한 데이터 세트 그룹으로 로드하는 데이터 세트 가져오기 작업을 진행할 수 있습니다.

기존 메트릭 특성을 수정하거나 삭제하는 방법에 대한 자세한 내용은 다음을 참조하세요. 메트릭 속성 관리.

데이터 가져오기 및 추천자 만들기

첫째, 상호 작용 데이터 가져오기 Amazon S3에서 Amazon Personalize로. 이 예에서는 다음을 사용합니다. 데이터 파일. 의 코드를 기반으로 합성 데이터를 생성했습니다. 소매 데모 스토어 프로젝트. 합성 데이터 및 잠재적 용도에 대한 자세한 내용은 GitHub 리포지토리를 참조하십시오.

그런 다음, 추천인 만들기. 이 예에서는 두 개의 추천자를 생성합니다.

  1. "당신을 위한 추천" 추천인. 이 유형의 추천자는 지정한 사용자를 기반으로 항목에 대한 개인화된 추천을 생성합니다.
  2. X를 본 고객이 본 다른 항목. 이 유형의 추천자는 지정한 항목을 기반으로 고객도 본 항목에 대한 추천을 생성합니다.

이벤트를 Amazon Personalize로 전송하고 추천자에게 할당합니다.

상호 작용을 Amazon Personalize로 보내려면 이벤트 트래커.

각 이벤트에 대해 Amazon Personalize는 다음을 기록할 수 있습니다. eventAttributionSource. 에서 유추할 수 있다. recommendationId 또는 명시적으로 지정하고 보고서에서 식별할 수 있습니다. EVENT_ATTRIBUTION_SOURCE 열. 안 eventAttributionSource 추천자, 시나리오 또는 상호 작용이 발생한 페이지의 타사 관리 부분일 수 있습니다.

  • 제공하는 경우 recommendationId그러면 Amazon Personalize가 소스 캠페인 또는 추천자를 자동으로 유추합니다.
  • 두 속성을 모두 제공하면 Amazon Personalize는 소스만 사용합니다.
  • 출처나 출처를 밝히지 않으면 recommendationId, 그런 다음 Amazon Personalize는 소스에 레이블을 지정합니다. SOURCE_NAME_UNDEFINED 보고서에서.

다음 코드는 eventAttributionSource 에서 이벤트를 위해 PutEvents 작동.

response = personalize_events.put_events(
trackingId = 'eventTrackerId',
userId= 'userId',
sessionId = 'sessionId123',
eventList = [{ 'eventId': event_id, 'eventType': event_type, 'itemId': item_id, 'metricAttribution': {"eventAttributionSource": attribution_source}, 'sentAt': timestamp_in_unix_format
}
}]
)
print (response)

메트릭 보기

Amazon Personalize는 지표를 Amazon CloudWatch 또는 Amazon S3로 보냅니다.

모든 대량 데이터의 경우 지표 속성을 생성할 때 Amazon S3 버킷을 제공하면 Amazon S3 버킷에 지표 보고서를 게시하도록 선택할 수 있습니다. 상호 작용 데이터에 대한 데이터 세트 가져오기 작업을 생성할 때마다 이 작업을 수행해야 합니다.

import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset_import_job( jobName = 'YourImportJob', datasetArn = 'dataset_arn', dataSource = {'dataLocation':'s3://bucket/file.csv'}, roleArn = 'role_arn', importMode = 'INCREMENTAL', publishAttributionMetricsToS3 = True
) print (response)

데이터를 가져올 때 올바른 가져오기 모드를 선택하십시오. INCREMENTAL or FULL Amazon Personalize에 다음을 설정하여 지표를 게시하도록 지시합니다. publishAttributionMetricsToS3 에 True. 지표 보고서를 Amazon S3에 게시하는 방법에 대한 자세한 내용은 다음을 참조하십시오. Amazon S3에 지표 게시.

럭셔리 PutEvents 데이터 Event Tracker를 통해 전송되며 증분 대량 데이터 가져오기, Amazon Personalize는 자동으로 지표를 CloudWatch로 보냅니다. Amazon CloudWatch에서 지난 2주간의 데이터를 볼 수 있습니다. 이전 데이터는 무시됩니다.

여러분의 시간과 재능으로 CloudWatch 콘솔에서 직접 지표를 그래프로 표시 메트릭 특성을 검색 용어로 만들 때 메트릭에 지정한 이름을 지정합니다. CloudWatch에서 이러한 지표를 보는 방법에 대한 자세한 내용은 다음을 참조하십시오. CloudWatch에서 지표 보기.

그림 3: CloudWatch 콘솔에서 조회한 두 추천자의 두 CTR을 비교한 예시입니다.

Amazon S3로 지표 가져오기 및 게시

데이터 세트 가져오기 작업을 통해 데이터를 Amazon Personalize에 업로드하고 지표 특성에 Amazon S3 버킷 경로를 제공한 경우 작업이 완료되면 Amazon S3에서 지표를 볼 수 있습니다.

지표를 게시할 때마다 Amazon Personalize는 Amazon S3 버킷에 새 파일을 생성합니다. 파일 이름은 가져오기 방법과 날짜를 지정합니다. 필드 EVENT_ATTRIBUTION_SOURCE 이벤트 소스, 즉 상호 작용이 발생한 시나리오를 지정합니다. Amazon Personalize를 사용하면 다음을 지정할 수 있습니다. EVENT_ATTRIBUTION_SOURCE 이 필드를 명시적으로 사용하면 타사 추천자가 될 수 있습니다. 자세한 내용은 다음을 참조하십시오. Amazon S3에 지표 게시.

요약

메트릭 속성을 추가하면 권장 사항이 비즈니스 메트릭에 미치는 영향을 추적할 수 있습니다. 데이터 세트 그룹에 메트릭 속성을 추가하고 추적하려는 이벤트와 이벤트를 계산하거나 데이터 세트 필드를 집계하는 기능을 선택하여 이러한 메트릭을 생성합니다. 그런 다음 CloudWatch 또는 Amazon S3의 내보낸 파일에서 관심 있는 지표를 볼 수 있습니다.

Amazon Personalize에 대한 자세한 내용은 다음을 참조하십시오. 아마존은 무엇인가?


저자 소개

안나 그뤼블러 인공 지능에 중점을 둔 AWS의 전문 솔루션 설계자입니다. 그녀는 10년 이상 고객이 기계 학습 애플리케이션을 개발하고 배포하도록 지원한 경험이 있습니다. 그녀의 열정은 새로운 기술을 가져와 모든 사람의 손에 쥐고 클라우드에서 AI를 사용하는 이점을 활용하여 어려운 문제를 해결하는 것입니다.


가브리엘 돔프레 인공 지능 및 기계 학습 분야의 AWS 전문 솔루션 아키텍트입니다. 그녀는 기계 학습의 새로운 혁신에 대해 배우고 고객이 잘 설계된 솔루션으로 전체 기능을 활용하도록 돕는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습