Com vam predir l'abandonament apropant-nos-hi com un desastre natural

De vegades, per resoldre un problema, només cal mirar-lo des d'un angle diferent. Encara que durant els darrers 10 anys problemes similars s'han resolt de la mateixa manera amb diferents efectes, no és cert que aquest mètode sigui l'únic.

Hi ha un tema com la pèrdua de clients. La cosa és inevitable, perquè els clients de qualsevol empresa poden, per molts motius, deixar d'utilitzar els seus productes o serveis. Per descomptat, per a una empresa, l'abandonament és una acció natural, però no la més desitjable, de manera que tothom intenta minimitzar-la. Millor encara, prediu la probabilitat d'abandonament d'una categoria particular d'usuaris o d'un usuari específic i suggeriu alguns passos per retenir-los.

Cal analitzar i intentar retenir el client, si és possible, almenys pels motius següents:

  • atraure nous clients és més car que els procediments de retenció. Per atraure nous clients, per regla general, cal gastar diners (publicitat), mentre que els clients existents es poden activar amb una oferta especial amb condicions especials;
  • Entendre els motius pels quals els clients marxen és la clau per millorar els productes i serveis.

Hi ha enfocaments estàndard per predir l'abandonament. Però en un dels campionats d'IA, vam decidir provar la distribució Weibull per a això. S'utilitza més sovint per a l'anàlisi de supervivència, previsió meteorològica, anàlisi de desastres naturals, enginyeria industrial i similars. La distribució Weibull és una funció de distribució especial parametritzada per dos paràmetres Com vam predir l'abandonament apropant-nos-hi com un desastre natural и Com vam predir l'abandonament apropant-nos-hi com un desastre natural.

Com vam predir l'abandonament apropant-nos-hi com un desastre natural
Wikipedia

En general, és una cosa interessant, però per a la previsió de sortides, i en fintech en general, no s'utilitza tan sovint. A sota del tall us explicarem com ho vam fer nosaltres (Data Mining Laboratory), guanyant simultàniament l'or al Campionat d'Intel·ligència Artificial en la categoria "AI als bancs".

Sobre el churn en general

Anem a entendre una mica què és el churn de clients i per què és tan important. Una base de clients és important per a un negoci. Els nous clients arriben a aquesta base, per exemple, després d'haver après un producte o servei a partir d'un anunci, viuen durant un temps (utilitzen els productes activament) i després d'un temps deixen d'utilitzar-lo. Aquest període s'anomena "cicle de vida del client", un terme que descriu les etapes per les quals passa un client quan coneix un producte, pren una decisió de compra, paga, utilitza i es converteix en un consumidor fidel i, finalment, deixa d'utilitzar el producte. per un motiu o un altre. En conseqüència, el churn és l'etapa final del cicle de vida del client, quan el client deixa d'utilitzar els serveis, i per a un negoci això significa que el client ha deixat de generar beneficis o cap benefici.

Cada client bancari és una persona concreta que tria una o una altra targeta bancària específicament per a les seves necessitats. Si viatgeu sovint, us serà útil una targeta amb milles. Compra molt: hola, targeta de devolució. Compra molt a botigues específiques, i ja hi ha un plàstic especial per a això. Per descomptat, de vegades es selecciona una targeta segons el criteri del "servei més barat". En general, aquí hi ha prou variables.

I una persona també tria el banc en si mateix: té sentit escollir una targeta d'un banc les sucursals del qual només es troben a Moscou i la regió, quan sou de Khabarovsk? Fins i tot si una targeta d'aquest banc és almenys dues vegades més rendible, la presència d'oficines bancàries a prop segueix sent un criteri important. Sí, el 2 ja és aquí i el digital és el nostre tot, però alguns problemes amb alguns bancs només es poden resoldre en una sucursal. A més, de nou, una part de la població confia molt més en un banc físic que en una aplicació en un telèfon intel·ligent, això també s'ha de tenir en compte.

Com a resultat, una persona pot tenir moltes raons per rebutjar els productes bancaris (o el propi banc). Vaig canviar de feina i la tarifa de la targeta va canviar de salari a "Per a simples mortals", que és menys rendible. Em vaig mudar a una altra ciutat on no hi ha sucursals bancàries. No em va agradar la interacció amb l'operador no qualificat de l'oficina. És a dir, encara hi pot haver més motius per tancar un compte que per utilitzar el producte.

I el client no només pot expressar clarament la seva intenció: venir al banc i escriure una declaració, sinó simplement deixar d'utilitzar els productes sense rescindir el contracte. Es va decidir utilitzar l'aprenentatge automàtic i la IA per entendre aquests problemes.

A més, el churn de clients es pot produir en qualsevol indústria (telecomunicacions, proveïdors d'Internet, companyies d'assegurances, en general, allà on hi hagi una base de clients i transaccions periòdiques).

Què hem fet

En primer lloc, calia descriure un límit clar: a partir de quin moment comencem a considerar que el client ha marxat. Des del punt de vista del banc que ens va proporcionar les dades per al nostre treball, l'estat d'activitat del client era binari: està actiu o no. Hi havia un indicador ACTIVE_FLAG a la taula "Activitat", el valor de la qual podia ser "0" o "1" ("Inactiu" i "Actiu" respectivament). I tot aniria bé, però una persona és tal que pot utilitzar-lo activament durant un temps i després sortir de la llista activa durant un mes: es va emmalaltir, va anar a un altre país de vacances o fins i tot va anar a provar un targeta d'un altre banc. O potser després d'un llarg període d'inactivitat, torneu a utilitzar els serveis del banc

Per tant, vam decidir anomenar un període d'inactivitat a un període de temps continu determinat durant el qual la marca del mateix es va establir a "0".

Com vam predir l'abandonament apropant-nos-hi com un desastre natural

Els clients passen d'inactiu a actiu després de períodes d'inactivitat de durada variable. Tenim l'oportunitat de calcular el grau de valor empíric "fiabilitat dels períodes d'inactivitat", és a dir, la probabilitat que una persona torni a utilitzar productes bancaris després d'una inactivitat temporal.

Per exemple, aquest gràfic mostra la represa de l'activitat (ACTIVE_FLAG=1) dels clients després de diversos mesos d'inactivitat (ACTIVE_FLAG=0).

Com vam predir l'abandonament apropant-nos-hi com un desastre natural

Aquí aclarirem una mica el conjunt de dades amb el qual vam començar a treballar. Així, el banc va proporcionar informació agregada durant 19 mesos a les taules següents:

  • "Activitat" - transaccions mensuals dels clients (per targeta, en banca per Internet i banca mòbil), incloses les nòmines i informació sobre la facturació.
  • "Targetes" - dades sobre totes les targetes que té el client, amb un calendari tarifari detallat.
  • "Acords": informació sobre els acords del client (tant oberts com tancats): préstecs, dipòsits, etc., indicant els paràmetres de cadascun.
  • "Clients": un conjunt de dades demogràfiques (sexe i edat) i la disponibilitat d'informació de contacte.

Per treballar necessitem totes les taules excepte el "Mapa".

Aquí hi havia una altra dificultat: en aquestes dades, el banc no indicava quin tipus d'activitat es feia a les targetes. És a dir, podríem entendre si hi havia transaccions o no, però ja no podíem determinar-ne el tipus. Per tant, no estava clar si el client estava retirant efectiu, rebent un sou o gastant els diners en compres. Tampoc teníem dades sobre els saldos dels comptes, cosa que hauria estat útil.

La mostra en si va ser imparcial: en aquesta secció, durant 19 mesos, el banc no va fer cap intent de retenir els clients i minimitzar la sortida.

Per tant, sobre períodes d'inactivitat.

Per formular una definició d'abandonament, s'ha de seleccionar un període d'inactivitat. Per crear una previsió d'abandonament en un moment determinat Com vam predir l'abandonament apropant-nos-hi com un desastre natural, heu de tenir un historial de clients d'almenys 3 mesos a intervals Com vam predir l'abandonament apropant-nos-hi com un desastre natural. El nostre historial estava limitat a 19 mesos, així que vam decidir prendre un període d'inactivitat de 6 mesos, si està disponible. I per al període mínim per a una previsió d'alta qualitat, vam trigar 3 mesos. Vam prendre les xifres durant 3 i 6 mesos de manera empírica basant-nos en una anàlisi del comportament de les dades dels clients.

Vam formular la definició de l'abandonament de la següent manera: mes de l'abandonament del client Com vam predir l'abandonament apropant-nos-hi com un desastre natural aquest és el primer mes amb ACTIVE_FLAG=0, on a partir d'aquest mes hi ha almenys sis zeros consecutius al camp ACTIVE_FLAG, és a dir, el mes a partir del qual el client va estar inactiu durant 6 mesos.

Com vam predir l'abandonament apropant-nos-hi com un desastre natural
Nombre de clients que van marxar

Com vam predir l'abandonament apropant-nos-hi com un desastre natural
Nombre de clients restants

Com es calcula el churn?

En aquestes competicions, i a la pràctica en general, sovint es prediu d'aquesta manera. El client utilitza productes i serveis en diferents períodes de temps, les dades sobre la interacció amb ell es representen com un vector de característiques de longitud fixa n. Molt sovint aquesta informació inclou:

  • Dades caracteritzadores de l'usuari (dades demogràfiques, segment de màrqueting).
  • Historial d'ús de productes i serveis bancaris (es tracta d'accions del client que sempre estan lligades a un moment o període concret de l'interval que necessitem).
  • Dades externes, si era possible obtenir-les, per exemple, ressenyes de xarxes socials.

I després d'això, obtenen una definició de churn, diferent per a cada tasca. A continuació, utilitzen un algorisme d'aprenentatge automàtic, que prediu la probabilitat que un client marxi Com vam predir l'abandonament apropant-nos-hi com un desastre natural basat en un vector de factors Com vam predir l'abandonament apropant-nos-hi com un desastre natural. Per entrenar l'algorisme, s'utilitza un dels marcs coneguts per construir conjunts d'arbres de decisió, XGBoost, LightGBM, CatBoost o modificacions dels mateixos.

L'algoritme en si no és dolent, però té diversos desavantatges greus a l'hora de predir l'abandonament.

  • No té l'anomenada "memòria". L'entrada del model és un nombre especificat de característiques que corresponen al moment actual. Per emmagatzemar informació sobre l'historial de canvis en els paràmetres, cal calcular característiques especials que caracteritzen els canvis en els paràmetres al llarg del temps, per exemple, el nombre o la quantitat de transaccions bancàries durant els darrers 1,2,3, XNUMX, XNUMX mesos. Aquest enfocament només pot reflectir parcialment la naturalesa dels canvis temporals.
  • Horitzó de previsió fixa. El model només és capaç de predir la rotació dels clients durant un període de temps predefinit, per exemple, una previsió amb un mes d'antelació. Si es requereix una previsió per a un període de temps diferent, per exemple, tres mesos, haureu de reconstruir el conjunt d'entrenament i entrenar un nou model.

El nostre enfocament

Vam decidir de seguida que no utilitzaríem enfocaments estàndard. A més de nosaltres, al campionat s'hi van inscriure 497 persones més, cadascuna de les quals tenia una experiència considerable al darrere. Per tant, intentar fer alguna cosa segons un esquema estàndard en aquestes condicions no és una bona idea.

I vam començar a resoldre els problemes als quals s'enfronta el model de classificació binària predint la distribució de probabilitat dels temps de rotació dels clients. Es pot observar un enfocament similar aquí, us permet predir el churn de manera més flexible i provar hipòtesis més complexes que en l'enfocament clàssic. Com a família de distribucions que modelen el temps de sortida, vam triar la distribució Weibull pel seu ús generalitzat en l'anàlisi de supervivència. El comportament del client es pot veure com una mena de supervivència.

Aquí hi ha exemples de distribucions de densitat de probabilitat de Weibull en funció dels paràmetres Com vam predir l'abandonament apropant-nos-hi com un desastre natural и Com vam predir l'abandonament apropant-nos-hi com un desastre natural:

Com vam predir l'abandonament apropant-nos-hi com un desastre natural

Aquesta és la funció de densitat de probabilitat de tres clients diferents al llarg del temps. El temps es presenta en mesos. Dit d'una altra manera, aquest gràfic mostra quan un client té més probabilitats de patir en els propers dos mesos. Com podeu veure, un client amb una distribució té més possibilitats de sortir abans que els clients amb Weibull(2, 0.5) i Weibull. (3,1) distribucions.

El resultat és un model que, per a cada client, per a cadascú
mes prediu els paràmetres de la distribució de Weibull, que reflecteix millor l'ocurrència de la probabilitat de sortida al llarg del temps. Amb més detall:

  • Les característiques objectiu del conjunt d'entrenament són el temps que queda fins a l'abandonament en un mes específic per a un client específic.
  • Si no hi ha una taxa d'abandonament per a un client, suposem que el temps d'abandonament és superior al nombre de mesos des del mes actual fins al final de l'historial que tenim.
  • Model utilitzat: xarxa neuronal recurrent amb capa LSTM.
  • Com a funció de pèrdua, utilitzem la funció de log-verabilitat negativa per a la distribució de Weibull.

Aquests són els avantatges d'aquest mètode:

  • La distribució de probabilitats, a més de la possibilitat òbvia de classificació binària, permet una predicció flexible de diversos esdeveniments, per exemple, si un client deixarà d'utilitzar els serveis del banc en un termini de 3 mesos. A més, si cal, es poden promediar diverses mètriques sobre aquesta distribució.
  • La xarxa neuronal recurrent LSTM té memòria i utilitza de manera efectiva tot l'historial disponible. A mesura que la història s'amplia o s'afina, augmenta la precisió.
  • L'enfocament es pot escalar fàcilment quan es divideixen períodes de temps en altres més petits (per exemple, quan es divideixen mesos en setmanes).

Però no n'hi ha prou amb crear un bon model; també cal avaluar-ne correctament la qualitat.

Com es va avaluar la qualitat?

Vam triar Lift Curve com a mètrica. S'utilitza en els negocis per a aquests casos a causa de la seva clara interpretació, està ben descrit aquí и aquí. Si descriu el significat d'aquesta mètrica en una frase, seria "Quantes vegades fa l'algoritme la millor predicció a la primera? Com vam predir l'abandonament apropant-nos-hi com un desastre natural% que aleatòriament".

Models de formació

Les condicions de la competició no van establir una mètrica de qualitat específica mitjançant la qual es puguin comparar diferents models i enfocaments. A més, la definició de churn pot ser diferent i pot dependre de l'enunciat del problema, que, al seu torn, està determinada pels objectius empresarials. Per tant, per entendre quin mètode és millor, hem entrenat dos models:

  1. Un enfocament de classificació binària d'ús comú que utilitza un algorisme d'aprenentatge automàtic d'arbre de decisions de conjunt (LightGBM);
  2. Model Weibull-LSTM

El conjunt de proves constava de 500 clients preseleccionats que no estaven al conjunt de formació. Els hiperparàmetres es van seleccionar per al model mitjançant validació creuada, desglossats per client. Es van utilitzar els mateixos conjunts de funcions per entrenar cada model.

A causa del fet que el model no té memòria, s'han pres funcions especials per a ell, mostrant la relació entre els canvis de paràmetres durant un mes i el valor mitjà dels paràmetres dels darrers tres mesos. El que va caracteritzar la taxa de variació dels valors durant l'últim període de tres mesos. Sense això, el model basat en Random Forest estaria en desavantatge respecte a Weibull-LSTM.

Per què LSTM amb distribució Weibull és millor que un enfocament d'arbre de decisions de conjunt

Aquí tot queda clar en només un parell de fotos.

Com vam predir l'abandonament apropant-nos-hi com un desastre natural
Comparació de la corba de sustentació per a l'algorisme clàssic i Weibull-LSTM

Com vam predir l'abandonament apropant-nos-hi com un desastre natural
Comparació de la mètrica de la corba d'elevació per mes per a l'algorisme clàssic i Weibull-LSTM

En general, LSTM és superior a l'algorisme clàssic en gairebé tots els casos.

Predicció de la rotació

Un model basat en una xarxa neuronal recurrent amb cèl·lules LSTM amb distribució Weibull pot predir l'abandonament per avançat, per exemple, predir l'abandonament del client durant els propers n mesos. Considereu el cas de n = 3. En aquest cas, per a cada mes, la xarxa neuronal ha de determinar correctament si el client marxarà, a partir del mes següent i fins a l'enè mes. És a dir, ha de determinar correctament si el client romandrà al cap de n mesos. Això es pot considerar una previsió per endavant: predir el moment en què el client començava a pensar en marxar.

Comparem la corba d'elevació de Weibull-LSTM 1, 2 i 3 mesos abans de la sortida:

Com vam predir l'abandonament apropant-nos-hi com un desastre natural

Ja hem escrit més amunt que també són importants les previsions fetes per als clients que ja fa temps que no estan actius. Per tant, aquí afegirem a la mostra els casos en què el client que ha marxat ja ha estat inactiu durant un o dos mesos, i comprovarem que Weibull-LSTM classifica correctament aquests casos com a abandonament. Com que aquests casos estaven presents a la mostra, esperem que la xarxa els gestione bé:

Com vam predir l'abandonament apropant-nos-hi com un desastre natural

Retenció de clients

De fet, això és el principal que es pot fer, tenint a la mà informació que tal o tal client s'estan preparant per deixar d'utilitzar el producte. Parlant de construir un model que pugui oferir alguna cosa útil als clients per tal de retenir-los, això no es pot fer si no es té un historial d'intents similars que acabarien bé.

No teníem una història així, així que ho vam decidir d'aquesta manera.

  1. Estem construint un model que identifiqui productes interessants per a cada client.
  2. Cada mes executem el classificador i identifiquem els clients potencialment abandonats.
  3. Oferim a alguns clients el producte, segons el model del punt 1, i recordem les nostres accions.
  4. Al cap d'uns mesos, mirem quins d'aquests clients potencialment abandonats van deixar i quins van quedar. Així, formem una mostra de formació.
  5. Entrenem el model utilitzant l'historial obtingut al pas 4.
  6. Opcionalment, repetim el procediment, substituint el model del pas 1 pel model obtingut al pas 5.

Una prova de la qualitat d'aquesta retenció es pot fer mitjançant proves A/B regulars: dividim els clients que potencialment marxen en dos grups. Oferim productes a un basat en el nostre model de retenció, i a l'altre no oferim res. Vam decidir entrenar un model que podria ser útil ja al punt 1 del nostre exemple.

Volíem fer la segmentació el més interpretable possible. Per fer-ho, hem seleccionat diverses característiques que es podrien interpretar fàcilment: el nombre total de transaccions, salaris, rotació total del compte, edat, sexe. Les característiques de la taula "Mapes" no es van tenir en compte com a poc informatives, i les característiques de la taula 3 "Contractes" no es van tenir en compte a causa de la complexitat del processament per evitar la fuga de dades entre el conjunt de validació i el conjunt d'entrenament.

La agrupació es va dur a terme mitjançant models de mescles gaussianes. El criteri d'informació d'Akaike ens va permetre determinar 2 òptims. El primer òptim correspon a 1 clúster. El segon òptim, menys pronunciat, correspon a 80 clústers. A partir d'aquest resultat, podem extreure la següent conclusió: és extremadament difícil dividir les dades en clústers sense una informació donada a priori. Per a una millor agrupació, necessiteu dades que descriguin cada client amb detall.

Per tant, es va plantejar el problema de l'aprenentatge supervisat per oferir a cada client individual un producte diferent. Es van considerar els següents productes: "Dipòsit a termini", "Targeta de crèdit", "Descobert", "Préstec de consum", "Préstec de cotxe", "Hipoteca".

Les dades incloïen un altre tipus de producte: "Compte corrent". Però no ho hem considerat pel seu baix contingut informatiu. Per als usuaris que són clients bancaris, és a dir. no va deixar d'utilitzar els seus productes, es va crear un model per predir quin producte els podria interessar. Es va triar la regressió logística com a model i es va utilitzar el valor Lift per als primers 10 percentils com a mètrica d'avaluació de la qualitat.

La qualitat del model es pot avaluar a la figura.

Com vam predir l'abandonament apropant-nos-hi com un desastre natural
Resultats del model de recomanació de producte per als clients

Total

Aquest enfocament ens va portar el primer lloc a la categoria "AI als bancs" al Campionat d'IA RAIF-Challenge 2017.

Com vam predir l'abandonament apropant-nos-hi com un desastre natural

Pel que sembla, el més important era abordar el problema des d'un angle no convencional i utilitzar un mètode que s'utilitza habitualment per a altres situacions.

Tot i que una sortida massiva d'usuaris pot ser un desastre natural per als serveis.

Aquest mètode es pot tenir en compte per a qualsevol altra àrea on sigui important tenir en compte la sortida, no només els bancs. Per exemple, el vam utilitzar per calcular la nostra pròpia sortida, a les sucursals de Rostelecom a Sibèria i Sant Petersburg.

Empresa "Data Mining Laboratory" "Portal de cerca "Sputnik"

Font: www.habr.com

Afegeix comentari