Terza e ultima tappa del viaggio sui dati della tv usati da Netflix, Amazon e Hulu. Tocca ora ai motori di raccomandazione, algoritmi alla base delle proposte fatte agli utenti.

In questo caso è bene cominciare dal risultato: oltre il 75% delle scelte fatte dagli utenti di Netflix è dato dal sistema combinato di personalizzazione e raccomandazione che il servizio eroga sempre, in gran parte in modo invisibile Essendo un servizio cosiddetto SVOD (subscription video on demand), Netflix vive sugli abbonamenti mensili: poco meno di €10 per avere tutto il catalogo fruibile insieme su 3 schermi. Il problema comune dei servizi OTT (over the top), ovvero che si possono fruire su qualsiasi device con un’app e una connessione broadband, è che l’utente è sempre a un click dalla disdetta del servizio. Non ci sono di norma abbonamenti di lunga durata ma semplici sottoscrizioni mensili, senza obbligo di rinnovo automatico e annullabili in ogni momento. Un utente ogni mese si trova quindi più o meno consapevolmente a valutare se i €10 spesi siano valsi la pena, o se invece non sia il caso di interrompere il servizio. La valutazione avviene su due fattori: quanti contenuti si sono consumati e il livello di gradimento. Se la percezione è di aver sfruttato poco il servizio, o di non aver trovato nulla di soddisfacente, è probabile che il temuto click di recesso avvenga. È per venire incontro a queste criticità che tutti i principali player hanno messo a punto un loro motore di raccomandazione.

Per capire nel dettaglio il funzionamento di un motore di raccomandazione sarebbe necessario addentrarsi nei meandri di una materia complessa, che richiederebbe competenze che attribuiamo ai cosiddetti scienziati dei dati. Proviamo comunque a descrivere a grandi linee quelli che sono i concetti fondamentali e le principali componenti che costituiscono un moderno sistema in grado di fornire raccomandazioni mirate a ogni singolo utente di un servizio video. Per farlo, analizziamo stavolta il sistema di Hulu, come ci viene presentato con grande semplicità ed efficacia nel suo blog tecnico.

La logica dell’algoritmo

Partiamo dagli algoritmi, da quelle porzioni di software preposte a risolvere specifiche problematiche. Ne esistono davvero tanti concepiti per affrontare i temi della raccomandazione, alcuni più semplici e altri molto complessi. Spesso i sistemi più sofisticati utilizzano non uno ma un insieme di algoritmi per calibrare al punto giusto il risultato da presentare all’utente. Per non complicare troppo il ragionamento, basti sapere che l’algoritmo più utilizzato negli ultimi anni, sicuramente presente nei sistemi di principali player di mercato, è quello denominato collaborative filtering, che ha l’obiettivo di predire gli interessi degli utenti basandosi sui loro comportamenti. Esistono due varianti dell’algoritmo, che differiscono in modo sostanziale nel punto di partenza dell’analisi. La prima variante è basata sugli utenti, e si assume che un utente preferisca contenuti che sono stati apprezzati da utenti con interessi simili ai propri. In pratica, il ragionamento è simile a quello che facciamo nella vita di tutti giorni, dove abbiamo amici che sappiamo avere gusti su cinema e tv simili ai nostri, di cui ci fidiamo nel farci raccomandare un testo che ancora non conosciamo. La seconda variante è quella basata sugli item, ovvero sui prodotti stessi. Il principio in questo caso è che un utente preferisca contenuti simili a quelli che ha già apprezzato in passato: se mi è piaciuto il primo film di Harry Potter è probabile che mi piaccia anche il secondo.

Quest’ultimo approccio (il collaborative filtering basato sugli item) è decisamente il più diffuso, per molti motivi. Oltre a essere piuttosto semplice e a dare risultati più che soddisfacenti, funziona in maniera efficiente laddove si abbiano molti più utenti che contenuti, consentendo di dare all’utente finale una “spiegazione” sul perché della raccomandazione. Quest’ultimo elemento è spesso sottovalutato ma è di fondamentale importanza per accrescere la fiducia verso un sistema di raccomandazione. Vedere esplicitato che determinati contenuti sono consigliati perché in passato si consumato (o si è fatto like) su uno specifico film o serie dà all’utente la percezione che “il sistema” segua costantemente il suo percorso, fornendogli consigli altamente personalizzati. Questo a grandi linee è il duplice possibile funzionamento dell’algoritmo di collaborative filtering che, vale la pena ripeterlo ancora, nei sistemi più complessi è solo uno dei tasselli del grande puzzle.

Tre componenti di un sistema

Oltre agli algoritmi utilizzati, e ai relativi parametri di configurazione, un motore di raccomandazione è poi composto da due sistemi principali: online e offline. Prendendo a esempio l’architettura del sistema online descritta da Hulu, si evidenzia come questa parte sia suddivisa in tre componenti. La prima è preposta alla cattura degli eventi generati da ogni utente, e quindi i contenuti visionati, i voti espressi, le eventuali sottoscrizioni a interi canali o serie di contenuti. Questa componente, denominata user profile builder, aggrega tutti i dati ricevuti mantenendo sempre aggiornato per ogni utente un profilo relativo ai suoi comportamenti. La seconda parte del sistema è quella che di fatto è interrogata quando viene chiesta una predizione. In questa fase vengono usati i modelli di raccomandazione opportunamente addestrati per generare una serie di previsioni relative a uno specifico utente per una certa richiesta. Questa componente è forse la più complessa da decifrare. Possiamo immaginare un modello come una scatola, con una porta di ingresso e una di uscita. All’ingresso poniamo al modello una domanda e ci aspettiamo in uscita una risposta. Ogni modello è dedicato a rispondere a una specifica domanda, avendo in ingresso un’opportuna informazione. Possiamo chiedere quali sono i film simili a Titanic, aspettandoci di avere come output un elenco di film compatibili. Per fornire una risposta il modello fa “viaggiare” l’informazione in ingresso all’interno di una serie di “labirinti” che presentano a loro volta una serie di bivi. È la logica del modello stesso che permette – di fronte a ogni bivio – di scegliere la giusta “direzione” arrivando alla fine a formulare la risposta più probabile alla domanda sottoposta.

Per costruire un modello, con una sua logica interna preposta alla risoluzione di una problematica, si deve passare prima per una fase di addestramento. Di fatto, all’inizio un modello è una scatola vuota. Fornendo a una macchina un sufficiente numero di esempi, questa modellerà la rete interna di labirinti e la relativa logica per affrontare ogni bivio. Possiamo per esempio fornire a una macchina tutta la libreria dei film a disposizione, i relativi metadati, e lo storico dei comportamenti dei nostri utenti. In base all’algoritmo scelto, come il già citato e ampiamente utilizzato collaborative filtering, la macchina affronterà un processo di apprendimento che le consentirà di riempire la scatola fornendoci un modello opportunamente addestrato. Ottenuto un modello, dopo aver verificato la bontà delle sue predizioni, potremo cominciare a utilizzarlo. Ed è questo ciò che avviene nella seconda componente del sistema online: data una specifica richiesta è interrogato un modello per ottenere una raccomandazione. Nella realtà i modelli interrogati sono generalmente più di uno in parallelo, cosi da ottenere un insieme di risposte tali da permettere una più accurata scelta tra le predizioni ottenute.

Ed è in questa fase che entra in gioco la terza componente del sistema online, dove l’insieme di raccomandazioni ottenute è opportunamente filtrata (filtering), pesata (ranking), e quindi “spiegata” (explanation), per essere presentata all’utente. La filtratura avviene tramite semplici regole di business impostate dal sistema o dell’editore. Per esempio sono esclusi tutti i contenuti che l’utente ha già visto o quelli per cui non sono più in essere i diritti di visione. Il ranking invece risponde a regole più sottili che hanno costante necessità di essere aggiornate e raffinate. Può essere dato più peso ai contenuti raccomandati in base alla storia recente dell’utente: è probabile infatti che si sia più propensi a seguire quelli che sono gli interessi o gli stati d’animo del momento piuttosto che quelli di diversi mesi fa. Dare più peso ai contenuti basati sui comportamenti recenti può aumentare il tasso di successo delle raccomandazioni. Allo stesso tempo, essendo fondamentale proporre ai propri utenti un menù sempre variegato, è importante mischiare, anche in modalità casuale, i contenuti raccomandati, così come dare meno importanza a quegli elementi che già di per sé hanno un tasso di popolarità alto. Di fatto non è necessario mettere in primo piano nell’elenco dei consigli quegli show che probabilmente hanno già attirato l’attenzione della maggior parte degli utenti, e mischiando ogni tanto le carte si può dare l’impressione di avere sempre qualcosa di nuovo da offrire. L’ultimo passaggio prima della presentazione all’utente delle scelte consigliate è la descrizione. È qui importante evidenziare ogni tanto i motivi per cui sono raccomandati certi contenuti, specie se la scelta è derivata da attività recenti.

Una parte anche offline

La parte offline di un motore di raccomandazione è la più oscura, in cui sono immagazzinati tutti i dati storici e dove sono addestrati i modelli predittivi. Quest’ultima attività dev’essere svolta periodicamente garantendo al sistema di lavorare sempre con dati freschi, sull’ultima collezione di contenuti disponibili e con le informazioni relative al comportamento degli utenti costantemente aggiornate. Per ottimizzare al massimo l’efficacia dei sistemi predittivi, alcune implementazioni dei player più importanti sul mercato prevedono una sorta di “terra di mezzo”, un mondo situato tra l’online e l’offline dove di fatto i modelli sono costantemente e incessantemente aggiornati. In questo modo, non è solo il flusso di dati che proviene da un utente (il cosiddetto click stream) a influenzare le raccomandazioni, ma sono i modelli stessi, in continua evoluzione, che garantiscono un’esperienza costantemente in sincrono.

L’ultimo elemento che caratterizza la parte offline di un motore di raccomandazione è forse quello più importante. È il sistema di reportistica, e quindi di verifica dell’efficacia del sistema stesso. Qui il principio è decisamente basico: se non si dispone di un sistema che permette di confrontare varie soluzioni, non si è in grado di valutare come il sistema stia performando e come quindi le progressive modifiche apportate impattino sull’andamento generale. Un buon sistema di raccomandazione deve avere alla base un meccanismo cosiddetto di A/B Test, o di test multivariati, dove sia possibile presentare a differenti gruppi di utenti diverse configurazioni e misurare quindi i risultati di ciascun gruppo. Se è modificata una sequenza di algoritmi, la pesatura dei parametri d’ingresso per l’addestramento ai modelli, la modalità di presentazione delle raccomandazioni, è fondamentale poter verificare prontamente come queste modifiche hanno impattato sul risultato. La metrica dominante è quella della percentuale dei video visti e apprezzati: più il meccanismo funziona, più consumo si avrà da parte degli utenti. Più i consigli che il sistema elabora e presenta sono convincenti, più alto sarà il consumo dei contenuti. Questa parte è fondamentale, se non determinante, per il funzionamento e la vita di un sistema di questo tipo. La reportistica risultante non è prodotta solo a beneficio degli esseri umani, degli scienziati dei dati, che possono verificare rapidamente come una variazione stia performando, ma sono fondamentali anche per le macchine. Un sistema altamente automatizzato può imparare da solo dai suoi errori, ricevendo un feedback costante su come stia lavorando per aggiustare progressivamente quindi i parametri di addestramento dei modelli, la sequenza degli algoritmi, e così via. Senza una componente di test e reportistica un motore di raccomandazione è semplicemente cieco.

La varietà, l’aggiornamento, l’esperienza unica

Un motore di raccomandazione non è fondamentale solo per consigliare nuovi contenuti, ma anche per impacchettare un’esperienza di fruizione unica per l’utente. Molti servizi OTT soffrono di una poco ampia profondità di catalogo: meno contenuti si hanno, meno probabile sarà offrire all’utente un’esperienza soddisfacente. Altrettanto frequente è il problema del poco aggiornamento: se l’utente ha la percezione di avere a disposizione sempre gli stessi titoli difficilmente tornerà con entusiasmo a verificare le novità dell’offerta. In realtà, anche con cataloghi di medie dimensioni e con una frequenza di aggiornamento bassa, basterebbe dare all’utente la percezione di trovare sempre qualcosa di nuovo e sempre di suo interesse per far diminuire significativamente la probabilità che receda dal servizio. Ma questa è un’operazione tutt’altro che banale. È necessario conoscere in dettaglio le abitudini di consumo di ogni utente e insieme avere una mappatura completa del significato di ogni contenuto.

Netflix ha un catalogo piuttosto ampio, in continua evoluzione, corredato da un numero crescente di contenuti originali di grande qualità. Ha paradossalmente però gli stessi problemi di un servizio con scarsità di titoli: un catalogo troppo vasto e difficilmente accessibile può facilmente dare la stessa impressione di “inutilità”, e quindi generare uno scarso gradimento. Questo Netflix lo ha capito bene e da tempo. Non è un caso che oltre il 75% dei contenuti consumati lo siano grazie alla modalità con cui è impacchettata e presentata l’offerta. Ogni utente ha un’esperienza sartoriale: una propria ed esclusiva presentazione dei contenuti. E non solo, l’offerta di domani sarà differente da quella di oggi, quella del mattino differente dalla quella della sera, e ancora quella su smartphone diversa da quella sul televisore.

Entrando su Netflix si ha sempre la sensazione di avere tanti contenuti, di qualità, interessanti, con qualcosa di nuovo e “stuzzicante”. Per avere tanti utenti non basta solo acquisirne tanti, ma anche provare a tenerne il maggior numero possibile. E per ottenere questo risultato è fondamentale tenerli sempre a un elevato grado di soddisfazione, per superare senza esitazioni la prova di “fine mese”. L’esperienza che Netflix offre è tale per cui spesso si è spontaneamente portati a “vedere cosa c’è su Netflix”. E l’esperienza non è quasi mai deludente: sembra esserci sempre qualcosa di nuovo, grazie a un continuo cambiamento della presentazione e a una cura maniacale della personalizzazione.

L’home page di Netflix è organizzata in una serie di righe dal titolo molto verboso, ognuna delle quali presenta un gruppo coerente di video. La sequenza in ogni riga è perfettamente calibrata, così come la sequenza di temi che si succedono nelle righe stesse. In questo modo, l’utente può scorrere rapidamente una grande porzione di catalogo, soffermandosi su un argomento – navigando una riga orizzontalmente – o saltando rapidamente tra un tema e un altro – navigando di riga in riga. Esistono decine di migliaia di temi che Netflix può assemblare e un conseguente numero di righe, e per ogni riga migliaia di video. Da milioni quindi di possibili combinazioni, Netflix ne crea una appositamente “pensata” per ogni persona, per il giorno della settimana, l’ora e il device con cui si collega. E non solo, perché la cosa veramente straordinaria è che la costruzione dell’esperienza, e quindi l’assemblaggio, e la sequenza delle righe cambiano in tempo reale in base alla navigazione dell’utente.

Siamo molto distanti, come si può facilmente capire, da un sistema che ci consiglia di vedere film di Spielberg perché abbiamo appena visto Jurassic Park, o film di fantascienza perché abbiamo messo un “mi piace” su 2001 Odissea nello spazio. In questo caso abbiamo centinaia di punti-dato raccolti in tempo reale che indicano cosa l’utente sta facendo, incrociati con lo storico di tutto ciò che ha fatto, moltiplicati per la conoscenza puntuale di ogni contenuto che ha guardato o di cui ha anche solo letto la scheda. Tutto scaricato in tempo reale, per creare un’esperienza a dir poco unica. L’utente si rende conto poco o nulla di ciò che succede. Alcune righe di contenuti sono esplicitamente create e titolate in funzione dei contenuti già consumati, che si possono continuare a vedere o rivedere. Per il resto è tutto trasparente: è una “tecnologia invisibile”, arrivata a uno stadio evolutivo per cui risulta impercettibile a chi la utilizza.

Sofisticazione elevata

Netflix ha raggiunto un livello di sofisticazione elevato, che rende qualsiasi elemento di contenuto o di interfaccia una scelta non casuale. Basti pensare che, per fare l’ennesimo esempio su quanti dati vengono immagazzinati e per quante applicazioni utilizzati, anche la scelta delle copertine dei video è condizionata da un’elaborazione algoritmica. L’analisi della distribuzione cromatica di una cover rende possibile capire se per un determinato contenuto è più opportuno costruire, o presentare, una copertina che rispetti certi parametri per cui si è misurato un maggiore gradimento.

Per tornare a House of Cards, l’immagine di copertina è stata prodotta mutuando il concept e la distribuzione cromatica dalla cover della serie Macbeth andata in onda su Pbs. L’idea è molto simile: un potente con le mani insanguinate, e praticamente identica è la distribuzione cromatica. Questa operazione è applicabile anche in tempo reale, andando a modificare con appositi filtri la resa di una serie di copertine per renderle più “rispondenti” ai gusti di un singolo utente.

Si capisce quindi che il mix di personalizzazione e raccomandazione che Netflix mette in campo è di un livello difficilmente raggiungibile (almeno per ora). Chi vuole entrare o è già dentro il mercato del video OTT non può non confrontarsi con questa realtà. Se è vero che raggiungere la complessità di Netflix richiede uno sforzo che in pochi possono permettersi, è altrettanto evidente che se non si comincia a raccogliere un numero significativo di dati di qualità ogni battaglia sarà puntualmente persa.

Rimane fondamentale la centralità del contenuto, ancora re del suo impero. Ma la varietà dei formati con relative somiglianze e la rapida espansione dei player OTT nel mondo degli original rende ormai evidente che il grosso della partita si giocherà attorno alla raccolta, elaborazione e messa a terra dei dati. Diventare una data company, o comunque abbracciare il mondo dei big data, per un’azienda classicamente televisiva è un altro salto quantico. Non basta aver più o meno celermente abbracciato l’evidenza di internet che ha di fatto cambiato il mondo della televisione per sempre, per maneggiare il mondo dei dati. È un universo che necessita di competenze specifiche e di tempo per costruire uno storico.

I rischi sono molti. Sottovalutando l’importanza del settore ci si potrà trovare in un futuro prossimo a competere con chi ha almeno un occhio in più di noi. O approcciando i dati in modo superficiale si possono commettere gravi errori, simili a quelli di Amazon o che confermino le tesi di Eli Pariser che nel suo interessantissimo Il filtro ci mette in guardia del pericolo di creare con la personalizzazione delle profezie auto-avveranti dove l’utente entra di fatto in un loop in cui consuma solo ciò che gli è raccomandato e gli sono raccomandati solo contenuti simili a quelli che consuma. Una cosa è certa: il mondo dei dati cambierà la tv per sempre. È quindi fondamentale, e urgente, abbracciare questa rivoluzione con tutte le competenze necessarie e con la pazienza di capire che per avere un numero sufficiente di dati di qualità a disposizione, e cominciare quindi a monetizzarli, servono anni.