Prevedere il lifetime value cliente con AI Platform: introduzione

Last reviewed 2019-02-06 UTC

Questo articolo è la prima parte di una serie di 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 pubblicità in base a persone o gruppi di utenti simili, ma non sempre pubblicizzano i loro prodotti e servizi ai clienti più importanti. Il principio di Patto spesso viene citato nelle vendite, secondo le quali il 20% dei clienti rappresenta l'80% delle vendite. E se riuscissi a identificare i clienti che rappresentano quel 20%, non solo storicamente, ma anche in futuro? La previsione del lifetime value cliente (CLV) è un modo per identificarli.

Gli obiettivi di questa serie sono i seguenti:

  • Spiegare i concetti di 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: i modelli probabilistici e i modelli di machine learning (ML). Fornisce un'implementazione di ogni approccio e presenta i risultati quando ciascun modello viene applicato a un set di dati pubblico. Gli articoli della serie sono incentrati 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?
  • Durata: quanto tempo trascorrerà prima che il cliente diventi definitivamente inattivo?
  • Valore monetario: quanto valore monetario genera il cliente in un determinato intervallo di tempo futuro?

Quando prevedi il lifetime value futuro, ci sono due problemi distinti che richiedono dati e strategie di definizione diversi:

  • Prevedi il valore futuro per i clienti esistenti che hanno una cronologia delle transazioni nota.
  • Prevedi il valore futuro per i 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 interpretare il contesto. Ad esempio, un cliente che effettua un ordine grande potrebbe avere un valore inferiore rispetto a un altro cliente che effettua più acquisti, ma in quantità inferiori. La modellazione del CLV può aiutarti a comprendere meglio il profilo di acquisto dei tuoi clienti e a valutare la tua attività con maggiore precisione.

Utilizzando gli approcci descritti in questa serie per prevedere il valore dei 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 il trasferimento dei 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 devi utilizzare questi modelli per le attività basate su abbonamenti, account cliente o contratti che possono essere annullati. I modelli di questa serie suppongono che gli utenti interagiscano con l'azienda a loro piacimento, ad esempio nei negozi e-commerce in cui gli utenti possono effettuare acquisti in qualsiasi momento, Inoltre, i modelli descritti in questa serie sono la soluzione migliore per prevedere il valore futuro per i clienti esistenti che hanno almeno una quantità moderata di cronologia delle transazioni.

Concetti sul CLV: RFM

Esistono tre input importanti nei modelli CLV: recency, frequenza e valore monetario:

  • Recency: quando è stato l'ultimo ordine del cliente?
  • Frequenza: con quale frequenza acquistano?
  • Valuta: quale importo spende?

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 ogni cliente:

  • Recency: il tempo tra l'ultimo acquisto e la data odierna, rappresentato dalla distanza tra il cerchio più a destra e la linea tratteggiata verticale contrassegnata con Now.
  • Frequenza: il tempo che intercorre tra gli acquisti, rappresentato dalla distanza tra i cerchi su una singola riga.
  • Valuta: l'importo speso per ogni acquisto, rappresentato dalla dimensione del cerchio. Tale quantità può corrispondere al valore medio dell'ordine o alla quantità di prodotti ordinati dal cliente.

Nei modelli utilizzati in questa serie, solo i dati storici sulle vendite vengono utilizzati per calcolare il CLV. Gli input per il valore RFM vengono calcolati in base alla cronologia delle transazioni per ogni cliente.

Due metodi di modellazione per il CLV

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

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

Per i modelli probabilistici, questa soluzione utilizza una libreria lifetime esistente che si basa sui dataframe con Pandas. Potenzialmente potresti creare una libreria equivalente in TensorFlow per eseguire le stesse attività della libreria Lifetimes.

Modelli probabilitàsti

I modelli proprietari 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. 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 Qualsiasi lifetime:

  • Distribuzione binomiale da paroto/negativo (NBD)
  • Beta-geometrica (BG/NBD)

Pareto e NBD

Il modello Pareto/NBD è stato originariamente sviluppato da Schmittlein et al. Questo modello viene utilizzato in situazioni non contrattuali in cui i clienti possono effettuare acquisti in qualsiasi momento. Utilizza quattro parametri, in cui descrive la frequenza con cui i clienti effettuano acquisti e la frequenza con cui smettono di essere clienti dell'attività. Puoi utilizzare il modello ottimizzando i parametri per fornire l'idoneità migliore per un insieme di dati RFM.

BG/NBD

Il modello Pareto/NBD è stato ampiamente utilizzato, ma è difficile da implementare perché la stima dei parametri è molto intensa. 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 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, è più facile implementare il modello BG/NBD rispetto a Pareto/NBD e viene eseguito più velocemente. I due modelli tendono a produrre risultati simili.

Calcolo del CLV con i modelli probabilistici

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

  1. Pre-elabora i dati delle transazioni per calcolare i valori RFM.
  2. Utilizza il modulo Durata per ottimizzare i parametri del modello appropriato, Pareto/NBD o BG/NBD, in modo da adattarsi ai dati RFM.
  3. Calcola il valore monetario previsto per ogni cliente.

La creazione di un modello per il valore monetario è complessa, in quanto molti parametri, come i prezzi dei prodotti che cambiano nel corso del tempo, non sono rappresentati esclusivamente dai dati delle transazioni. Il metodo probabilistico presuppone che il valore monetario segua una distribuzione di gamma gamma. Il codice della libreria Lifetime include un metodo di distribuzione gamma-gamma che puoi utilizzare per calcolare il CLV da un modello probabilistico adatto. Scoprirai di più sull'utilizzo della libreria Lifetime per generare previsioni del CLV nella Parte 2 della serie.

Modelli di machine learning

I modelli ML rappresentano una buona alternativa ai modelli probabilistici. In questi articoli viene illustrato l'utilizzo dei DNN, che implementi in TensorFlow utilizzando l'interfaccia Estimator.

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

  • Normalizzazione batch, che offre i seguenti vantaggi:

    • Normalizza e decorare i valori numerici delle funzionalità. Poiché la normalizzazione batch esegue questo passaggio, non è necessario farlo autonomamente.
    • Riduce al minimo l'impatto della modifica dei pesi nel tempo, influenzando l'importanza di ogni funzionalità.
  • Decadimento tasso di apprendimento in cui il tasso di apprendimento è diminuito in modo esponenziale nel tempo, contribuendo a evitare oscillazioni nella 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 predefinito DNN. TensorFlow include modelli DNN preimplementati e conformi all'interfaccia di Estimator. Il codice di esempio per questa serie include un modello basato sull'DNNRegressor preimplementato.
  2. Strumento di stima personalizzato DNN. Puoi ottenere una maggiore flessibilità per includere tecniche avanzate nel modello utilizzando un Estimator personalizzato. L'implementazione personalizzata di Estimator nel codice campione illustra questa flessibilità incorporando il decadimento della percentuale di apprendimento e la normalizzazione batch.

Uno dei vantaggi dei nomi non personalizzati è che possono incorporare molte funzionalità. Di conseguenza, spesso la loro qualità dipende dalle funzionalità tecniche. La sezione di preparazione dei dati della Parte 2 di questa serie spiega come creare caratteristiche a partire dagli input disponibili per set di dati potenzialmente di grandi dimensioni.

Passaggi successivi

Consulta le parti successive di questa serie che spiegano come implementare la previsione del CLV: