Game of Thrones e i recommendation engine

Libri, film, articoli di arredamento. Quante volte ci capita di navigare su un e-commerce ed essere consigliati nella scelta dei prodotti? Facciamoci caso: capita spesso, ad esempio su piattaforme come Netflix, di guardare una serie televisiva e vedersene suggerita un’altra perché ci potrebbe piacere. Oppure pensiamo ai nostri acquisti su Amazon e al banner a fondo pagina che viene introdotto con un eloquente “chi ha acquistato questo articolo ha acquistato anche”.

Veri e propri consigli per gli acquisti nell’epoca Big Data. La tradizionale pubblicità, con il marchio ospitato negli spot TV nelle fasce orarie più vicine al target di interesse (i materassi proposti al mattino per intercettare le casalinghe, le merendine al pomeriggio per parlare ai più piccoli), viene ampiamente superata dalle possibilità legate alla digitalizzazione: la proposta di prodotti e servizi talmente personalizzati da poter indirizzarsi a utenti singoli.

L’algoritmo che sta alla base dei consigli di Netflix, Amazon e della stragrande maggioranza degli e-commerce sul web è un algoritmo matematico di collaborative filtering: data una matrice in cui le righe corrispondono agli utenti e le colonne ai prodotti, l’algoritmo è in grado di completare tutte le intersezioni vuote prevedendo quali potrebbero essere i desiderata dell’utente sulla base della similarità con altri clienti.

  Il Signore degli Anelli Il Trono di Spade Geralt di Rivia
User 1 4 5 5
User 2 x 5 5
User 3 x 5 ?

Prendiamo ad esempio la matrice qui sopra. Ogni utente ha assegnato, su un e-commerce dedicato ai libri, una recensione per ogni saga fantasy letta. Dato il comportamento dei 3 profili – e volendo consigliare allo User 3 una saga che potrebbe apprezzare – notiamo che i suoi gusti si avvicinano di più allo User 2 (come lui non ha letto “Il Signore degli Anelli” e ha assegnato il massimo punteggio a “Il Trono di Spade”) rispetto allo User 1.

L’algoritmo gli consiglierà, perciò, di leggere “Geralt di Rivia”.

Reccomandation Engine Miriade IT Consultant
 

 

L’algoritmo così implementato, fatto lavorare su dati ripuliti e sulla base di regole predeterminate, ci consente di costruire un motore di raccomandazione (recommendation engine) efficace.
Vediamo il “come si fa” a livello tecnico.

Il dataset e il rating

Il set di dati da analizzare è il primo ed indispensabile ingrediente per poter costruire un motore di raccomandazione. E’ fondamentale che questi dati vengano selezionati: non tutti, infatti, saranno di interesse per la costruzione del motore.

Come si scelgono? Qui entra in gioco la strategia di business. In base a quello che è l’obiettivo da raggiungere (spingere determinati prodotti? andare incontro ai gusti degli utenti? segmentare le vendite secondo criteri predeterminati?) si includono nell’analisi dei dati e se ne escludono altri.

Anche il rating da assegnare ai vari prodotti/servizi da vendere sull’e-commerce – rating che va determinato per coppia utente-item- è una scelta di business che va oltre la tecnologia e la matematica. Quando infatti le recensioni, o altri indicatori rilevanti, non sono presenti, è indispensabile stabilire un criterio per cui dare più peso ad un acquisto (o ad un mancato acquisto) piuttosto che ad un altro. Per esempio, se il nostro e-commerce sopracitato non avesse avuto un sistema di recensioni, si poteva decidere che, fermo restando uno stesso prodotto, il numero di acquisti di un utente valeva 3, il numero di carrelli abbandonati 2 e così via.

Un dataset ripulito e una formula di rating che consenta di classificarlo sono la base concettuale da cui partire.

L’implementazione tecnica

Ci è capitato più volte di avere a che fare con la costruzione di motori di raccomandazione. Superata la fase concettuale iniziale, che può essere anche piuttosto articolata perché va a toccare le domande fondamentali del business e che quindi richiede l’intervento di più figure professionali di una stessa azienda, si procede con il disegno del lavoro e dei flussi.

Solitamente lavoriamo con imprese che hanno già un loro datawarehouse e che sono abituate alla BI tradizionale, ma che desiderano spostarsi verso analisi più avanzate.

Procediamo quindi per fasi:

Installiamo il cluster su cui processeremo i dati – usualmente è questo il momento in cui installiamo anche la componente server di Knime.

Procediamo alla messa in sicurezza dell’infrastruttura (consiglio: spesso in progetti di questo tipo, che hanno a che fare con i Big Data, si tende a tralasciare la security. E’ il caso, invece, di tenerla sempre ben presente).

Completiamo l’ingestion dei dati dalle fonti individuate. Questo è spesso il passaggio più delicato. Dal DWH aziendale portiamo in dati nella distribuzione HDFS di Hadoop usando Spark e i nodi di Knime. Hadoop ci permette di separare il dato fisico dalla tabella, intesa come metadato: cerchiamo di costruire tabelle piatte anche di dimensioni importanti i cui dati di riferimento sono salvati in formato Parquet per rendere l’elaborazione del dato pressoché immediata.

Una volta predisposta l’infrastruttura tecnica e stabilizzato il flusso dei dati, eseguiamo l’analisi ricorrendo all’algoritmo e alla formula di rating selezionati. Si parte dalla costruzione del modello, che noi solitamente eseguiamo ricorrendo al workflow di Knime, che permette di ottenere la matrice completa di tutti i rating per associazione utente-item e poi si dà vita all’analisi. I dati delle raccomandazioni personalizzate vengono scritte nel dwh pronte per essere utilizzati per gli scopi di marketing aziendali.

Dati, tecnologie e strategie di business sono nascosti dietro ai consigli per gli acquisti che sperimentiamo on line tutti i giorni. Saperli padroneggiare al meglio può essere davvero fondamentale per le aziende e le organizzazioni: individuare il giusto prodotto per ogni cliente e saperlo proporre nei modi più adeguati è da sempre la base del marketing e oggi, grazie ai motori di raccomandazione e ai Big Data, è possibile farlo praticamente in automatico.

Contenuti simili
SMART ANALYTICS
Dec 16, 2021

La data science è una branca del sapere che si fonda su conoscenze relative all’integrazione dei dati, allo sviluppo di algoritmi e alle capacità tecnologiche: di fatto si concentra sulla risoluzione analitica di problemi complessi.

SMART ANALYTICS
Aug 07, 2023

Intelligenza Artificiale Generativa. Il 61% delle aziende italiane con più di 249 addetti e il 15% delle PMI hanno già attivato almeno un progetto di IA.