Questo articolo è la prima parte di una serie di quattro articoli che illustra come puoi prevedere il lifetime value cliente (CLV) utilizzando AI Platform (AI Platform) su Google Cloud.
Gli articoli di questa serie includono quanto segue:
- Parte 1: Introduzione (questo articolo). Introduce il lifetime value cliente (CLV) e due tecniche di modellazione per la previsione del CLV.
- Parte 2: addestramento del modello. Spiega come preparare i dati e addestrare i modelli.
- Parte 3: esegui il deployment in produzione. Descrive come eseguire il deployment dei modelli descritti nella Parte 2 in un sistema di produzione.
- Parte 4: utilizzare AutoML Tables. Mostra come utilizzare AutoML Tables per creare ed eseguire il deployment di un modello.
Panoramica
Molti inserzionisti cercano di personalizzare i propri annunci per singoli o gruppi di utenti simili, ma non sempre fanno marketing per i clienti di maggior valore. Il principio di Pareto viene spesso citato in riferimento alle vendite, predicendo che il 20% dei clienti rappresenta l'80% delle vendite. E se potessi identificare quali dei tuoi clienti rappresentano questo 20%, non solo in passato, ma anche in futuro? La previsione del lifetime value cliente (CLV) è un modo per identificarli.
Gli obiettivi di questa serie sono i seguenti:
- Spiega i concetti di modellazione del CLV.
- Confronta due approcci alla definizione del modello CLV.
- Mostra come implementare i modelli CLV su Google Cloud.
Questa soluzione confronta due diversi approcci alla definizione del modello di CLV: modelli probabilistici e modelli di machine learning (ML). Fornisce un'implementazione di ogni approccio e presenta i risultati quando ogni modello viene applicato a un set di dati pubblico. Gli articoli della serie si concentrano sull'implementazione del sistema di modellazione su Google Cloud.
Quando utilizzare questo approccio
Puoi utilizzare i modelli di CLV per rispondere a questi tipi di domande sui clienti:
- Numero di acquisti: quanti acquisti effettuerà il cliente in un determinato intervallo di tempo futuro?
- Lifetime: quanto tempo passerà prima che il cliente diventi definitivamente inattivo?
- Valore monetario: quanto genererà il cliente in termini di valore monetario in un determinato intervallo di tempo futuro?
Quando prevedi il lifetime value futuro, esistono due problemi distinti che richiedono strategie di modellazione e dati diversi:
- Prevedi il valore futuro per i clienti esistenti con una cronologia delle transazioni nota.
- Prevedi il valore futuro dei nuovi clienti che hanno appena effettuato il primo acquisto.
Questa serie è incentrata sul primo problema.
Molte aziende prevedono i CLV solo esaminando l'importo monetario totale delle vendite, senza comprendere il contesto. Ad esempio, un cliente che effettua un ordine di importo elevato potrebbe avere un valore inferiore rispetto a un altro cliente che effettua acquisti più volte, ma per importi inferiori. La definizione del modello CLV può aiutarti a comprendere meglio il profilo di acquisto dei tuoi clienti e a valutare la tua attività in modo più accurato.
Utilizzando gli approcci descritti in questa serie per prevedere il valore dei tuoi clienti, puoi dare la priorità alle azioni successive, ad esempio:
- Decidi quanto investire nella pubblicità.
- Decidi quali clienti scegliere come target per la pubblicità.
- Pianifica come spostare i clienti da un segmento all'altro.
I modelli utilizzati in questa serie non sono adatti per le attività in cui puoi osservare e misurare direttamente il tasso di abbandono dei clienti. Ad esempio, non devi utilizzare questi modelli per attività basate su abbonamenti, account cliente o contratti che possono essere annullati. I modelli di questa serie, invece, assumeno che gli utenti interagiscano con l'attività in qualsiasi momento, ad esempio nei negozi di e-commerce in cui possono effettuare acquisti in qualsiasi momento. Inoltre, i modelli descritti in questa serie sono ideali per prevedere il valore futuro per i clienti esistenti che hanno almeno una quantità moderata di cronologia delle transazioni.
Concetti di CLV: RFM
Tre input importanti nei modelli CLV sono la frequenza, la recency e il valore monetario:
- Recentità: quando è stato effettuato l'ultimo ordine del cliente?
- Frequenza: con quale frequenza fanno acquisti?
- Monetario: quale importo spendono?
Il seguente diagramma mostra una successione di vendite passate per un insieme di quattro clienti.
Il diagramma illustra i valori RFM per i clienti, mostrando per ciascun cliente:
- Recentezza: il tempo che intercorre tra l'ultimo acquisto e la data odierna, rappresentato dalla distanza tra il cerchio più a destra e la linea tratteggiata verticale contrassegnata dall'etichetta Ora.
- Frequenza: il tempo che intercorre tra un acquisto e l'altro, rappresentato dalla distanza tra i cerchi su una singola riga.
- Monetario: l'importo speso per ogni acquisto, rappresentato dalle dimensioni del cerchio. Questo importo potrebbe essere il valore medio dell'ordine o la quantità di prodotti ordinati dal cliente.
Nei modelli utilizzati in questa serie, vengono utilizzati solo i dati storici sulle vendite per calcolare il CLV. I valori RFM inseriti vengono calcolati in base alla cronologia delle transazioni di ciascun cliente.
Due metodi di definizione del modello per il CLV
Come indicato in precedenza, questa serie di articoli mette a confronto due approcci per calcolare il valore lifetime del cliente:
- Modelli probabilistici. Questi modelli funzionano adattando una distribuzione di probabilità ai valori RFM osservati per i clienti. Questi modelli si basano sul comportamento di acquisto definito dalla cronologia delle transazioni di ciascun cliente. Questi dati sono sufficienti per estrarre i valori RFM.
- l'implementazione, il monitoraggio e la gestione dei modelli ML. Questi modelli sono una classe ampia e ampiamente utilizzata di modelli statistici in cui i parametri vengono adattati ai dati mediante l'addestramento con la discesa del gradiente stocastico. I modelli di ML possono utilizzare più funzionalità rispetto ai modelli probabilistici. In questa serie utilizziamo i modelli di reti neurali profonde (DNN), una classe di modelli di ML molto utilizzata. Inoltre, mostriamo come utilizzare AutoML Tables per creare automaticamente un modello di ML.
Per i modelli probabilistici, questa soluzione utilizza una libreria Lifetimes esistente che si basa su DataFrame con Pandas. Potresti potenzialmente creare una libreria equivalente in TensorFlow per eseguire le stesse attività della libreria Lifetimes.
Modelli probabilistici
I modelli probabilistici utilizzano valori RFM calcolati da un elenco di transazioni di ordine. Ogni transazione è composta da un ID cliente, una data dell'ordine e un valore dell'ordine. Esistono modelli diversi per la definizione di relazioni con i clienti diverse. La Parte 2 della serie di articoli mostra come utilizzare i seguenti modelli disponibili nella libreria Lifetimes:
- Distribuzione binomiale negativa/di Pareto
- Beta-geometrica (BG/NBD)
Pareto/NBD
Il modello Pareto/NBD è stato originariamente sviluppato da Schmittlein et al. Questo modello viene utilizzato per situazioni non contrattuali in cui i clienti possono effettuare acquisti in qualsiasi momento. Utilizzando quattro parametri, descrive la frequenza con cui i clienti fanno acquisti e la frequenza con cui smettono di essere clienti dell'attività. Utilizza il modello ottimizzando i parametri per fornire una migliore adattabilità a un insieme di dati RFM.
BG/NBD
Il modello Pareto/NBD è stato ampiamente utilizzato, ma è difficile da implementare, poiché la stima dei parametri richiede un'elaborazione intensa. Per risolvere questi problemi, Fader e Hardie hanno sviluppato il modello BG/NBD. Il modello BG/NBD, come il modello Pareto/NBD, viene utilizzato per situazioni non contrattuali in cui i clienti possono effettuare acquisti in qualsiasi momento. Il modello BG/NBD utilizza anche quattro parametri per descrivere la frequenza con cui i clienti effettuano acquisti e la frequenza con cui abbandonano. Tuttavia, il modello BG/NBD è più facile da implementare rispetto a Pareto/NBD ed è più veloce. I due modelli tendono a produrre risultati simili.
Calcolo del CLV con modelli probabilistici
L'utilizzo dei modelli probabilistici è un processo in più passaggi. Il codice nel modello esegue le seguenti attività:
- Esegue la preelaborazione dei dati sulle transazioni per calcolare i valori RFM.
- Utilizza il modulo Lifetimes per ottimizzare i parametri del modello appropriato, Pareto/NBD o BG/NBD, in modo che si adatti ai dati RFM.
- Calcola il valore monetario previsto per ogni cliente.
La creazione di un modello per il valore monetario è complessa, perché molti parametri, come i prezzi dei prodotti che cambiano nel tempo, non sono rappresentati solo dai dati sulle transazioni. Il metodo probabilistico presuppone che il valore monetario segua una distribuzione gamma-gamma. Il codice della libreria Lifetimes include un metodo di distribuzione gamma-gamma che puoi utilizzare per calcolare il CLV in base a un modello probabilistico adattato. Scopri di più sull'utilizzo della libreria Lifetimes per generare previsioni del CLV nella Parte 2 della serie.
Modelli di machine learning
I modelli ML rappresentano una buona alternativa ai modelli probabilistici. Questi articoli discusso l'utilizzo delle reti neurali profonde, che puoi implementare in TensorFlow utilizzando l'interfaccia Estimator
.
Questa soluzione utilizza due tecniche per migliorare le prestazioni delle reti neurali profonde:
Normalizzazione batch, che presenta i seguenti vantaggi:
- Normalizza e decorrela i valori numerici nelle caratteristiche. Poiché la normalizzazione batch esegue questo passaggio, non devi farlo da solo.
- Riduce al minimo l'impatto della variazione dei pesi nel tempo, che influisce sull'importanza di ogni caratteristica.
Decadimento del tasso di apprendimento in cui il tasso di apprendimento diminuisce in modo esponenziale nel tempo, contribuendo a evitare oscillazioni della perdita quando il tasso di apprendimento si avvicina al minimo.
Questa serie di articoli mostra due implementazioni di DNN in TensorFlow:
- Estimator
DNN predefinito. TensorFlow include modelli DNN preimplementati conformi
all'interfaccia
Estimator
. Il codice di esempio per questa serie include un modello basato suDNNRegressor
preimplementato. - Estimator personalizzato
DNN. Puoi usufruire di una maggiore flessibilità per includere tecniche avanzate nel
modello utilizzando un
Estimator
personalizzato. L'implementazione personalizzata diEstimator
nel codice di esempio illustra questa flessibilità incorporando il decadimento della frequenza di apprendimento e la normalizzazione batch.
Uno dei vantaggi delle reti neurali convoluzionali è che possono incorporare molte funzionalità. Di conseguenza, la loro qualità dipende spesso dalla creazione di funzionalità. La sezione relativa alla preparazione dei dati della Parte 2 di questa serie spiega come creare funzionalità dagli input disponibili per set di dati potenzialmente di grandi dimensioni.
Passaggi successivi
Leggi le parti successive di questa serie, che spiegano come implementare la previsione del CLV:
- Parte 2: addestramento del modello.
- Parte 3: esegui il deployment in produzione.
- Parte 4: utilizza AutoML Tables per il modello.
- Scopri altre soluzioni di previsione predittiva.
- Esplora architetture di riferimento, diagrammi e best practice su Google Cloud. Consulta il nostro Cloud Architecture Center.