Mål forretningseffekten af ​​Amazons personlige anbefalinger

Mål forretningseffekten af ​​Amazons personlige anbefalinger

Vi er glade for at meddele det Amazon Tilpas nu lader dig måle, hvordan dine personlige anbefalinger kan hjælpe dig med at nå dine forretningsmål. Efter at have specificeret de metrics, du vil spore, kan du identificere, hvilke kampagner og anbefalede der har størst effekt, og forstå effekten af ​​anbefalinger på dine virksomhedsmetrics.

Alle kunder ønsker at spore den metric, der er vigtigst for deres virksomhed. For eksempel vil en online shoppingapplikation måske spore to målinger: klikfrekvensen (CTR) for anbefalinger og det samlede antal køb. En video-on-demand-platform, der har karruseller med forskellige anbefalere, der giver anbefalinger, kan ønske at sammenligne CTR eller visningsvarighed. Du kan også overvåge den samlede omsætning eller margin for en bestemt begivenhedstype, for eksempel når en bruger køber en vare. Denne nye funktion giver dig mulighed for at måle effekten af ​​Amazon Personalize-kampagner og -anbefalere samt interaktioner genereret af tredjepartsløsninger.

I dette indlæg demonstrerer vi, hvordan du sporer dine metrics og evaluerer virkningen af ​​dine Personalize-anbefalinger i en e-handelsbrug.

Løsningsoversigt

Tidligere, for at forstå effekten af ​​personlige anbefalinger, var du nødt til manuelt at orkestrere arbejdsgange for at indfange forretningsdata og derefter præsentere dem i meningsfulde repræsentationer for at lave sammenligninger. Nu har Amazon Personalize elimineret denne operationelle overhead ved at give dig mulighed for at definere og overvåge de målinger, du ønsker at spore. Amazon Personalize kan sende ydeevnedata til amazoncloudwatch til visualisering og overvågning, eller alternativt ind i en Amazon Simple Storage Service (Amazon S3) bucket, hvor du kan få adgang til metrics og integrere dem i andre business intelligence-værktøjer. Dette giver dig mulighed for effektivt at måle, hvordan begivenheder og anbefalinger påvirker forretningsmålene, og observere resultatet af enhver begivenhed, du ønsker at overvåge.

For at måle effekten af ​​anbefalinger definerer du en "metrisk tilskrivning", som er en liste over hændelsestyper, som du vil rapportere om ved hjælp af enten Amazon Personalize-konsollen eller API'er. For hver hændelsestype definerer du blot den metrik og funktion, du vil beregne (sum eller stikprøveantal), og Amazon Personalize udfører beregningen og sender de genererede rapporter til CloudWatch eller Amazon S3.

Følgende diagram viser, hvordan du kan spore metrics fra en enkelt anbefaling eller kampagne:

Mål forretningseffekten af ​​Amazon Personalize-anbefalinger PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Figur 1. Funktionsoversigt: Interaktionsdatasættet bruges til at træne en anbefaling eller kampagne. Når brugere derefter interagerer med anbefalede varer, sendes disse interaktioner til Amazon Personalize og tilskrives den tilsvarende anbefaling eller kampagne. Derefter eksporteres disse metrics til Amazon S3 og CloudWatch, så du kan overvåge dem og sammenligne metrics for hver anbefaling eller kampagne.

Metriske tilskrivninger giver dig også mulighed for at angive en eventAttributionSource, for hver interaktion, som specificerer det scenarie, som brugeren oplevede, da de interagerede med et element. Følgende diagram viser, hvordan du kan spore metrics fra to forskellige anbefalere ved hjælp af Amazon Personalize metric-tilskrivning.

Mål forretningseffekten af ​​Amazon Personalize-anbefalinger PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Figur 2. Måling af forretningseffekten af ​​anbefalinger i to scenarier: Interaktionsdatasættet bruges til at træne to anbefalere eller kampagner, i dette tilfælde betegnet "Blå" og "Orange". Derefter, når brugere interagerer med de anbefalede varer, sendes disse interaktioner til Amazon Personalize og tilskrives den tilsvarende anbefaling, kampagne eller scenarie, som brugeren blev udsat for, da de interagerede med varen. Dernæst eksporteres disse metrics til Amazon S3 og CloudWatch, så du kan overvåge dem og sammenligne metrics for hver anbefaling eller kampagne.

I dette eksempel gennemgår vi processen med at definere metric-tilskrivninger for dine interaktionsdata i Amazon Personalize. Først importerer du dine data og opretter to tilskrivningsmetrics for at måle anbefalingernes forretningspåvirkning. Derefter opretter du to detailanbefalere – det er den samme proces, hvis du bruger tilpasset anbefalingsløsning – og sender hændelser til sporing ved hjælp af metrics. For at komme i gang behøver du kun interaktionsdatasættet. Men da en af ​​de metrics, vi sporer i dette eksempel, er margin, viser vi dig også, hvordan du importerer varedatasættet. Et kodeeksempel for denne use case er tilgængelig på GitHub.

Forudsætninger

Du kan bruge AWS-konsollen eller understøttet API'er at oprette anbefalinger ved hjælp af Amazon Personalize, for eksempel ved hjælp af AWS kommandolinjegrænseflade or AWS SDK til Python.

For at beregne og rapportere effekten af ​​anbefalinger skal du først konfigurere nogle AWS-ressourcer.

Du skal oprette en AWS Identity and Access Management (IAM) rolle, som Amazon Personalize vil påtage sig med et relevant dokument om påtager sig rollen. Du skal også vedhæfte politikker for at lade Amazon Personalize få adgang til data fra en S3-bøtte og sende data til CloudWatch. For mere information, se Giver Amazon Personalize adgang til din Amazon S3-bøtteGiver Amazon Personalize adgang til CloudWatch.

Derefter skal du oprette nogle Amazon Personalize-ressourcer. Opret din datasætgruppe, indlæs dine data, og oplær anbefalinger. For fuldstændige instruktioner, se Kom godt i gang.

  1. Opret en datasætgruppe. Du kan bruge metriske tilskrivninger i domænedatasætgrupper , brugerdefinerede datasætgrupper.
  2. Opret en Interactions datasæt ved hjælp af følgende skema:
    { "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. Opret en Items datasæt ved hjælp af følgende skema:
    { "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"
    }

Før vi importerer vores data til Amazon Personalize, vil vi definere metric-tilskrivningen.

Oprettelse af metriske tilskrivninger

For at begynde at generere metrics skal du angive listen over begivenheder, som du gerne vil indsamle metrics for. For hver af de valgte begivenhedstyper definerer du den funktion, som Amazon Personalize vil anvende, når den indsamler data – de to tilgængelige funktioner er  SUM(DatasetType.COLUMN_NAME) , SAMPLECOUNT()Hvor DatasetType kan være INTERACTIONS or ITEMS datasæt. Amazon Personalize kan sende metriske data til CloudWatch til visualisering og overvågning eller alternativt eksportere dem til en S3-bøtte.

Når du har oprettet en metric-tilskrivning og registreret hændelser eller importeret trinvise massedata, vil du pådrage dig nogle månedlige CloudWatch-omkostninger pr. metric. For information om CloudWatch-priser, se CloudWatch-priser side. For at stoppe med at sende metrics til CloudWatch, slette metric-tilskrivningen.

I dette eksempel opretter vi to metric-tilskrivninger:

  1. Tæl det samlede antal "Vis" begivenheder ved hjælp af SAMPLECOUNT(). Denne funktion kræver kun INTERACTIONS datasæt.
  2. Beregn den samlede margin, når købsbegivenheder finder sted ved hjælp af SUM(DatasetType.COLUMN_NAME) I dette tilfælde er DatasetType is ITEMS og kolonnen er MARGIN fordi vi sporer margenen for varen, da den blev købt. Det Purchase begivenhed registreres i INTERACTIONS datasæt. Bemærk, at for at margenen skal udløses af købsbegivenheden, sender du en købsbegivenhed for hver enkelt enhed af hver købt vare, selvom de er gentagelser – for eksempel to skjorter af samme type. Hvis dine brugere kan købe multipla af hver vare, når de betaler, og du kun sender én købsbegivenhed for dem alle, så vil en anden metric være mere passende.

Funktionen til at beregne stikprøveantal er kun tilgængelig for INTERACTIONS datasæt. Samlet margin kræver dog, at du har ITEMS datasæt og for at konfigurere beregningen. For hver af dem angiver vi eventType at vi sporer den anvendte funktion og giver den en metricName som vil identificere metrics, når vi eksporterer dem. Til dette eksempel har vi givet dem navnene "countViews" og "sumMargin".

Kodeeksemplet er i Python.

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

Vi definerer også, hvor dataene skal eksporteres. I dette tilfælde til en S3-spand.

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

Derefter genererer vi den metriske tilskrivning.

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

metric_attribution_arn = response['metricAttributionArn']

Du skal give en name til metriktilskrivningen, samt angiv den datasætgruppe, hvorfra metrikken vil blive tilskrevet ved hjælp af datasetGroupArn, og metricsOutputConfig , metrics objekter, vi har lavet tidligere.

Nu med den metriske tilskrivning oprettet, kan du fortsætte med datasætimportopgaven, som vil indlæse vores elementer og interaktionsdatasæt fra vores S3-spand til de datasætgrupper, som vi tidligere har konfigureret.

For oplysninger om, hvordan du ændrer eller sletter en eksisterende metrisk tilskrivning, se Håndtering af en metric-tilskrivning.

Import af data og oprettelse af anbefalinger

First, importere interaktionsdataene til Amazon Personalize fra Amazon S3. Til dette eksempel bruger vi følgende datafil. Vi genererede de syntetiske data baseret på koden i Detail Demo Store projekt. Se GitHub-lageret for at lære mere om de syntetiske data og potentielle anvendelser.

Derefter oprette en anbefaling. I dette eksempel opretter vi to anbefalere:

  1. "Anbefalet til dig" anbefaling. Denne type anbefaler opretter personlige anbefalinger for varer baseret på en bruger, som du angiver.
  2. Kunder, der så X, så også. Denne type anbefaler opretter anbefalinger for varer, som kunder også har set, baseret på en vare, du angiver.

Send begivenheder til Amazon Personalize og tilskriv dem til anbefalingerne

For at sende interaktioner til Amazon Personalize skal du oprette en Event Tracker.

For hver begivenhed kan Amazon Personalize optage eventAttributionSource. Det kan udledes af recommendationId eller du kan angive det eksplicit og identificere det i rapporter i EVENT_ATTRIBUTION_SOURCE kolonne. An eventAttributionSource kan være en anbefaling, et scenarie eller en tredjepartsadministreret del af siden, hvor interaktioner fandt sted.

  • Hvis du giver en recommendationId, så udleder Amazon Personalize automatisk kildekampagnen eller anbefaleren.
  • Hvis du angiver begge attributter, bruger Amazon Personalize kun kilden.
  • Hvis du ikke angiver en kilde eller en recommendationId, så markerer Amazon Personalize kilden SOURCE_NAME_UNDEFINED i rapporter.

Følgende kode viser, hvordan du giver en eventAttributionSource til et arrangement i en PutEvents drift.

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)

Visning af dine metrics

Amazon Personalize sender metrics til Amazon CloudWatch eller Amazon S3:

For alle massedata kan du, hvis du angiver en Amazon S3-indsamling, når du opretter din metric-tilskrivning, vælge at udgive metric-rapporter til din Amazon S3-bucket. Du skal gøre dette, hver gang du opretter et datasætimportjob til interaktionsdata.

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)

Når du importerer dine data, skal du vælge den korrekte importtilstand INCREMENTAL or FULL og instruer Amazon Personalize til at offentliggøre metrics ved at indstille publishAttributionMetricsToS3 til True. For mere information om udgivelse af metriske rapporter til Amazon S3, se Udgivelse af metrics til Amazon S3.

Til PutEvents-data sendes via Event Tracker og for trinvis import af massedata, Amazon Personalize sender automatisk metrics til CloudWatch. Du kan se data fra de foregående 2 uger i Amazon CloudWatch – ældre data ignoreres.

Du kan tegne en metrik direkte i CloudWatch-konsollen ved at angive det navn, du gav metric'en, da du oprettede metric-tilskrivningen som søgeterm. For mere information om, hvordan du kan se disse metrics i CloudWatch, se Visning af metrics i CloudWatch.

Mål forretningseffekten af ​​Amazon Personalize-anbefalinger PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Figur 3: Et eksempel på sammenligning af to CTR'er fra to anbefalede set i CloudWatch-konsollen.

Import og publicering af metrics til Amazon S3

Når du uploader dine data til Amazon Personalize via et datasætimportjob, og du har angivet en sti til din Amazon S3-bøtte i din metric-tilskrivning, kan du se dine metrics i Amazon S3, når jobbet er fuldført.

Hver gang du udgiver metrics, opretter Amazon Personalize en ny fil i din Amazon S3-bøtte. Filnavnet angiver importmetoden og datoen. Marken EVENT_ATTRIBUTION_SOURCE angiver hændelseskilden, dvs. under hvilket scenarie interaktionen fandt sted. Amazon Personalize lader dig specificere EVENT_ATTRIBUTION_SOURCE eksplicit ved at bruge dette felt, kan dette være en tredjepartsanbefaler. For mere information, se Udgivelse af metrics til Amazon S3.

Resumé

Tilføjelse af metric-tilskrivning giver dig mulighed for at spore den effekt, som anbefalinger har på virksomheds-metrics. Du opretter disse metrics ved at tilføje en metric-tilskrivning til din datasætgruppe og vælge de hændelser, du vil spore, samt funktionen til at tælle hændelserne eller aggregere et datasætfelt. Bagefter kan du se de metrics, som du er interesseret i i CloudWatch eller i den eksporterede fil i Amazon S3.

For mere information om Amazon Personalize, se Hvad er Amazon Personalize?


Om forfatterne

Mål forretningseffekten af ​​Amazon Personalize-anbefalinger PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Anna Grüebler er en Specialist Solutions Architect hos AWS med fokus på kunstig intelligens. Hun har mere end 10 års erfaring med at hjælpe kunder med at udvikle og implementere maskinlæringsapplikationer. Hendes passion er at tage nye teknologier og lægge dem i hænderne på alle og løse vanskelige problemer ved at udnytte fordelene ved at bruge AI i skyen.


Mål forretningseffekten af ​​Amazon Personalize-anbefalinger PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
Gabrielle Dompreh er Specialist Solutions Architect hos AWS i kunstig intelligens og maskinlæring. Hun nyder at lære om de nye innovationer inden for maskinlæring og at hjælpe kunder med at udnytte deres fulde kapacitet med veldesignede løsninger.

Tidsstempel:

Mere fra AWS maskinindlæring