Previsione del lifetime value cliente con AI Platform: introduzione

Last reviewed 2019-02-06 UTC

Questo articolo è la prima parte di una serie in quattro parti che illustra come prevedere il lifetime value cliente (CLV) utilizzando AI Platform (AI Platform) su Google Cloud.

Gli articoli di questa serie includono:

Panoramica

Molti inserzionisti cercano di personalizzare i loro annunci per individui o gruppi di utenti simili, ma non sempre fanno pubblicità ai loro clienti più importanti. Il principio di Pareto viene spesso citato in riferimento alle vendite, prevedendo che il 20% dei clienti rappresenti l'80% delle vendite. E se potessi identificare quali dei tuoi clienti rappresentano tale 20%, non solo a livello storico, ma anche in futuro? La previsione del lifetime value cliente (CLV) è un modo per identificare questi clienti.

Gli obiettivi di questa serie sono i seguenti:

  • Spiegare i concetti della definizione del modello CLV.
  • Confrontare due approcci alla modellazione CLV.
  • Mostrare come implementare i modelli di CLV su Google Cloud.

Questa soluzione mette a confronto due diversi approcci alla modellazione CLV: i modelli probabilistici e i 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 definizione dei modelli 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: qual è il valore monetario che il cliente genererà in un determinato intervallo di tempo futuro?

Quando prevedi il lifetime value futuro, esistono due problemi distinti che richiedono dati e strategie di definizione dei modelli diverse:

  • 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 comprenderne il contesto. Ad esempio, un cliente che effettua un ordine grande potrebbe essere meno redditizio di un altro cliente che effettua un acquisto più volte, ma in quantità inferiori. La definizione del modello di 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 clienti, puoi dare priorità alle azioni successive, ad esempio:

  • Decidi quanto investire nella pubblicità.
  • Decidi a quali clienti scegliere come target la pubblicità.
  • Pianifica come spostare i clienti da un segmento all'altro.

I modelli utilizzati in questa serie non sono adatti alle attività in cui puoi osservare e misurare direttamente il tasso di abbandono dei clienti. Ad esempio, non dovresti utilizzare questi modelli per le aziende che si basano su abbonamenti, account dei clienti o contratti che possono essere annullati. I modelli di questa serie presumono invece che gli utenti interagiscano con l'attività a loro piacimento, ad esempio nei negozi di e-commerce in cui gli utenti possono effettuare acquisti in qualsiasi momento. Inoltre, i modelli descritti in questa serie vengono applicati al meglio per prevedere il valore futuro per i clienti esistenti con una cronologia delle transazioni minima.

Concetti del CLV: RFM

Tre input importanti nei modelli di CLV sono recency, frequenza e valore monetario:

  • Recency: Quando è stato l'ultimo ordine del cliente?
  • Frequenza: con quale frequenza acquistano?
  • Valore monetario: quanto spendono?

Il seguente diagramma mostra una successione di vendite passate per un insieme di quattro clienti.

Cronologia delle vendite per 4 clienti

Il diagramma illustra i valori RFM per i clienti, mostrando per ciascuno di essi:

  • Recency: il tempo trascorso tra l'ultimo acquisto e la data odierna, rappresentato dalla distanza tra il cerchio più a destra e la linea tratteggiata verticale denominata Ora.
  • Frequenza: il tempo che intercorre tra un acquisto e l'altro, rappresentato dalla distanza tra i cerchi su una singola riga.
  • Valore monetario: la quantità di denaro spesa per ogni acquisto, rappresentata dalle dimensioni del cerchio. Potrebbe trattarsi del valore medio dell'ordine o della quantità di prodotti ordinati dal cliente.

Nei modelli utilizzati in questa serie, per calcolare il CLV vengono utilizzati solo i dati storici delle vendite. Gli input dei valori RFM vengono calcolati dalla cronologia delle transazioni per ciascun cliente.

Due metodi di modellazione per il CLV

Come indicato in precedenza, questa serie di articoli mette a confronto due approcci per il calcolo del CLV:

  • 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 nella 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 estesa e ampiamente utilizzata di modelli statistici in cui i parametri si adattano ai dati mediante l'addestramento con discesa del gradiente stocastico. i modelli ML possono usare più caratteristiche rispetto ai modelli probabilistici. In questa serie, utilizziamo i modelli DNN (Deep Neural Network), una classe diffusa di modelli ML. Mostriamo anche come usare AutoML Tables per creare automaticamente un modello ML.

Per i modelli probabilistici, questa soluzione utilizza una libreria di lifetime esistente che si basa su DataFrames con Pandas. Potresti 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 ordini. Ogni transazione è composta da un ID cliente, una data dell'ordine e un valore dell'ordine. Modelli diversi sono adatti per modellare relazioni diverse con i clienti. La parte 2 della serie di articoli mostra come utilizzare i seguenti modelli disponibili nella libreria Lifetimes:

  • Distribuzione binomiale negativa/paretetica
  • Beta-geometrico (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 effettuano acquisti e la frequenza con cui cessano di essere clienti dell'attività. Puoi utilizzare il modello ottimizzando i parametri per adattare al meglio un set di dati RFM.

BG/NBD

Il modello Pareto/NBD è stato ampiamente utilizzato, ma è difficile da implementare, perché la stima dei parametri richiede un'elevata capacità di calcolo. 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 inoltre quattro parametri per descrivere la frequenza con cui i clienti effettuano acquisti e la percentuale di abbandono. Tuttavia, il modello BG/NBD è più facile da implementare rispetto a Pareto/NBD ed è più veloce. I due modelli tendono a fornire risultati simili.

Calcolo del CLV con modelli probabilistici

L'uso dei modelli probabilistici è un processo in più fasi. Il codice nel modello esegue le seguenti attività:

  1. Pre-elabora i dati delle transazioni per calcolare i valori RFM.
  2. Utilizza il modulo Lifetimes per ottimizzare i parametri del modello appropriato, Pareto/NBD o BG/NBD, per adattare i dati RFM.
  3. Calcola il valore monetario previsto per ciascun cliente.

Creare un modello per il valore monetario è un'operazione complessa perché molti parametri, ad esempio i prezzi dei prodotti che cambiano nel tempo, non sono rappresentati solo dai dati delle 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. Nella Parte 2 della serie scoprirai di più sull'utilizzo della libreria dei lifetime per generare previsioni del CLV.

Modelli di machine learning

I modelli di ML rappresentano una buona alternativa ai modelli probabilistici. In questi articoli viene illustrato l'utilizzo di DNN, che possono essere implementati in TensorFlow tramite l'interfaccia Estimator.

Questa soluzione utilizza due tecniche per migliorare le prestazioni dei DNN:

  • Normalizzazione in batch, che offre i seguenti vantaggi:

    • Normalizza e decorrela i valori numerici nelle caratteristiche. Poiché la normalizzazione batch esegue questo passaggio, non devi eseguire l'operazione autonomamente.
    • Riduce al minimo l'impatto della modifica dei pesi nel tempo, il che influisce sull'importanza di ogni funzionalità.
  • Decadimento del tasso di apprendimento che diminuisce in modo esponenziale nel tempo, contribuendo a impedire le oscillazioni della perdita quando il tasso di apprendimento si avvicina al minimo.

Questa serie di articoli mostra due implementazioni di DNN in TensorFlow:

  1. Strumento per la stima predefinita DNN. TensorFlow include modelli DNN pre-implementati conformi all'interfaccia Estimator. Il codice campione per questa serie include un modello basato sul codice DNNRegressor preimplementato.
  2. Strumento per la stima personalizzata DNN. Puoi ottenere una maggiore flessibilità per includere tecniche avanzate nel modello utilizzando un elemento Estimator personalizzato. L'implementazione personalizzata di Estimator nel codice campione illustra questa flessibilità, incorporando il decadimento del tasso di apprendimento e la normalizzazione in batch.

Uno dei vantaggi dei DNN è che possono incorporare molte funzionalità. Di conseguenza, la loro qualità spesso dipende dal feature engineering. La sezione sulla preparazione dei dati della Parte 2 di questa serie spiega come creare caratteristiche 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: