Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale

A volte, per risolvere un problema, è sufficiente guardarlo da un'altra prospettiva. Anche se negli ultimi dieci anni problemi simili sono stati affrontati nello stesso modo con effetti diversi, non è detto che questo sia l'unico approccio possibile.

Esiste un fenomeno chiamato abbandono dei clienti. È inevitabile, poiché i clienti di qualsiasi azienda possono smettere di utilizzare i suoi prodotti o servizi per molteplici motivi. È chiaro che, per un'azienda, l'abbandono, sebbene naturale, non è un'azione desiderata; pertanto tutti cercano di minimizzare questo abbandono. Ancora meglio sarebbe prevedere la probabilità di abbandono per determinate categorie di utenti o per un singolo utente e suggerire delle strategie di fidelizzazione.

Analizzare e cercare di trattenere il cliente, se possibile, è fondamentale per almeno i seguenti motivi:

  • attrarre nuovi clienti costa di più rispetto a strategie di fidelizzazione.Per attrarre nuovi clienti, è generalmente necessario investire denaro (pubblicità), mentre i clienti esistenti possono essere riattivati con offerte speciali e condizioni vantaggiose;
  • comprendere le cause dell'abbandono dei clienti è la chiave per migliorare prodotti e servizi..

Esistono approcci standard per prevedere l'abbandono. Tuttavia, in uno dei campionati di intelligenza artificiale abbiamo deciso di provare a utilizzare la distribuzione di Weibull a questo scopo. Viene spesso utilizzata per l'analisi della sopravvivenza, la previsione del tempo, l'analisi dei disastri naturali, nell'ingegneria industriale e simili. La distribuzione di Weibull è una funzione di distribuzione particolare, caratterizzata da due parametri. Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale e Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale.

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale
Wikipedia

In generale, è un argomento interessante, ma nel contesto della previsione dell'abbandono, e più in generale in ambito fintech, non è utilizzato così frequentemente. Nel seguito, racconteremo come noi (Laboratorio di analisi dei dati intelligenti) lo abbiamo fatto, conquistando nel contempo la medaglia d'oro al Campionato di intelligenza artificiale nella categoria "AI nelle banche".

Sull'abbandono in generale

Analizziamo un po' cosa significhi il churn dei clienti e perché sia così importante. Per il business, la base clienti è fondamentale. In questa base arrivano nuovi clienti, ad esempio scoprendo un prodotto o un servizio tramite pubblicità, utilizzano attivamente i prodotti per un certo periodo e poi smettono. Questo periodo è chiamato «Ciclo di vita del cliente» (inglese: Customer Lifecycle) — un termine che descrive le fasi che attraversa un cliente, dalla conoscenza del prodotto, alla decisione d'acquisto, al pagamento, all'utilizzo e a diventare un consumatore fedele, fino a smettere di utilizzare i prodotti per vari motivi. Pertanto, il churn è l'ultima fase del ciclo di vita del cliente, quando il cliente smette di utilizzare i servizi, e per l'azienda significa che il cliente non porta più profitto né alcun beneficio.

Ogni cliente di una banca è una persona specifica che sceglie una carta bancaria in base alle proprie esigenze. Viaggia spesso — una carta con miglia è utile. Fa molti acquisti — ecco, una carta con cashback. Acquista molto in negozi specifici — e per questo ci sono carte partner apposite. Certo, a volte la carta viene scelta anche in base al criterio «Costo di gestione più basso». Insomma, ci sono molte variabili.

Inoltre, una persona sceglie anche la banca — quale senso ha scegliere una carta di una banca la cui filiale è presente solo a Mosca e nella sua regione, se si è di Khabarovsk? Anche se la carta di quella banca fosse due volte più conveniente, la presenza di filiali nelle vicinanze rimane un criterio importante. Sì, il 2019 è qui e il digitale è il nostro tutto, ma alcuni problemi possono essere risolti presso le filiali di alcune banche. Inoltre, parte della popolazione si fida molto di più di una banca fisica piuttosto che di un'app sullo smartphone, e questo va tenuto in considerazione.

Di conseguenza, ci sono molte ragioni per cui una persona può rifiutare i prodotti di una banca (o la banca stessa). Ha cambiato lavoro, e il piano della carta è cambiato da «salariale» a «per persone comuni», che è meno conveniente. Si è trasferito in un'altra città dove non ci sono filiali della banca. Non è piaciuto il dialogo con un operatore poco qualificato in filiale. Quindi, le ragioni per chiudere un conto possono essere anche molte di più rispetto a quelle per utilizzare un prodotto.

Inoltre, il cliente può non solo esprimere esplicitamente la propria intenzione — recarsi in banca e scrivere una richiesta, ma anche semplicemente smettere di utilizzare i prodotti, senza rescindere il contratto. Per comprendere situazioni del genere, è stata presa la decisione di utilizzare l'apprendimento automatico e l'intelligenza artificiale.

Inoltre, il tasso di abbandono dei clienti può verificarsi in qualsiasi settore (telecomunicazioni, fornitori di internet, compagnie assicurative, insomma, ovunque ci sia una base clienti e transazioni periodiche).

Cosa abbiamo fatto

Prima di tutto, era necessario definire un confine chiaro — da quale momento iniziamo a considerare un cliente come perso. Dal punto di vista della banca, che ci ha fornito i dati per lavorare, lo stato di attività del cliente era binario: era attivo o non attivo. C'era un flag ACTIVE_FLAG nella tabella "Attività", il cui valore poteva essere "0" o "1" (rispettivamente "Non attivo" e "Attivo"). E tutto sarebbe andato bene, ma la natura umana è tale che una persona può utilizzare attivamente i servizi per un certo periodo, per poi diventare inattivo per un mese — malattia, vacanze in un altro paese, o addirittura testare la carta di un’altra banca. E può anche ricominciare a utilizzare i servizi della banca dopo un lungo periodo di inattività.

Pertanto, abbiamo deciso di definire un periodo di inattività come un intervallo continuativo di tempo durante il quale il flag veniva impostato su "0".

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale

I clienti passano da inattivi ad attivi dopo periodi di inattività di diversa lunghezza. Abbiamo la possibilità di calcolare il grado della grandezza empirica "affidabilità dei periodi di inattività" — ovvero la probabilità che una persona riprenda a utilizzare i prodotti della banca dopo un'assenza temporanea.

Ad esempio, in questo grafico è rappresentato il ripristino dell'attività (ACTIVE_FLAG=1) dei clienti dopo alcuni mesi di inattività (ACTIVE_FLAG=0).

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale

Qui andiamo a precisare un po' il 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, in internet banking e mobile banking), incluse le buste paga e informazioni sui volumi.
  • "Carte" — dati su tutte le carte in possesso del cliente, con una dettagliata rete tariffaria.
  • «Contratti» — informazioni sui contratti dei clienti (sia aperti che chiusi): prestiti, depositi e altro, con l'indicazione dei parametri di ciascuno.
  • «Clienti» — insieme di dati demografici (sesso e età) e disponibilità di informazioni di contatto.

Per il nostro lavoro abbiamo necessitato di tutte le tabelle, tranne «Carte».

La complessità qui stava nel fatto che in questi dati la banca non indicava quale attività fosse avvenuta sulle carte. Cioè potevamo capire se ci fossero state transazioni o meno, ma non era possibile determinarne il tipo. Quindi non era chiaro se il cliente prelevasse contante, ricevesse uno stipendio o spendesse soldi per acquisti. Inoltre, non avevamo dati sui saldi dei conti, che sarebbero stati utili.

Il campione stesso era non sfasato — in questo strato, per 19 mesi, la banca non ha intrapreso alcun tentativo di fidelizzare i clienti e ridurre il tasso di abbandono.

Ecco quindi riguardo ai periodi di inattività.

Per formulare una definizione di abbandono, è necessario scegliere un periodo di inattività. Per creare una previsione di abbandono in un momento definito Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale, è necessario avere la storia dei clienti per almeno 3 mesi in intervallo Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale. Avevamo una storia limitata a 19 mesi, quindi abbiamo deciso di prendere un periodo di inattività di 6 mesi, se presente. Per un periodo minimo per una previsione qualitativa abbiamo considerato 3 mesi. I numeri di 3 e 6 mesi sono stati presi empiricamente sulla base dell'analisi del comportamento di questi clienti.

Abbiamo formulato la definizione di abbandono così: mese di abbandono del cliente Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale è il primo mese con ACTIVE_FLAG=0, dove a partire da quel mese ci sono almeno sei zeri consecutivi nel campo ACTIVE_FLAG, in altre parole, il mese a partire dal quale il cliente è stato inattivo per 6 mesi.

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale
Numero di clienti che hanno lasciato

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale
Numero di clienti rimasti

Come si considera l'abbandono

In queste competizioni, e in generale nella pratica, l'abbandono viene spesso previsto in questo modo. Il cliente utilizza prodotti e servizi in diversi momenti, i dati sulle interazioni con esso vengono presentati sotto forma di un vettore di caratteristiche di lunghezza fissa n. Di solito, queste informazioni includono:

  • Dati caratterizzanti l'utente (dati demografici, segmento di mercato).
  • Storia dell'utilizzo di prodotti e servizi bancari (si tratta di azioni dei clienti, sempre legate a un tempo specifico o a un periodo dell'intervallo necessario).
  • Dati esterni, se ottenuti, come ad esempio le recensioni dai social media.

E solo dopo viene fornita una definizione del churn, specifica per ciascun obiettivo. Viene quindi utilizzato un algoritmo di apprendimento automatico che prevede la probabilità che un cliente abbandoni. Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale basato su un insieme di fattori. Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturalePer addestrare l'algoritmo viene utilizzato uno dei noti framework per la creazione di ensemble di alberi decisionali, XGBoost, LightGBM, CatBoost o le loro modifiche.

Di per sé, l'algoritmo non è male, ma ha diversi seri svantaggi, specialmente nel prevedere il churn.

  • Non possiede la cosiddetta "memoria".Il modello riceve un numero specifico di caratteristiche, che corrispondono al momento attuale. Per includere informazioni sulla storia di cambiamento dei parametri, è necessario calcolare caratteristiche speciali che descrivono le variazioni dei parametri nel tempo, ad esempio il numero o la somma delle transazioni bancarie negli ultimi 1, 2 o 3 mesi. Questo approccio può riflettere solo parzialmente la natura delle variazioni temporali.
  • Orizzonte di previsione fisso. Il modello è in grado di prevedere il churn dei clienti solo per un intervallo di tempo precedentemente definito, ad esempio, una previsione per un mese. Se è necessaria una previsione per un altro intervallo di tempo, ad esempio tre mesi, è necessario ricostruire il campione di addestramento e riaddestrare il nuovo modello.

Il nostro approccio

Abbiamo deciso fin da subito che non avremmo utilizzato approcci standard. Al campionato si sono iscritti 497 partecipanti oltre a noi, ognuno dei quali aveva una notevole esperienza. Pertanto, cercare di fare qualcosa secondo le modalità standard in tali condizioni non è una buona idea.

E abbiamo iniziato a risolvere i problemi legati al modello di classificazione binaria prevedendo la distribuzione probabilistica del tempo di churn dei clienti. Questo approccio può essere visto qui, consente di prevedere il churn in modo più flessibile e di verificare ipotesi più complesse rispetto all'approccio classico. Abbiamo scelto come famiglia di distribuzioni che modellano il tempo di churn la distribuzione Weibull per il suo ampio utilizzo nell'analisi della 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 turnover, affrontandolo come una catastrofe naturale e Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale:

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale

Questa è la densità di distribuzione di probabilità dei tassi di abbandono di tre diversi clienti nel tempo. Il tempo è rappresentato in mesi. In altre parole, questo grafico mostra quando è più probabile che un cliente abbandoni nei prossimi due mesi. Come si può vedere, il cliente con la distribuzione ha un potenziale maggiore di abbandonare prima rispetto ai clienti con le distribuzioni Weibull(2, 0.5) e Weibull(3,1).

Alla fine si ottiene un modello che per ogni cliente predice per ogni
mese i parametri della distribuzione di Weibull, che riflettono meglio l’arrivo della probabilità di abbandono nel tempo. Se approfondiamo:

  • Le caratteristiche target nel campione di addestramento sono il tempo rimanente prima dell’abbandono in un determinato mese per un determinato cliente.
  • Se non abbiamo il dato di abbandono per un cliente, assumiamo che il tempo di abbandono sia maggiore del numero di mesi che intercorrono dall’attuale fino alla fine della storia in nostro possesso.
  • Modello utilizzato: rete neurale ricorrente con strato LSTM.
  • Come funzione di perdita utilizziamo la funzione di logaritmo negativo della verosimiglianza per la distribuzione di Weibull.

Ecco i vantaggi di questo metodo:

  • La distribuzione probabilistica, oltre all'evidente possibilità di classificazione binaria, consente di prevedere eventi diversi in modo flessibile, ad esempio se un cliente smetterà di utilizzare i servizi bancari entro 3 mesi. Inoltre, se necessario, è possibile mediare diverse metriche in base a questa distribuzione.
  • La rete neurale ricorrente LSTM ha memoria e utilizza efficacemente tutta la storia disponibile. Con l'espansione o la precisazione della storia, la precisione aumenta.
  • L'approccio può essere facilmente scalato suddividendo gli intervalli temporali in unità più piccole (ad esempio, suddividendo i mesi in settimane).

Tuttavia, non basta creare un buon modello, è necessario anche valutare correttamente la sua qualità.

Come abbiamo valutato la qualità

Come metrica abbiamo scelto il Lift Curve. Viene utilizzata nel business per casi simili grazie alla sua facile interpretazione, è ben documentata. qui e qui. Se descriviamo il significato di questa metrica con una sola frase, risulta "Di quanto il algoritmo fa previsioni migliori sui primi Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale%, rispetto a un campione casuale."

Formiamo i modelli

Nei termini della competizione non è stata stabilita una metrica di qualità specifica per confrontare diversi modelli e approcci. Inoltre, la definizione di churn può variare e può dipendere dalla formulazione del problema, che a sua volta è determinata dagli obiettivi aziendali. Pertanto, per comprendere quale metodo sia migliore, abbiamo addestrato due modelli:

  1. Un approccio spesso utilizzato è la classificazione binaria con algoritmo di machine learning basato su un ensemble di alberi decisionali (LightGBM);
  2. Modello Weibull-LSTM

Il campione di test era composto da 500 clienti selezionati in anticipo, che non erano presenti nel campione di addestramento. Per il modello è stata effettuata la selezione degli iperparametri utilizzando la validazione incrociata suddivisa per cliente. Per l'addestramento di ciascun modello sono stati utilizzati gli stessi set di caratteristiche.

Poiché il modello non ha memoria, sono state utilizzate caratteristiche speciali che mostrano come le variazioni dei parametri di un mese si confrontino con la media dei parametri degli ultimi tre mesi. Ciò caratterizzava la velocità di variazione dei valori nell'ultimo periodo di tre mesi. Senza questo, il modello basato su Random Forest sarebbe in una posizione di svantaggio rispetto al Weibull-LSTM.

Perché LSTM con distribuzione di Weibull è migliore rispetto all'approccio basato su un ensemble di alberi decisionali

Qui tutto è chiaro, letteralmente con un paio di immagini.

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale
Confronto della Lift Curve tra l'algoritmo classico e il Weibull-LSTM

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale
Confronto della metrica Lift Curve mese per mese per l'algoritmo classico e il Weibull-LSTM

In generale, LSTM supera l'algoritmo classico in quasi tutti i casi.

Previsione del churn

Il modello basato su una rete neurale ricorrente con celle LSTM e distribuzione di Weibull può prevedere il churn in anticipo, ad esempio, prevedere l'abbandono di un cliente nei prossimi n mesi. Consideriamo il caso in cui n = 3. In questo caso, per ogni mese, la rete neurale deve identificare correttamente: se un cliente abbandonerà, iniziando dal mese successivo fino al mese n. In altre parole, deve determinare correttamente se il cliente rimarrà alla scadenza di n mesi. Questo può essere considerato una previsione anticipata: la previsione del momento in cui il cliente ha iniziato a pensare di andare via.

Confrontiamo la Lift Curve per il Weibull-LSTM a 1, 2 e 3 mesi prima del churn:

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale

Abbiamo già scritto sopra che sono importanti anche le previsioni fatte per i clienti che escono dall'attività per un certo periodo. Perciò aggiungeremo nella selezione i casi in cui un cliente che se n'è andato è già stato inattivo da uno o due mesi, e verificheremo che il Weibull-LSTM classifichi correttamente tali casi come abbandono. Poiché tali casi erano presenti nel campione, ci aspettiamo che la rete si comporti bene con essi:

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale

Fidelizzazione clienti

In effetti, è la cosa principale che si può fare avendo informazioni su quali clienti stanno per smettere di utilizzare il prodotto. Parlando della costruzione di un modello capace di offrire qualcosa di utile per fidelizzare i clienti — non sarà possibile farlo senza una storia di tentativi simili che siano risultati positivi.

Non abbiamo avuto tale storia, quindi abbiamo deciso di procedere in questo modo.

  1. Costruiamo un modello che identifica prodotti interessanti per ogni cliente.
  2. Ogni mese eseguiamo il classificatore e identifichiamo i clienti potenzialmente in fuga.
  3. Offriamo un prodotto a parte dei clienti, secondo il modello di cui al punto 1, e memorizziamo le nostre azioni.
  4. Dopo alcuni mesi osserviamo chi tra questi clienti potenzialmente in fuga se n'è andato e chi è rimasto. In questo modo formiamo un campione di apprendimento.
  5. Addestriamo il modello sulla storia ottenuta nel punto 4.
  6. Facoltativamente, ripetiamo la procedura sostituendo il modello del punto 1 con il modello ottenuto nel punto 5.

La verifica della qualità di tale fidelizzazione può essere effettuata attraverso un normale A/B testing — suddividiamo i clienti potenzialmente in fuga in due gruppi. A uno offriamo prodotti basati sul nostro modello di fidelizzazione, all'altro non offriamo nulla. Abbiamo deciso di addestrare un modello che potesse essere utile già al punto 1 del nostro esempio.

Volevamo rendere la segmentazione il più interpretabile possibile. A questo scopo abbiamo scelto diversi attributi che potessero essere facilmente interpretati: numero totale di transazioni, stipendio, fatturato totale del conto, età, genere. Gli attributi dalla tabella "Carte" non sono stati presi in considerazione poiché poco informativi, mentre gli attributi dalla tabella 3 "Contratti" sono stati esclusi a causa della complessità di elaborazione per evitare fuoriuscite di dati tra il campione di validazione e il campione di addestramento.

La clusterizzazione è stata effettuata mediante modelli di miscele gaussiane. Il criterio informativo di Akaike ha permesso di identificare 2 ottimizzazioni. La prima ottimizzazione corrisponde a 1 cluster. La seconda ottimizzazione, meno pronunciata, corrisponde a 80 cluster. Da questo risultato si può trarre la seguente conclusione: i dati sono estremamente difficili da separare in cluster senza informazioni a priori. Per una clusterizzazione di qualità superiore sono necessari dati che descrivano dettagliatamente ogni cliente.

Pertanto è stata considerata la questione dell'apprendimento supervisionato, per offrire a ciascun cliente il proprio prodotto. Sono stati considerati i seguenti prodotti: "Deposito a termine", "Carta di credito", "Overdraft", "Prestito al consumo", "Prestito auto", "Mutuo".

Nei dati era presente un altro tipo di prodotto: "Conto corrente". Tuttavia, non l'abbiamo considerato a causa della scarsa informatività. Per gli utenti che sono clienti della banca, ossia non hanno interrotto l'uso dei suoi prodotti, è stato costruito un modello che prevede quale prodotto potrebbe interessarli. È stata scelta la regressione logistica come modello, e il Lift per i primi 10 percentili è stato utilizzato come metrica per la valutazione della qualità.

La qualità del modello può essere valutata nel grafico.

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale
Risultati del modello di raccomandazione dei prodotti per i clienti

Risultato

Questo approccio ci ha permesso di conquistare il primo posto nella categoria "AI nelle banche" durante il Campionato AI RAIF-Challenge 2017.

Come abbiamo previsto il turnover, affrontandolo come una catastrofe naturale

Probabilmente, è stato fondamentale affrontare il problema da un'angolazione non convenzionale e utilizzare un metodo normalmente impiegato per altre situazioni.

Sebbene un'uscita di massa degli utenti possa presentarsi come una vera e propria calamità per i servizi.

Questo metodo può essere preso in considerazione anche in altri settori dove è importante considerare l'abbandono, non solo nel settore bancario. Ad esempio, lo abbiamo utilizzato anche per calcolare il nostro tasso di abbandono — nelle filiali di Siberia e San Pietroburgo di Rostelecom.

"Laboratorio di analisi intellettuale dei dati" della compagnia "Portale di ricerca Sputnik"

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster