Misura l'impatto aziendale delle raccomandazioni personalizzate di Amazon

Misura l'impatto aziendale delle raccomandazioni personalizzate di Amazon

Siamo entusiasti di annunciarlo Amazon Personalizza ora ti permette misurare in che modo i consigli personalizzati possono aiutarti a raggiungere i tuoi obiettivi di business. Dopo aver specificato le metriche che desideri monitorare, puoi identificare quali campagne e consiglieri hanno il maggior impatto e comprendere l'impatto delle raccomandazioni sulle metriche della tua attività.

Tutti i clienti vogliono monitorare la metrica più importante per la loro attività. Ad esempio, un'applicazione per lo shopping online potrebbe voler tenere traccia di due metriche: la percentuale di clic (CTR) per i consigli e il numero totale di acquisti. Una piattaforma di video on demand che dispone di caroselli con diversi consiglieri che forniscono consigli potrebbe voler confrontare il CTR o la durata della visualizzazione. Puoi anche monitorare le entrate totali o il margine di un tipo di evento specificato, ad esempio quando un utente acquista un articolo. Questa nuova funzionalità ti consente di misurare l'impatto delle campagne e dei consiglieri di Amazon Personalize, nonché le interazioni generate da soluzioni di terze parti.

In questo post, dimostriamo come tenere traccia delle tue metriche e valutare l'impatto dei consigli di Personalizza in un caso d'uso di e-commerce.

Panoramica della soluzione

In precedenza, per comprendere l'effetto dei consigli personalizzati, era necessario orchestrare manualmente i flussi di lavoro per acquisire i dati delle metriche aziendali e quindi presentarli in rappresentazioni significative per effettuare confronti. Ora, Amazon Personalize ha eliminato questo sovraccarico operativo consentendoti di definire e monitorare le metriche che desideri monitorare. Amazon Personalize può inviare dati sulle prestazioni a Amazon Cloud Watch per la visualizzazione e il monitoraggio, o in alternativa in un Servizio di archiviazione semplice Amazon (Amazon S3) bucket in cui è possibile accedere alle metriche e integrarle in altri strumenti di business intelligence. Ciò consente di misurare in modo efficace l'impatto degli eventi e delle raccomandazioni sugli obiettivi aziendali e di osservare l'esito di qualsiasi evento che si desidera monitorare.

Per misurare l'impatto delle raccomandazioni, definisci una "attribuzione metrica", che è un elenco di tipi di eventi su cui desideri creare report utilizzando la console o le API di Amazon Personalize. Per ogni tipo di evento, definisci semplicemente il parametro e la funzione che desideri calcolare (somma o conteggio campione) e Amazon Personalize esegue il calcolo, inviando i report generati a CloudWatch o Amazon S3.

Il diagramma seguente mostra come monitorare le metriche di un singolo consigliere o campagna:

Measure the Business Impact of Amazon Personalize Recommendations PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Figura 1. Panoramica delle funzionalità: Il set di dati sulle interazioni viene utilizzato per addestrare un suggeritore o una campagna. Quindi, quando gli utenti interagiscono con gli articoli consigliati, queste interazioni vengono inviate ad Amazon Personalize e attribuite al suggeritore o alla campagna corrispondente. Successivamente, questi parametri vengono esportati in Amazon S3 e CloudWatch in modo che tu possa monitorarli e confrontare i parametri di ogni raccomandazione o campagna.

Le attribuzioni metriche ti consentono anche di fornire un eventAttributionSource, per ogni interazione, che specifica lo scenario che l'utente stava vivendo quando ha interagito con un elemento. Il diagramma seguente mostra come monitorare i parametri di due diversi consiglieri utilizzando l'attribuzione dei parametri di Amazon Personalize.

Measure the Business Impact of Amazon Personalize Recommendations PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Figura 2. Misurazione dell'impatto aziendale delle raccomandazioni in due scenari: il set di dati sulle interazioni viene utilizzato per formare due raccomandazioni o campagne, in questo caso denominate "Blu" e "Arancione". Quindi, quando gli utenti interagiscono con gli articoli consigliati, queste interazioni vengono inviate ad Amazon Personalize e attribuite al suggeritore, alla campagna o allo scenario corrispondente a cui l'utente è stato esposto quando ha interagito con l'articolo. Successivamente, questi parametri vengono esportati in Amazon S3 e CloudWatch in modo che tu possa monitorarli e confrontare i parametri di ogni raccomandazione o campagna.

In questo esempio, esaminiamo il processo di definizione delle attribuzioni delle metriche per i dati di interazione in Amazon Personalize. Innanzitutto, importi i tuoi dati e crei due metriche di attribuzione per misurare l'impatto aziendale delle raccomandazioni. Quindi, crei due consiglieri di vendita al dettaglio (è lo stesso processo se utilizzi una soluzione di raccomandazione personalizzata) e invii gli eventi da monitorare utilizzando le metriche. Per iniziare, ti serve solo il set di dati delle interazioni. Tuttavia, poiché una delle metriche monitorate in questo esempio è il margine, ti mostriamo anche come importare il set di dati degli articoli. Un esempio di codice per questo caso d'uso è disponibile su GitHub.

Prerequisiti

Puoi utilizzare la console AWS o supportata API per creare raccomandazioni utilizzando Amazon Personalize, ad esempio utilizzando il file Interfaccia della riga di comando di AWS or SDK AWS per Python.

Per calcolare e segnalare l'impatto delle raccomandazioni, devi prima configurare alcune risorse AWS.

Devi creare un AWS Identity and Access Management (IAM) ruolo che Amazon Personalize assumerà con un documento relativo alla politica di assunzione del ruolo. Devi inoltre collegare le policy per consentire ad Amazon Personalize di accedere ai dati da un bucket S3 e inviare i dati a CloudWatch. Per ulteriori informazioni, vedere Fornire ad Amazon Personalize l'accesso al tuo bucket Amazon S3 ed Fornire ad Amazon Personalize l'accesso a CloudWatch.

Quindi, devi creare alcune risorse Amazon Personalize. Crea il tuo gruppo di set di dati, carica i tuoi dati e forma i consiglieri. Per le istruzioni complete, vedere Per iniziare.

  1. Crea un gruppo di set di dati. Puoi utilizzare le attribuzioni metriche in gruppi di set di dati di dominio ed gruppi di set di dati personalizzati.
  2. Creare un Interactions set di dati utilizzando quanto segue schema:
    { "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. Creare un Items set di dati utilizzando quanto segue schema:
    { "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"
    }

Prima di importare i nostri dati in Amazon Personalize, definiremo l'attribuzione delle metriche.

Creazione di attribuzioni metriche

Per iniziare a generare le metriche, specifica l'elenco di eventi per i quali desideri raccogliere le metriche. Per ciascuno dei tipi di evento scelti, definisci la funzione che Amazon Personalize applicherà durante la raccolta dei dati: le due funzioni disponibili sono  SUM(DatasetType.COLUMN_NAME) ed SAMPLECOUNT(), Dove DatasetType può essere il file INTERACTIONS or ITEMS insieme di dati. Amazon Personalize può inviare i dati dei parametri a CloudWatch per la visualizzazione e il monitoraggio o, in alternativa, esportarli in un bucket S3.

Dopo aver creato l'attribuzione di un parametro e aver registrato eventi o importato dati bulk incrementali, ti verrà addebitato un costo mensile di CloudWatch per parametro. Per informazioni sui prezzi di CloudWatch, consulta il Prezzi di CloudWatch pagina. Per interrompere l'invio di parametri a CloudWatch, eliminare l'attribuzione della metrica.

In questo esempio, creeremo due attribuzioni metriche:

  1. Contare il numero totale di eventi "Visualizza" utilizzando il SAMPLECOUNT(). Questa funzione richiede solo il INTERACTIONS set di dati.
  2. Calcola il margine totale quando si verificano eventi di acquisto utilizzando il SUM(DatasetType.COLUMN_NAME) In questo caso, il DatasetType is ITEMS e la colonna è MARGIN perché stiamo monitorando il margine dell'articolo al momento dell'acquisto. IL Purchase l'evento è registrato nel file INTERACTIONS insieme di dati. Tieni presente che, affinché il margine venga attivato dall'evento di acquisto, invierai un evento di acquisto per ogni singola unità di ciascun articolo acquistato, anche se si tratta di ripetizioni, ad esempio due magliette dello stesso tipo. Se i tuoi utenti possono acquistare più di ogni articolo al momento del pagamento e stai inviando un solo evento di acquisto per tutti loro, sarà più appropriata una metrica diversa.

La funzione per calcolare il conteggio dei campioni è disponibile solo per INTERACTIONS insieme di dati. Tuttavia, il margine totale richiede di avere il ITEMS set di dati e per configurare il calcolo. Per ognuno di essi specifichiamo il eventType che tracceremo, la funzione utilizzata e daremo a metricName che identificherà le metriche una volta esportate. Per questo esempio, abbiamo assegnato loro i nomi "countViews" e "sumMargin".

L'esempio di codice è in Python.

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

Definiamo anche dove verranno esportati i dati. In questo caso a un bucket S3.

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

Quindi generiamo l'attribuzione metrica.

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

metric_attribution_arn = response['metricAttributionArn']

Devi dare un name all'attribuzione della metrica, nonché indicare il gruppo di set di dati da cui verranno attribuite le metriche utilizzando il datasetGroupArn, e il metricsOutputConfig ed metrics oggetti che abbiamo creato in precedenza.

Ora, con l'attribuzione della metrica creata, puoi procedere con il lavoro di importazione del set di dati che caricherà i nostri set di dati di elementi e interazioni dal nostro bucket S3 nei gruppi di set di dati che abbiamo configurato in precedenza.

Per informazioni su come modificare o eliminare un'attribuzione metrica esistente, vedere Gestione di un'attribuzione metrica.

Importazione di dati e creazione di suggerimenti

In primo luogo, importare i dati di interazione ad Amazon Personalize da Amazon S3. Per questo esempio, usiamo quanto segue file di dati. Abbiamo generato i dati sintetici in base al codice nel file Progetto Retail Demo Store. Fare riferimento al repository GitHub per saperne di più sui dati sintetici e sui potenziali usi.

Poi, creare un suggeritore. In questo esempio, creiamo due raccomandazioni:

  1. Consigliere "Consigliato per te".. Questo tipo di strumento di raccomandazione crea suggerimenti personalizzati per gli elementi in base a un utente specificato.
  2. I clienti che hanno visualizzato X hanno visualizzato anche. Questo tipo di strumento di raccomandazione crea suggerimenti per gli articoli che i clienti hanno visualizzato anche in base a un articolo specificato.

Invia eventi ad Amazon Personalize e attribuiscili ai suggeritori

Per inviare interazioni ad Amazon Personalize, devi creare un file Tracker eventi.

Per ogni evento, Amazon Personalize può registrare il file eventAttributionSource. Lo si può dedurre dal recommendationId oppure è possibile specificarlo in modo esplicito e identificarlo nei report nel file EVENT_ATTRIBUTION_SOURCE colonna. UN eventAttributionSource può essere un suggeritore, uno scenario o una parte gestita da terze parti della pagina in cui si sono verificate le interazioni.

  • Se fornisci un recommendationId, quindi Amazon Personalize deduce automaticamente la campagna o il suggeritore di origine.
  • Se fornisci entrambi gli attributi, Amazon Personalize utilizza solo la fonte.
  • Se non fornisci una fonte o un file recommendationId, quindi Amazon Personalize etichetta la fonte SOURCE_NAME_UNDEFINED nei rapporti.

Il codice seguente mostra come fornire un file eventAttributionSource per un evento in a PutEvents funzionamento.

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)

Visualizzazione delle tue metriche

Amazon Personalize invia i parametri ad Amazon CloudWatch o Amazon S3:

Per tutti i dati in blocco, se fornisci un bucket Amazon S3 quando crei l'attribuzione dei parametri, puoi scegliere di pubblicare report sui parametri nel tuo bucket Amazon S3. Devi eseguire questa operazione ogni volta che crei un processo di importazione del set di dati per i dati delle interazioni.

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)

Quando importi i dati, seleziona la modalità di importazione corretta INCREMENTAL or FULL e chiedi ad Amazon Personalize di pubblicare i parametri per impostazione publishAttributionMetricsToS3 a True. Per ulteriori informazioni sulla pubblicazione di report sui parametri in Amazon S3, consulta Pubblicazione di parametri su Amazon S3.

Nel Dati PutEvents inviato tramite l'Event Tracker e per importazioni di dati bulk incrementali, Amazon Personalize invia automaticamente i parametri a CloudWatch. Puoi visualizzare i dati delle 2 settimane precedenti in Amazon CloudWatch: i dati meno recenti vengono ignorati.

Puoi rappresentare graficamente un parametro direttamente nella console CloudWatch specificando il nome che hai dato alla metrica quando hai creato l'attribuzione della metrica come termine di ricerca. Per ulteriori informazioni su come visualizzare questi parametri in CloudWatch, consulta Visualizzazione dei parametri in CloudWatch.

Measure the Business Impact of Amazon Personalize Recommendations PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Figure 3 : un esempio di confronto tra due CTR di due consiglieri visualizzati nella console di CloudWatch.

Importazione e pubblicazione di parametri in Amazon S3

Quando carichi i tuoi dati su Amazon Personalize tramite un processo di importazione di set di dati e hai fornito un percorso al tuo bucket Amazon S3 nell'attribuzione dei parametri, puoi visualizzare i tuoi parametri in Amazon S3 al termine del processo.

Ogni volta che pubblichi parametri, Amazon Personalize crea un nuovo file nel tuo bucket Amazon S3. Il nome del file specifica il metodo e la data di importazione. Il campo EVENT_ATTRIBUTION_SOURCE specifica l'origine dell'evento, ovvero in quale scenario si è verificata l'interazione. Amazon Personalize ti consente di specificare il file EVENT_ATTRIBUTION_SOURCE utilizzando esplicitamente questo campo, questo può essere un suggeritore di terze parti. Per ulteriori informazioni, vedere Pubblicazione di parametri su Amazon S3.

Sommario

L'aggiunta dell'attribuzione delle metriche ti consente di tenere traccia dell'effetto che i consigli hanno sulle metriche aziendali. Puoi creare queste metriche aggiungendo un'attribuzione metrica al tuo gruppo di set di dati e selezionando gli eventi che desideri monitorare, nonché la funzione per contare gli eventi o aggregare un campo del set di dati. Successivamente, puoi vedere i parametri a cui sei interessato in CloudWatch o nel file esportato in Amazon S3.

Per ulteriori informazioni su Amazon Personalize, vedere Che cos'è Amazon Personalize?


Circa gli autori

Measure the Business Impact of Amazon Personalize Recommendations PlatoBlockchain Data Intelligence. Vertical Search. Ai.Anna Gruebler è uno Specialist Solutions Architect presso AWS che si occupa di Intelligenza Artificiale. Ha più di 10 anni di esperienza nell'aiutare i clienti a sviluppare e distribuire applicazioni di machine learning. La sua passione è prendere nuove tecnologie e metterle nelle mani di tutti, e risolvere problemi difficili sfruttando i vantaggi dell'utilizzo dell'IA nel cloud.


Measure the Business Impact of Amazon Personalize Recommendations PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Gabrielle Dompreh è Specialist Solutions Architect presso AWS in Intelligenza Artificiale e Machine Learning. Le piace conoscere le nuove innovazioni dell'apprendimento automatico e aiutare i clienti a sfruttare appieno le loro capacità con soluzioni ben progettate.

Timestamp:

Di più da Apprendimento automatico di AWS