Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale

A volte, per risolvere un problema, basta guardarlo da una prospettiva diversa. Anche se negli ultimi 10 anni problemi simili sono stati risolti allo stesso modo con effetti diversi, non è un dato di fatto che questo metodo sia l'unico.

Esiste un argomento come l'abbandono dei clienti. La cosa è inevitabile, perché i clienti di qualsiasi azienda possono, per molte ragioni, smettere di utilizzare i suoi prodotti o servizi. Naturalmente, per un'azienda, l'abbandono è un'azione naturale, ma non la più desiderabile, quindi tutti cercano di minimizzare questo abbandono. Meglio ancora, prevedere la probabilità di abbandono per una particolare categoria di utenti, o un utente specifico, e suggerire alcuni passaggi per fidelizzarli.

È necessario analizzare e cercare di fidelizzare il cliente, se possibile, almeno per i seguenti motivi:

  • attirare nuovi clienti è più costoso delle procedure di fidelizzazione. Per attirare nuovi clienti, di norma, è necessario spendere dei soldi (pubblicità), mentre i clienti esistenti possono essere attivati ​​con un'offerta speciale a condizioni speciali;
  • Comprendere le ragioni per cui i clienti se ne vanno è la chiave per migliorare prodotti e servizi.

Esistono approcci standard per prevedere il tasso di abbandono. Ma in uno dei campionati di intelligenza artificiale abbiamo deciso di provare la distribuzione Weibull per questo. Viene spesso utilizzato per analisi di sopravvivenza, previsioni meteorologiche, analisi di catastrofi naturali, ingegneria industriale e simili. La distribuzione di Weibull è una funzione di distribuzione speciale parametrizzata da due parametri Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale и Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale.

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale
Wikipedia

In generale è una cosa interessante, ma per prevedere i deflussi, e nel fintech in generale, non viene utilizzata così spesso. Sotto il taglio vi racconteremo come noi (Data Mining Laboratory) abbiamo fatto questo, vincendo contemporaneamente l'oro al Campionato di Intelligenza Artificiale nella categoria "AI in Banks".

A proposito di abbandono in generale

Capiamo un po' cos'è il tasso di abbandono dei clienti e perché è così importante. Una base di clienti è importante per un'azienda. Nuovi clienti arrivano a questa base, ad esempio, dopo aver appreso di un prodotto o servizio da una pubblicità, vivono per un po '(utilizzano attivamente i prodotti) e dopo un po' smettono di usarlo. Questo periodo è chiamato "ciclo di vita del cliente", un termine che descrive le fasi che un cliente attraversa quando viene a conoscenza di un prodotto, prende una decisione di acquisto, paga, utilizza e diventa un consumatore fedele e, infine, smette di utilizzare il prodotto. per un motivo o per l'altro. Di conseguenza, l'abbandono è la fase finale del ciclo di vita del cliente, quando il cliente smette di utilizzare i servizi e per un'azienda ciò significa che il cliente ha smesso di portare profitti o qualsiasi beneficio.

Ogni cliente bancario è una persona specifica che sceglie l'una o l'altra carta bancaria appositamente per le sue esigenze. Se viaggi spesso, una carta con miglia ti tornerà utile. Compra molto - ciao, carta cashback. Compra molto in negozi specifici e per questo esiste già un partner speciale in plastica. Naturalmente, a volte la carta viene selezionata in base al criterio "Servizio più economico". In generale, ci sono abbastanza variabili qui.

E una persona sceglie anche la banca stessa: ha senso scegliere una carta da una banca le cui filiali sono solo a Mosca e nella regione, quando sei di Khabarovsk? Anche se una carta di una banca del genere è almeno 2 volte più redditizia, la presenza di filiali bancarie nelle vicinanze è comunque un criterio importante. Sì, il 2019 è già arrivato e il digitale è il nostro tutto, ma alcuni problemi con alcune banche possono essere risolti solo in filiale. Inoltre, ancora una volta, una parte della popolazione si fida molto di più di una banca fisica che di un'applicazione su uno smartphone, anche questo deve essere preso in considerazione.

Di conseguenza, una persona può avere molte ragioni per rifiutare i prodotti bancari (o la banca stessa). Ho cambiato lavoro e la tariffa della carta è passata dallo stipendio a "Per semplici mortali", che è meno redditizio. Mi sono trasferito in un'altra città dove non ci sono filiali bancarie. Non mi è piaciuta l'interazione con l'operatore non qualificato della filiale. Cioè, potrebbero esserci ancora più motivi per chiudere un account che per utilizzare il prodotto.

E il cliente non solo può esprimere chiaramente la sua intenzione: venire in banca e scrivere una dichiarazione, ma semplicemente smettere di utilizzare i prodotti senza rescindere il contratto. Si è deciso di utilizzare l’apprendimento automatico e l’intelligenza artificiale per comprendere tali problemi.

Inoltre, l'abbandono dei clienti può verificarsi in qualsiasi settore (telecomunicazioni, fornitori di servizi Internet, compagnie di assicurazione, in generale, ovunque vi sia una base di clienti e transazioni periodiche).

Cosa abbiamo fatto

Prima di tutto, era necessario descrivere un confine chiaro: da quale momento iniziamo a considerare che il cliente se n'è andato. Dal punto di vista della banca che ci ha fornito i dati per il nostro lavoro, lo stato di attività del cliente era binario: è attivo oppure no. Nella tabella "Attività" era presente un flag ACTIVE_FLAG, il cui valore poteva essere "0" o "1" ("Inattivo" e "Attivo" rispettivamente). E tutto andrebbe bene, ma una persona è tale da poterlo utilizzare attivamente per un po 'di tempo, e poi uscire dall'elenco attivo per un mese: si è ammalato, è andato in vacanza in un altro paese o addirittura è andato a testare un carta di un'altra banca. O magari, dopo un lungo periodo di inattività, ricominciare a utilizzare i servizi della banca

Pertanto, abbiamo deciso di chiamare periodo di inattività un certo periodo di tempo continuo durante il quale il relativo flag era impostato su "0".

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale

I clienti passano da inattivi ad attivi dopo periodi di inattività di varia durata. Abbiamo l'opportunità di calcolare il grado di valore empirico “affidabilità dei periodi di inattività”, ovvero la probabilità che una persona ricominci a utilizzare i prodotti bancari dopo una temporanea inattività.

Ad esempio, questo grafico mostra la ripresa dell'attività (ACTIVE_FLAG=1) dei client dopo diversi mesi di inattività (ACTIVE_FLAG=0).

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale

Qui faremo un po' di chiarezza sul set di dati con cui abbiamo iniziato a lavorare. Pertanto, la banca ha fornito informazioni aggregate per 19 mesi nelle seguenti tabelle:

  • "Attività" - transazioni mensili dei clienti (tramite carte, Internet banking e mobile banking), comprese buste paga e informazioni sul fatturato.
  • "Carte": dati su tutte le carte di cui dispone il cliente, con un programma tariffario dettagliato.
  • "Contratti" - informazioni sui contratti del cliente (sia aperti che chiusi): prestiti, depositi, ecc., indicando i parametri di ciascuno.
  • "Clienti": un insieme di dati demografici (sesso ed età) e la disponibilità delle informazioni di contatto.

Per il lavoro avevamo bisogno di tutte le tavole tranne la “Mappa”.

C'era un'altra difficoltà qui: in questi dati la banca non ha indicato quale tipo di attività si è svolta sulle carte. Potremmo cioè capire se ci sono state transazioni o meno, ma non potremmo più determinarne la tipologia. Pertanto non era chiaro se il cliente prelevasse contanti, ricevesse uno stipendio o spendesse i soldi per acquisti. Inoltre non disponevamo di dati sui saldi dei conti, il che sarebbe stato utile.

Il campione stesso era imparziale: in questa sezione, per 19 mesi, la banca non ha tentato di fidelizzare i clienti e ridurre al minimo i deflussi.

Quindi, riguardo ai periodi di inattività.

Per formulare una definizione di abbandono è necessario selezionare un periodo di inattività. Per creare una previsione di abbandono in un determinato momento Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale, devi avere uno storico clienti di almeno 3 mesi a intervalli Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale. La nostra cronologia era limitata a 19 mesi, quindi abbiamo deciso di prenderci un periodo di inattività di 6 mesi, se disponibile. E per il periodo minimo per una previsione di alta qualità, abbiamo impiegato 3 mesi. Abbiamo preso le cifre per 3 e 6 mesi empiricamente sulla base di un'analisi del comportamento dei dati dei clienti.

Abbiamo formulato la definizione di abbandono come segue: mese di abbandono del cliente Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale questo è il primo mese con ACTIVE_FLAG=0, dove da questo mese ci sono almeno sei zeri consecutivi nel campo ACTIVE_FLAG, cioè il mese da cui il cliente è rimasto inattivo per 6 mesi.

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale
Numero di clienti che se ne sono andati

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale
Numero di clienti rimanenti

Come viene calcolato il tasso di abbandono?

In tali competizioni, e nella pratica in generale, il deflusso è spesso previsto in questo modo. Il cliente utilizza prodotti e servizi in diversi periodi di tempo, i dati sull'interazione con lui sono rappresentati come un vettore di caratteristiche di lunghezza fissa n. Molto spesso queste informazioni includono:

  • Dati che caratterizzano l'utente (dati demografici, segmento di marketing).
  • Storia dell'utilizzo di prodotti e servizi bancari (si tratta di azioni del cliente che sono sempre legate a un momento o periodo specifico dell'intervallo di cui abbiamo bisogno).
  • Dati esterni, se è stato possibile ottenerli, ad esempio recensioni dai social network.

Successivamente derivano una definizione di abbandono, diversa per ogni attività. Quindi utilizzano un algoritmo di apprendimento automatico, che prevede la probabilità che un cliente se ne vada Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale sulla base di un vettore di fattori Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale. Per addestrare l'algoritmo viene utilizzato uno dei framework più noti per la costruzione di insiemi di alberi decisionali, XGBoost, LuceGBM, Cat Boost o modifiche dello stesso.

L’algoritmo in sé non è male, ma presenta diversi gravi svantaggi quando si tratta di prevedere il tasso di abbandono.

  • Non ha la cosiddetta “memoria”. L'input del modello è un numero specificato di funzionalità che corrispondono al momento corrente. Per memorizzare informazioni sulla cronologia delle modifiche dei parametri, è necessario calcolare le caratteristiche speciali che caratterizzano le modifiche dei parametri nel tempo, ad esempio il numero o l'importo delle transazioni bancarie negli ultimi 1,2,3, XNUMX, XNUMX mesi. Questo approccio può riflettere solo parzialmente la natura dei cambiamenti temporanei.
  • Orizzonte di previsione fisso. Il modello è in grado di prevedere l'abbandono dei clienti solo per un periodo di tempo predefinito, ad esempio una previsione con un mese di anticipo. Se è necessaria una previsione per un periodo di tempo diverso, ad esempio tre mesi, è necessario ricostruire il set di training e addestrare nuovamente un nuovo modello.

Il nostro approccio

Abbiamo deciso subito che non avremmo utilizzato approcci standard. Oltre a noi, al campionato si sono iscritte altre 497 persone, ognuna delle quali aveva alle spalle una notevole esperienza. Quindi provare a fare qualcosa secondo uno schema standard in tali condizioni non è una buona idea.

E abbiamo iniziato a risolvere i problemi del modello di classificazione binaria prevedendo la distribuzione di probabilità dei tempi di abbandono dei clienti. Si può osservare un approccio simile qui, consente di prevedere il tasso di abbandono in modo più flessibile e di testare ipotesi più complesse rispetto all'approccio classico. Come famiglia di distribuzioni che modellano il tempo di deflusso, abbiamo scelto la distribuzione Weibull per il suo uso diffuso nell’analisi di sopravvivenza. Il comportamento del cliente può essere visto come una sorta di sopravvivenza.

Ecco alcuni esempi di distribuzioni di densità di probabilità di Weibull in base ai parametri Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale и Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale:

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale

Questa è la funzione di densità di probabilità di tre diversi clienti che abbandonano nel tempo. Il tempo è presentato in mesi. In altre parole, questo grafico mostra quando è più probabile che un cliente abbandoni nei prossimi due mesi. Come puoi vedere, un cliente con una distribuzione ha un potenziale maggiore di abbandonare prima rispetto ai clienti con Weibull(2, 0.5) e Weibull (3,1) distribuzioni.

Il risultato è un modello che, per ogni cliente, per ogni
mese predice i parametri della distribuzione di Weibull, che meglio riflette il verificarsi della probabilità di deflusso nel tempo. Più in dettaglio:

  • Le caratteristiche target del set di formazione sono il tempo rimanente fino all'abbandono in un mese specifico per un cliente specifico.
  • Se non esiste un tasso di abbandono per un cliente, presupponiamo che il tempo di abbandono sia maggiore del numero di mesi dal mese corrente alla fine della cronologia a nostra disposizione.
  • Modello utilizzato: rete neurale ricorrente con strato LSTM.
  • Come funzione di perdita, utilizziamo la funzione di verosimiglianza negativa per la distribuzione di Weibull.

Ecco i vantaggi di questo metodo:

  • La distribuzione delle probabilità, oltre all’ovvia possibilità di classificazione binaria, consente di prevedere in modo flessibile diversi eventi, ad esempio se un cliente smetterà di utilizzare i servizi della banca entro 3 mesi. Inoltre, se necessario, è possibile calcolare la media di vari parametri su questa distribuzione.
  • La rete neurale ricorrente LSTM ha memoria e utilizza in modo efficace l'intera cronologia disponibile. Man mano che la storia viene ampliata o perfezionata, la precisione aumenta.
  • L'approccio può essere facilmente adattato quando si dividono periodi di tempo in periodi più piccoli (ad esempio, quando si dividono i mesi in settimane).

Ma non basta creare un buon modello: occorre anche valutarne adeguatamente la qualità.

Come è stata valutata la qualità?

Abbiamo scelto la curva di sollevamento come metrica. Viene utilizzato negli affari per questi casi a causa della sua chiara interpretazione, è ben descritto qui и qui. Se descrivessi il significato di questa metrica in una frase, sarebbe “Quante volte l’algoritmo fa la previsione migliore nella prima? Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale% che in modo casuale."

Modelli formativi

Le condizioni della competizione non hanno stabilito una metrica di qualità specifica attraverso la quale i diversi modelli e approcci possano essere confrontati. Inoltre, la definizione di abbandono può essere diversa e dipendere dalla definizione del problema, che, a sua volta, è determinata dagli obiettivi aziendali. Pertanto, per capire quale sia il metodo migliore, abbiamo addestrato due modelli:

  1. Un approccio di classificazione binaria comunemente utilizzato che utilizza un algoritmo di apprendimento automatico dell'albero decisionale dell'insieme (LuceGBM);
  2. Modello Weibull-LSTM

Il set di test consisteva in 500 clienti preselezionati che non erano presenti nel set di training. Gli iperparametri sono stati selezionati per il modello utilizzando la convalida incrociata, suddivisi per cliente. Gli stessi set di funzionalità sono stati utilizzati per addestrare ciascun modello.

Dato che il modello non dispone di memoria, sono state adottate caratteristiche speciali che mostrano il rapporto tra le variazioni dei parametri in un mese e il valore medio dei parametri negli ultimi tre mesi. Ciò che ha caratterizzato il tasso di variazione dei valori nell'ultimo periodo di tre mesi. Senza questo, il modello basato sulla Random Forest sarebbe in svantaggio rispetto a Weibull-LSTM.

Perché LSTM con distribuzione Weibull è migliore di un approccio ad albero decisionale d'insieme

Tutto è chiaro qui in solo un paio di immagini.

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale
Confronto della curva di portanza per l'algoritmo classico e Weibull-LSTM

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale
Confronto della metrica della curva di sollevamento per mese per l'algoritmo classico e Weibull-LSTM

In generale, LSTM è superiore all’algoritmo classico in quasi tutti i casi.

Previsione del tasso di abbandono

Un modello basato su una rete neurale ricorrente con celle LSTM con distribuzione Weibull può prevedere il tasso di abbandono in anticipo, ad esempio, prevedere il tasso di abbandono dei clienti entro i prossimi n mesi. Consideriamo il caso n = 3. In questo caso, per ogni mese, la rete neurale deve determinare correttamente se il cliente lascerà, a partire dal mese successivo e fino all'ennesimo mese. In altre parole, deve determinare correttamente se il cliente rimarrà dopo n mesi. Questa può essere considerata una previsione in anticipo: prevedere il momento in cui il cliente stava appena iniziando a pensare di partire.

Confrontiamo la curva di sollevamento per Weibull-LSTM 1, 2 e 3 mesi prima dell'abbandono:

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale

Abbiamo già scritto sopra che sono importanti anche le previsioni fatte per i clienti non più attivi da tempo. Pertanto, qui aggiungeremo al campione i casi in cui il cliente che se n'è andato è già inattivo da uno o due mesi, e controlleremo che Weibull-LSTM classifichi correttamente tali casi come abbandono. Poiché tali casi erano presenti nel campione, ci aspettiamo che la rete li gestisca bene:

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale

Fidelizzazione dei clienti

In realtà, questa è la cosa principale che si può fare, avendo in mano l'informazione che alcuni clienti si stanno preparando a smettere di usare il prodotto. Parlando di costruire un modello che possa offrire qualcosa di utile ai clienti per fidelizzarli, questo non può essere fatto se non si ha una storia di tentativi simili che andrebbero a buon fine.

Non avevamo una storia del genere, quindi abbiamo deciso in questo modo.

  1. Stiamo costruendo un modello che identifichi prodotti interessanti per ogni cliente.
  2. Ogni mese eseguiamo il classificatore e identifichiamo i clienti potenzialmente in uscita.
  3. Offriamo ad alcuni clienti il ​​prodotto, secondo il modello del punto 1, e ricordiamo le nostre azioni.
  4. Dopo alcuni mesi, esaminiamo quali di questi clienti potenzialmente in uscita se ne sono andati e quali sono rimasti. Pertanto, formiamo un campione di addestramento.
  5. Addestriamo il modello utilizzando la storia ottenuta nel passaggio 4.
  6. Facoltativamente, ripetiamo la procedura, sostituendo il modello del passaggio 1 con il modello ottenuto nel passaggio 5.

Un test della qualità di tale fidelizzazione può essere effettuato mediante regolari test A/B: dividiamo i clienti che potenzialmente lasciano in due gruppi. Offriamo prodotti a uno in base al nostro modello di fidelizzazione e all'altro non offriamo nulla. Abbiamo deciso di addestrare un modello che potrebbe essere utile già al punto 1 del nostro esempio.

Volevamo rendere la segmentazione quanto più interpretabile possibile. Per fare ciò, abbiamo scelto diverse caratteristiche che potrebbero essere facilmente interpretate: il numero totale di transazioni, i salari, il fatturato totale del conto, l’età, il sesso. Le caratteristiche della tabella "Mappe" non sono state prese in considerazione in quanto non informative, e le caratteristiche della tabella 3 "Contratti" non sono state prese in considerazione a causa della complessità dell'elaborazione al fine di evitare perdite di dati tra il set di validazione e il set di addestramento.

Il clustering è stato effettuato utilizzando modelli di miscela gaussiana. Il criterio informativo di Akaike ci ha permesso di determinare 2 ottimali. Il primo ottimo corrisponde a 1 cluster. Il secondo ottimo, meno pronunciato, corrisponde a 80 cluster. Sulla base di questo risultato possiamo trarre la seguente conclusione: è estremamente difficile dividere i dati in cluster senza informazioni fornite a priori. Per un migliore clustering, sono necessari dati che descrivano dettagliatamente ciascun cliente.

Pertanto è stato considerato il problema dell'apprendimento supervisionato per offrire ad ogni singolo cliente un prodotto diverso. Sono stati considerati i seguenti prodotti: “Deposito a termine”, “Carta di credito”, “Scoperto di conto”, “Prestito al consumo”, “Prestito auto”, “Mutuo”.

I dati includevano un'altra tipologia di prodotto: “Conto corrente”. Ma non lo abbiamo considerato a causa del suo scarso contenuto informativo. Per gli utenti che sono clienti bancari, ad es. non ha smesso di utilizzare i suoi prodotti, è stato costruito un modello per prevedere quale prodotto potrebbe interessargli. Come modello è stata scelta la regressione logistica e come metrica di valutazione della qualità è stato utilizzato il valore Lift per i primi 10 percentili.

La qualità del modello può essere valutata nella figura.

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale
Risultati del modello di raccomandazione del prodotto per i clienti

risultato

Questo approccio ci ha portato al primo posto nella categoria “AI in Banks” al Campionato AI RAIF-Challenge 2017.

Come abbiamo previsto il tasso di abbandono affrontandolo come un disastro naturale

A quanto pare, la cosa principale era affrontare il problema da un punto di vista non convenzionale e utilizzare un metodo che di solito viene utilizzato per altre situazioni.

Anche se un massiccio deflusso di utenti potrebbe rivelarsi un disastro naturale per i servizi.

Questo metodo può essere preso in considerazione per qualsiasi altra area in cui è importante tenere conto dei deflussi, non solo per le banche. Ad esempio, lo abbiamo utilizzato per calcolare il nostro deflusso: nelle filiali siberiane e di San Pietroburgo di Rostelecom.

Società "Data Mining Laboratory" "Portale di ricerca "Sputnik"

Fonte: habr.com

Aggiungi un commento