Previsione del lifetime value cliente con AI Platform: introduzione

Questo articolo è la prima parte di una serie in quattro parti che spiega 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 le proprie pubblicità per singoli utenti o gruppi di utenti simili, ma non sempre commercializzano i loro prodotti per i più importanti. Il Principio Pareto è spesso citato in riferimento alle vendite, prevedendo che il 20% dei tuoi clienti rappresenta l'80% delle tue vendite. E se riuscissi a identificare quali dei tuoi clienti costituiscono il 20%, non solo da un punto di vista storico, ma anche in futuro? Prevedere il lifetime value cliente (CLV) è un modo per identificare tali clienti.

Gli obiettivi di questa serie sono i seguenti:

  • Spiega i concetti della modellazione CLV.
  • Confronta due approcci per la modellazione del CLV.
  • Mostra come implementare i modelli CLV su Google Cloud.

Questa soluzione mette a confronto due approcci diversi alla modellazione CLV: modelli probalistici 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 CLV per rispondere a questi tipi di domande sui clienti:

  • Numero di acquisti: quanti acquisti effettueranno i clienti in un determinato intervallo di tempo futuro?
  • Durata: quanto tempo trascorrerà prima che il cliente diventi inattivo definitivamente?
  • Valore monetario: quanto valore monetario genera il cliente in un determinato intervallo di tempo futuro?

Quando prevedi il lifetime value futuro, esistono due problemi distinti che richiedono strategie diverse per dati e modellazione:

  • Prevedere il valore futuro per i clienti esistenti con una cronologia delle transazioni nota.
  • Prevedere il valore futuro per i nuovi clienti che hanno appena effettuato il loro primo acquisto.

Questa serie si concentra sul primo problema.

Molte aziende prevedono i CLV solo osservando l'importo totale delle vendite, senza comprendere il contesto. Ad esempio, un cliente che effettua un ordine importante potrebbe essere meno redditizio di un altro cliente che acquista più volte, ma in quantità inferiori. La modellazione 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 assegnare la priorità alle azioni successive, ad esempio:

  • Decidi quanto investire nella pubblicità.
  • Decidi quali clienti scegliere come target con la pubblicità.
  • Pianifica il trasferimento dei clienti da un segmento a un 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 devi utilizzare questi modelli per le aziende che si basano su abbonamenti, account cliente o contratti che possono essere annullati. I modelli di questa serie presuppongono invece che gli utenti interagiscano con l'attività a piacimento, come nei negozi e-commerce in cui gli utenti possono effettuare acquisti in qualsiasi momento. Inoltre, i modelli descritti in questa serie sono applicati al meglio per prevedere il valore futuro per i clienti esistenti che dispongono di una cronologia di transazioni minima.

Concetti CLV: RFM

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

  • Recency: quando è stato l'ultimo ordine del cliente?
  • Frequenza: con che frequenza acquistano?
  • Monetario: quanto spendono?

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

Cronologia delle vendite per 4 clienti

Il diagramma illustra i valori RFM per i clienti, mostrati per ciascun cliente:

  • Recency: il tempo tra l'ultimo acquisto e oggi, rappresentato dalla distanza tra il cerchio più a destra e la linea verticale tratteggiata che ha l'etichetta Now.
  • Frequenza: il tempo tra gli acquisti, rappresentato dalla distanza tra i cerchi su una singola riga.
  • Moneta: l'importo speso per ogni acquisto, rappresentato dalle dimensioni del cerchio. Tale importo potrebbe essere il valore medio degli ordini o la quantità di prodotti ordinati dal cliente.

Nei modelli utilizzati in questa serie, solo i dati di vendita storici vengono utilizzati per calcolare il CLV. Gli input del valore RFM vengono calcolati dalla cronologia delle transazioni per ciascun cliente.

Due metodi di modellazione per il CLV

Come osservato in precedenza, questa serie di articoli mette a confronto due approcci per calcolare il CLV:

  • Modelli previstivi. 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 per ciascun cliente. Questi dati sono sufficienti per estrarre i valori RFM.
  • Modelli ML. Questi modelli sono un'ampia classe di modelli statistici ampiamente utilizzati in cui i parametri vengono adattati ai dati mediante addestramento con discesa del gradiente stocastica. I modelli ML possono utilizzare più funzionalità rispetto ai modelli probabilistici. In questa serie, utilizziamo modelli di rete neurale profonda (DNN), una classe popolare di modelli di ML. Mostriamo anche come utilizzare AutoML Tables per creare automaticamente un modello ML.

Per i modelli probabilistici, questa soluzione utilizza una libreria Lifetime esistente che si basa su DataFrame con Pandas. Potresti creare in TensorFlow una libreria equivalente per eseguire le stesse attività della libreria Lifetimes.

Modelli previstivi

I modelli probabilistici utilizzano valori RFM calcolati da un elenco di transazioni relative agli ordini. Ogni transazione è composta da ID cliente, data dell'ordine e valore dell'ordine. Modelli diversi sono adatti a modellare le diverse relazioni con i clienti. La parte 2 della serie di articoli mostra come utilizzare i seguenti modelli disponibili nella libreria Lifetimes:

  • Distribuzione binomiale parsi/negativa (NBD)
  • beta-geometrica (BG/NBD)

Pareto/NBD

Il modello Pareto/NBD è stato originariamente sviluppato da Schmittlein et al. Viene utilizzato per situazioni non contrattuali in cui i clienti possono effettuare acquisti in qualsiasi momento. Tramite quattro parametri, descrive la frequenza con cui i clienti effettuano acquisti e la frequenza con cui smettono di essere clienti dell'attività. Si utilizza il modello ottimizzando i parametri per fornire un adattamento ottimale a un set di dati RFM.

BG/NB

Il modello Pareto/NBD è stato ampiamente utilizzato, ma è difficile da implementare, poiché la stima dei parametri è estremamente complessa. Per affrontare questi dubbi, 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 fare acquisti in qualsiasi momento. Il modello BG/NBD utilizza anche quattro parametri per descrivere la frequenza con la quale i clienti effettuano acquisti e la frequenza con cui abbandonano. Tuttavia, l'implementazione del modello BG/NBD è più semplice rispetto a Pareto/NBD e avviene più rapidamente. I due modelli tendono a produrre risultati simili.

Calcolo del CLV con modelli probabilistici

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

  1. Preelabora i dati della transazione 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 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 dai soli 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 che puoi utilizzare per calcolare il CLV in base a un modello probilistico adatto. Scoprirai di più sull'utilizzo della libreria Lifetimes per generare previsioni CLV nella parte 2 della serie.

Modelli di machine learning

I modelli ML rappresentano una buona alternativa ai modelli probabilistici. Questi articoli trattano l'utilizzo dei DNN, che vengono implementati in TensorFlow tramite l'interfaccia Estimator.

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

  • Normalizzazione batch, che offre i seguenti vantaggi:

    • Normalizza e decora i valori numerici delle caratteristiche. Poiché la normalizzazione batch esegue questo passaggio, non devi farlo autonomamente.
    • Riduce al minimo l'impatto delle variazioni di ponderazione nel tempo, incidendo sull'importanza di ciascuna funzionalità.
  • Decadimento del tasso di apprendimento In cui il tasso di apprendimento viene diminuito in modo esponenziale nel tempo, contribuendo a prevenire le oscillazioni della perdita quando il tasso di apprendimento si avvicina al minimo.

Questo insieme di articoli mostra due implementazioni di DNN in TensorFlow:

  1. Strumento di stima in scatola DNN. TensorFlow include modelli DNN preimplementati conformi all'interfaccia di Estimator. Il codice di esempio per questa serie include un modello basato sull'elemento DNNRegressor implementato precedentemente.
  2. Strumento di stima personalizzato DNN. Ottieni una maggiore flessibilità per includere tecniche avanzate nel modello utilizzando un Estimator personalizzato. L'implementazione Estimator personalizzata nel codice di esempio illustra questa flessibilità incorporando il decadimento della frequenza di apprendimento e la normalizzazione batch.

Uno dei vantaggi dei DNN è la possibilità di 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 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 CLV: