Nuove tipologie di dati e approcci euristici per il Marketing

 In Big Data, Optimization & Personalization, Predictive Analytics

Tipologie di datiArchiviare tutti i dati disponibili nel Data Lake premette di effettuare analisi esplorative con tool specializzati, come per esempio Impala (Cloudera), Shark (Spark) o Drill (Apache).

Le informazioni che emergono sono poi classificate e messe in relazione tra loro, creando reti specifiche di connessioni fra eventi, quelli che chiamiamo pattern.

La bontà degli algoritmi utilizzati è misurata nella capacità di distinguere pattern statisticamente significativi rispetto agli obiettivi di business e di mantenere aggiornati i modelli man mano che entrano nel sistema nuove categorie di dati.

Apparentemente, inserire nuovi dati non strutturati nelle reti pre-esistenti sembrerebbe diminuire la capacità di codificare e stimare correttamente gli eventi futuri, ma i benefici confermano la necessità di un approccio di questo tipo.

“Appaltare a macchine che funzionano seguendo sequenze di 0 e di 1 la soluzione di problemi caotici, comporta dei rischi non indifferenti”

da Capra e calcoli. L’eterna lotta tra gli algoritmi e il caos di Marco Malvaldi

Si tratta del fondamento dell’approccio euristico: calcolare le probabilità a posteriori basandosi su metodi di classificazione bayesiana. Man mano che inizia ad accumularsi una quantità di nuovi dati sufficiente ad effettuare i test (allenamento), viene misurato l’apporto delle modifiche al modello. Se i risultati (cross-validation) suggeriscono che la nuova tipologia di dati può contribuire a individuare meglio pattern di comportamento, il nuovo modello diventa lo standard da “battere”.

Le nuove tipologie di dati possono entrare nel modello e prendere il posto di altre che magari erano presenti da tempo. Non è necessario aggiungere un numero elevato di parametri per ottenere buone prestazioni (cioè la capacità di adattarsi e prevedere). Inoltre, in un mercato in continua evoluzione ed esposto a fattori esterni difficilmente misurabili, è meglio evitare l’overfitting (sovra-adattamento) e concentrarsi sul real time.

Il processo di allenamento continuo degli algoritmi si basa su una porzione di dati storici che vengono utilizzati per simulare (rievocazione) la bontà del modello, avendo già a disposizione i risultati (per esempio in termini di conversioni). Se i dati sono stati raccolti e conservati correttamente, è possibile utilizzare il dettaglio di un evento per incrementare in maniera “sensibile” (uplift) la separazione dei pattern.

In questo processo è fondamentale misurare la freshness dei dati utilizzati, cioè indicare per ogni dettaglio raccolto la validità nel tempo di quella tipologia di informazione. Nel nostro processo i parametri vengono classificati in due categorie: a breve termine ed a lungo termine.

Proprio come i ricordi raccolti e conservati nella memoria degli individui, le informazioni vengono discriminate in base alla loro validità come stimatori di eventi in near real time.

Possiamo ricordare (quasi sempre) dove abbiamo parcheggiato la macchina oggi, più difficilmente dove l’abbiamo lasciata ieri o la settimana scorsa. Allo stesso modo alcune informazioni sono validi stimatori solo per un breve periodo. Se un utente ha fatto una ricerca per prenotare un ristorante questa sera, molto probabilmente le informazioni su quale tipo di ristorante ha scelto non saranno ancora valide domani per un’offerta speciale.

La discriminazione fra informazioni valide a breve periodo e altre da conservare per arricchire il modello a lungo termine dipende dal settore merceologico di applicazione, ma è essenziale per organizzare i dati e per guidare le azioni, permettendoci un maggiore livello di personalizzazione “contestuale”.

“Per uscire dall’impasse, quello che serve, è fare un errore. Bisogna accettare la possibilità di andare nella direzione sbagliata, per arrivare nella direzione giusta. […] Accettando la possibilità di fare buoni errori, di compiere mosse apparentemente insensate, la cui bontà si rivela in seguito grazie alle nuove strade che ci permette di esplorare, le capacità degli algoritmi aumentano in modo incredibile.”

da Capra e calcoli. L’eterna lotta tra gli algoritmi e il caos di Marco Malvaldi

Le fasi del processo sperimentale

Per verificare se i nuovi parametri prendono parte alla separazione dei pattern (hanno quindi un impatto incrementale), il sistema svolge automaticamente un grande numero di test comparati su diverse porzioni di dati.

In alcuni test vengono eliminati dal modello i parametri che danno un minor uplift e vengono sostituiti dai nuovi. Viceversa, in altri test aumentiamo il numero di parametri complessivi del modello. I sistemi che facilitano queste attività, come Revolution R Enterprise (Revolution Analytics), Spark Mlib e Alteryx, contribuiscono alla valutazione di tutte le possibili manipolazioni in grado di influenzare la capacità predittiva.

Pensando per esempio all’applicazione in uno scenario di E-commerce per rispondere alle esigenze di personalizzazione delle offerte in ottica cross-selling e up-selling, al termine di questa fase verranno proposte agli utenti diverse offerte basate sul nuovo modello, varianti rispetto allo standard, simili ma non identiche (stessa forma con diverso prezzo, oppure stesso prezzo con diverse creatività).

Il miglioramento del pattern individuato è direttamente proporzionale alla capacità di distinguere la risposta degli utenti alle diverse situazioni proposte e di consentire di suddividere efficacemente l’audience in cluster, per ottimizzare le attività di marketing.