Como previmos a rotatividade abordando-a como um desastre natural

Às vezes, para resolver um problema, basta olhar para ele de um ângulo diferente. Mesmo que nos últimos 10 anos problemas semelhantes tenham sido resolvidos da mesma forma, com efeitos diferentes, não é verdade que este método seja o único.

Existe um tópico como rotatividade de clientes. A coisa é inevitável, pois os clientes de qualquer empresa podem, por diversos motivos, deixar de utilizar seus produtos ou serviços. É claro que para uma empresa o churn é uma ação natural, mas não a mais desejável, por isso todos tentam minimizar esse churn. Melhor ainda, preveja a probabilidade de desligamento de uma determinada categoria de usuários, ou de um usuário específico, e sugira algumas etapas para retê-los.

É preciso analisar e tentar fidelizar o cliente, se possível, pelo menos pelos seguintes motivos:

  • atrair novos clientes é mais caro do que procedimentos de retenção. Para atrair novos clientes, via de regra, é necessário gastar algum dinheiro (publicidade), enquanto os clientes existentes podem ser ativados com uma oferta especial com condições especiais;
  • Compreender os motivos pelos quais os clientes saem é a chave para melhorar produtos e serviços.

Existem abordagens padrão para prever a rotatividade. Mas em um dos campeonatos de IA decidimos tentar a distribuição Weibull para isso. É mais frequentemente usado para análise de capacidade de sobrevivência, previsão do tempo, análise de desastres naturais, engenharia industrial e similares. A distribuição Weibull é uma função de distribuição especial parametrizada por dois parâmetros Como previmos a rotatividade abordando-a como um desastre natural и Como previmos a rotatividade abordando-a como um desastre natural.

Como previmos a rotatividade abordando-a como um desastre natural
Wikipedia

Em geral é uma coisa interessante, mas para previsão de saídas, e em fintech em geral, não é usado com tanta frequência. Abaixo do recorte contaremos como nós (Laboratório de Mineração de Dados) fizemos isso, conquistando simultaneamente o ouro no Campeonato de Inteligência Artificial na categoria “IA em Bancos”.

Sobre rotatividade em geral

Vamos entender um pouco sobre o que é a rotatividade de clientes e por que ela é tão importante. Uma base de clientes é importante para uma empresa. Novos clientes chegam a essa base, por exemplo, tendo conhecido um produto ou serviço por meio de um anúncio, vivem por algum tempo (usam ativamente os produtos) e depois de algum tempo param de usá-lo. Esse período é chamado de “Ciclo de Vida do Cliente” – termo que descreve as etapas pelas quais um cliente passa quando conhece um produto, toma uma decisão de compra, paga, usa e se torna um consumidor fiel e, por fim, deixa de usar o produto. por uma razão ou outra. Dessa forma, o churn é a etapa final do ciclo de vida do cliente, quando o cliente deixa de utilizar os serviços, e para uma empresa isso significa que o cliente deixou de gerar lucro ou qualquer benefício.

Cada cliente do banco é uma pessoa específica que escolhe um ou outro cartão bancário especificamente para suas necessidades. Se você viaja com frequência, um cartão com milhas será útil. Compra muito - olá, cartão de cashback. Ele compra muito em lojas específicas – e já existe um plástico parceiro especial para isso. Claro, às vezes um cartão é selecionado com base no critério “Serviço mais barato”. Em geral, existem variáveis ​​suficientes aqui.

E a própria pessoa também escolhe o próprio banco - faz sentido escolher um cartão de um banco cujas agências estão apenas em Moscou e na região, quando você é de Khabarovsk? Mesmo que um cartão desse banco seja pelo menos 2 vezes mais lucrativo, a presença de agências bancárias próximas ainda é um critério importante. Sim, 2019 já chegou e o digital é tudo para nós, mas uma série de problemas com alguns bancos só podem ser resolvidos numa agência. Além disso, novamente, parte da população confia muito mais em um banco físico do que em um aplicativo de smartphone, isso também precisa ser levado em consideração.

Como resultado, uma pessoa pode ter vários motivos para recusar produtos bancários (ou o próprio banco). Troquei de emprego e a tarifa do cartão passou de salário para “Para meros mortais”, o que é menos rentável. Mudei-me para outra cidade onde não há agências bancárias. Não gostei da interação com o operador não qualificado da agência. Ou seja, pode haver ainda mais motivos para encerrar uma conta do que para utilizar o produto.

E o cliente não só pode expressar claramente sua intenção - ir ao banco e fazer um extrato, mas simplesmente parar de usar os produtos sem rescindir o contrato. Decidiu-se usar aprendizado de máquina e IA para entender tais problemas.

Além disso, a rotatividade de clientes pode ocorrer em qualquer setor (telecomunicações, provedores de Internet, seguradoras, em geral, onde houver base de clientes e transações periódicas).

O que nos fizemos

Em primeiro lugar, foi necessário descrever um limite claro - a partir de que horas começamos a considerar que o cliente saiu. Do ponto de vista do banco que nos forneceu os dados do nosso trabalho, o estado de atividade do cliente era binário - ele está ativo ou não. Havia um sinalizador ACTIVE_FLAG na tabela "Atividade", cujo valor poderia ser "0" ou "1" ("Inativo" e "Ativo" respectivamente). E tudo ficaria bem, mas uma pessoa é tal que pode usá-lo ativamente por algum tempo e depois sair da lista ativa por um mês - ficou doente, foi para outro país de férias ou até foi testar um cartão de outro banco. Ou talvez depois de um longo período de inatividade, voltar a utilizar os serviços do banco

Portanto, decidimos chamar de período de inatividade um determinado período contínuo de tempo durante o qual o sinalizador para ele foi definido como “0”.

Como previmos a rotatividade abordando-a como um desastre natural

Os clientes passam de inativos para ativos após períodos de inatividade de durações variadas. Temos a oportunidade de calcular o grau de valor empírico “confiabilidade dos períodos de inatividade” - ou seja, a probabilidade de uma pessoa voltar a utilizar produtos bancários após inatividade temporária.

Por exemplo, este gráfico mostra a retomada da atividade (ACTIVE_FLAG=1) dos clientes após vários meses de inatividade (ACTIVE_FLAG=0).

Como previmos a rotatividade abordando-a como um desastre natural

Aqui vamos esclarecer um pouco o conjunto de dados com os quais começamos a trabalhar. Assim, o banco disponibilizou informação agregada de 19 meses nas seguintes tabelas:

  • “Atividade” - transações mensais de clientes (através de cartões, em Internet banking e mobile banking), incluindo folha de pagamento e informações sobre faturamento.
  • “Cartões” - dados sobre todos os cartões que o cliente possui, com tabela tarifária detalhada.
  • “Contratos” - informações sobre os contratos do cliente (abertos e fechados): empréstimos, depósitos, etc., indicando os parâmetros de cada um.
  • “Clientes” – conjunto de dados demográficos (género e idade) e disponibilidade de informações de contacto.

Para trabalhar precisávamos de todas as tabelas exceto o “Mapa”.

Houve aqui outra dificuldade - nestes dados o banco não indicou que tipo de atividade ocorria nos cartões. Ou seja, poderíamos entender se houve transações ou não, mas não poderíamos mais determinar o seu tipo. Portanto, não ficou claro se o cliente estava sacando dinheiro, recebendo salário ou gastando o dinheiro em compras. Também não tínhamos dados sobre saldos de contas, o que teria sido útil.

A amostra em si foi imparcial - nesta amostra, ao longo de 19 meses, o banco não fez nenhuma tentativa de reter clientes e minimizar saídas.

Então, sobre períodos de inatividade.

Para formular uma definição de rotatividade, um período de inatividade deve ser selecionado. Para criar uma previsão de rotatividade em um determinado momento Como previmos a rotatividade abordando-a como um desastre natural, você deve ter um histórico de cliente de pelo menos 3 meses em intervalos Como previmos a rotatividade abordando-a como um desastre natural. Nosso histórico estava limitado a 19 meses, por isso decidimos fazer um período de inatividade de 6 meses, se disponível. E levamos 3 meses para o período mínimo para uma previsão de alta qualidade. Tomamos os números de 3 e 6 meses empiricamente com base em uma análise do comportamento dos dados do cliente.

Formulamos a definição de rotatividade da seguinte forma: mês de rotatividade de clientes Como previmos a rotatividade abordando-a como um desastre natural este é o primeiro mês com ACTIVE_FLAG=0, onde a partir deste mês há pelo menos seis zeros consecutivos no campo ACTIVE_FLAG, ou seja, o mês a partir do qual o cliente ficou 6 meses inativo.

Como previmos a rotatividade abordando-a como um desastre natural
Número de clientes que saíram

Como previmos a rotatividade abordando-a como um desastre natural
Número de clientes restantes

Como o churn é calculado?

Em tais competições, e na prática em geral, a saída é frequentemente prevista desta forma. O cliente utiliza produtos e serviços em diferentes períodos de tempo, os dados de interação com ele são representados como um vetor de características de comprimento fixo n. Na maioria das vezes, essas informações incluem:

  • Dados de caracterização do usuário (dados demográficos, segmento de marketing).
  • Histórico de utilização de produtos e serviços bancários (são ações do cliente que estão sempre vinculadas a um determinado horário ou período do intervalo que necessitamos).
  • Dados externos, se for possível obtê-los - por exemplo, avaliações de redes sociais.

E depois disso, derivam uma definição de rotatividade, diferente para cada tarefa. Em seguida, eles usam um algoritmo de aprendizado de máquina, que prevê a probabilidade de um cliente sair Como previmos a rotatividade abordando-a como um desastre natural com base em um vetor de fatores Como previmos a rotatividade abordando-a como um desastre natural. Para treinar o algoritmo é utilizado um dos frameworks mais conhecidos para construção de conjuntos de árvores de decisão, XGBoostName, Light GBM, Cat Boost ou modificações dos mesmos.

O algoritmo em si não é ruim, mas tem várias desvantagens sérias quando se trata de prever a rotatividade.

  • Ele não tem a chamada “memória”. A entrada do modelo é um número especificado de recursos que correspondem ao momento atual. Para armazenar informações sobre o histórico de alterações nos parâmetros, é necessário calcular características especiais que caracterizam as alterações nos parâmetros ao longo do tempo, por exemplo, o número ou valor das transações bancárias nos últimos 1,2,3, XNUMX, XNUMX meses. Esta abordagem só pode reflectir parcialmente a natureza das mudanças temporárias.
  • Horizonte de previsão fixo. O modelo só é capaz de prever a rotatividade de clientes por um período de tempo predefinido, por exemplo, uma previsão com um mês de antecedência. Se uma previsão for necessária para um período de tempo diferente, por exemplo, três meses, será necessário reconstruir o conjunto de treinamento e treinar novamente um novo modelo.

Nossa abordagem

Decidimos imediatamente que não usaríamos abordagens padrão. Além de nós, mais 497 pessoas se inscreveram no campeonato, cada uma delas com muita experiência. Portanto, tentar fazer algo de acordo com um esquema padrão nessas condições não é uma boa ideia.

E começamos a resolver os problemas enfrentados pelo modelo de classificação binária, prevendo a distribuição de probabilidade dos tempos de rotatividade de clientes. Uma abordagem semelhante pode ser vista aqui, permite prever a rotatividade com mais flexibilidade e testar hipóteses mais complexas do que na abordagem clássica. Como uma família de distribuições que modelam o tempo de saída, escolhemos a distribuição Weibull por seu amplo uso na análise de sobrevivência. O comportamento do cliente pode ser visto como uma espécie de sobrevivência.

Aqui estão exemplos de distribuições de densidade de probabilidade Weibull dependendo dos parâmetros Como previmos a rotatividade abordando-a como um desastre natural и Como previmos a rotatividade abordando-a como um desastre natural:

Como previmos a rotatividade abordando-a como um desastre natural

Esta é a função de densidade de probabilidade da rotatividade de três clientes diferentes ao longo do tempo. O tempo é apresentado em meses. Em outras palavras, este gráfico mostra quando um cliente tem maior probabilidade de se desligar nos próximos dois meses. Como você pode ver, um cliente com uma distribuição tem maior potencial de sair mais cedo do que clientes com Weibull(2, 0.5) e Weibull (3,1) distribuições.

O resultado é um modelo que, para cada cliente, para cada
mês prevê os parâmetros da distribuição Weibull, que melhor reflete a ocorrência da probabilidade de saída ao longo do tempo. Em mais detalhes:

  • Os recursos alvo no conjunto de treinamento são o tempo restante até a rotatividade em um mês específico para um cliente específico.
  • Se não houver taxa de rotatividade para um cliente, assumimos que o tempo de rotatividade é maior que o número de meses desde o mês atual até o final do histórico que temos.
  • Modelo utilizado: rede neural recorrente com camada LSTM.
  • Como função de perda, usamos a função log-verossimilhança negativa para a distribuição Weibull.

Aqui estão as vantagens deste método:

  • A distribuição de probabilidade, para além da possibilidade óbvia de classificação binária, permite uma previsão flexível de vários eventos, por exemplo, se um cliente deixará de utilizar os serviços do banco no prazo de 3 meses. Além disso, se necessário, várias métricas podem ser calculadas em média sobre esta distribuição.
  • A rede neural recorrente LSTM possui memória e utiliza efetivamente todo o histórico disponível. À medida que a história é expandida ou refinada, a precisão aumenta.
  • A abordagem pode ser facilmente dimensionada ao dividir períodos de tempo em períodos menores (por exemplo, ao dividir meses em semanas).

Mas não basta criar um bom modelo; é preciso também avaliar adequadamente sua qualidade.

Como a qualidade foi avaliada?

Escolhemos Lift Curve como métrica. É usado nos negócios para tais casos devido à sua interpretação clara, é bem descrito aqui и aqui. Se você descrever o significado dessa métrica em uma frase, seria “Quantas vezes o algoritmo faz a melhor previsão na primeira Como previmos a rotatividade abordando-a como um desastre natural% do que aleatoriamente."

Modelos de treinamento

As condições de concorrência não estabeleceram uma métrica de qualidade específica que permita comparar diferentes modelos e abordagens. Além disso, a definição de rotatividade pode ser diferente e depender da definição do problema, que, por sua vez, é determinada pelos objetivos do negócio. Portanto, para entender qual método é melhor, treinamos dois modelos:

  1. Uma abordagem de classificação binária comumente usada usando um algoritmo de aprendizado de máquina de árvore de decisão de conjunto (Light GBM);
  2. Modelo Weibull-LSTM

O conjunto de teste consistiu em 500 clientes pré-selecionados que não estavam no conjunto de treinamento. Os hiperparâmetros foram selecionados para o modelo por meio de validação cruzada, discriminados por cliente. Os mesmos conjuntos de recursos foram usados ​​para treinar cada modelo.

Pelo fato do modelo não possuir memória, foram adotadas funcionalidades especiais para ele, mostrando a relação entre as alterações dos parâmetros de um mês e o valor médio dos parâmetros dos últimos três meses. O que caracterizou a taxa de variação dos valores no último período de três meses. Sem isso, o modelo baseado em Random Forest estaria em desvantagem em relação ao Weibull-LSTM.

Por que o LSTM com distribuição Weibull é melhor do que uma abordagem de árvore de decisão conjunta

Tudo fica claro aqui em apenas algumas fotos.

Como previmos a rotatividade abordando-a como um desastre natural
Comparação da curva de elevação para o algoritmo clássico e Weibull-LSTM

Como previmos a rotatividade abordando-a como um desastre natural
Comparação da métrica Lift Curve por mês para o algoritmo clássico e Weibull-LSTM

Em geral, o LSTM é superior ao algoritmo clássico em quase todos os casos.

Previsão de rotatividade

Um modelo baseado em uma rede neural recorrente com células LSTM com distribuição Weibull pode prever a rotatividade antecipadamente, por exemplo, prever a rotatividade de clientes nos próximos n meses. Considere o caso para n = 3. Nesse caso, para cada mês, a rede neural deve determinar corretamente se o cliente irá sair, a partir do mês seguinte e até o enésimo mês. Em outras palavras, deve determinar corretamente se o cliente permanecerá após n meses. Isso pode ser considerado uma previsão antecipada: prever o momento em que o cliente estava começando a pensar em sair.

Vamos comparar a curva de elevação para Weibull-LSTM 1, 2 e 3 meses antes da saída:

Como previmos a rotatividade abordando-a como um desastre natural

Já escrevemos acima que as previsões feitas para clientes que já não estão ativos há algum tempo também são importantes. Portanto, adicionaremos aqui à amostra os casos em que o cliente que saiu já está inativo por um ou dois meses e verificaremos se o Weibull-LSTM classifica corretamente esses casos como rotatividade. Como tais casos estavam presentes na amostra, esperamos que a rede os lide bem:

Como previmos a rotatividade abordando-a como um desastre natural

Fidelização de clientes

Na verdade, isso é o principal que se pode fazer, tendo em mãos a informação de que tal e tal cliente está se preparando para deixar de usar o produto. Falando em construir um modelo que possa oferecer algo útil aos clientes para fidelizá-los, isso não pode ser feito se você não tiver um histórico de tentativas semelhantes que terminariam bem.

Não tínhamos essa história, então decidimos desta forma.

  1. Estamos construindo um modelo que identifica produtos interessantes para cada cliente.
  2. Todo mês executamos o classificador e identificamos possíveis clientes que estão saindo.
  3. Oferecemos o produto a alguns clientes, conforme modelo do ponto 1, e lembramos de nossas ações.
  4. Depois de alguns meses, analisamos quais desses clientes potencialmente abandonantes saíram e quais permaneceram. Assim, formamos uma amostra de treinamento.
  5. Treinamos o modelo usando o histórico obtido na etapa 4.
  6. Opcionalmente, repetimos o procedimento, substituindo o modelo do passo 1 pelo modelo obtido no passo 5.

Um teste da qualidade dessa retenção pode ser feito por meio de testes A/B regulares - dividimos os clientes que potencialmente saem em dois grupos. Oferecemos produtos para um com base em nosso modelo de retenção e para o outro não oferecemos nada. Decidimos treinar um modelo que poderia ser útil já no ponto 1 do nosso exemplo.

Queríamos tornar a segmentação o mais interpretável possível. Para isso, escolhemos diversas características que poderiam ser facilmente interpretadas: número total de transações, salários, giro total da conta, idade, sexo. Os recursos da tabela “Mapas” não foram considerados não informativos e os recursos da tabela 3 “Contratos” não foram considerados devido à complexidade do processamento, a fim de evitar vazamento de dados entre o conjunto de validação e o conjunto de treinamento.

O agrupamento foi realizado usando modelos de mistura gaussiana. O critério de informação de Akaike permitiu determinar 2 ótimos. O primeiro ótimo corresponde a 1 cluster. O segundo ótimo, menos pronunciado, corresponde a 80 clusters. Com base neste resultado, podemos tirar a seguinte conclusão: é extremamente difícil dividir os dados em clusters sem informação dada a priori. Para um melhor clustering, você precisa de dados que descrevam cada cliente detalhadamente.

Portanto, o problema do aprendizado supervisionado foi considerado para oferecer a cada cliente um produto diferente. Foram considerados os produtos: “Depósito a prazo”, “Cartão de crédito”, “Cheque especial”, “Crédito ao consumo”, “Crédito automóvel”, “Hipoteca”.

Os dados incluíam mais um tipo de produto: “Conta à ordem”. Mas não consideramos isso devido ao seu baixo conteúdo informativo. Para usuários que são clientes do banco, ou seja, não parou de usar seus produtos, foi construído um modelo para prever qual produto poderia ser de seu interesse. A regressão logística foi escolhida como modelo, e o valor de Lift para os primeiros 10 percentis foi utilizado como métrica de avaliação de qualidade.

A qualidade do modelo pode ser avaliada na figura.

Como previmos a rotatividade abordando-a como um desastre natural
Resultados do modelo de recomendação de produto para clientes

Total

Esta abordagem nos trouxe o primeiro lugar na categoria “AI em Bancos” no Campeonato AI RAIF-Challenge 2017.

Como previmos a rotatividade abordando-a como um desastre natural

Aparentemente, o principal foi abordar o problema de um ângulo não convencional e utilizar um método que normalmente é utilizado para outras situações.

Embora uma saída massiva de utilizadores possa muito bem ser um desastre natural para os serviços.

Este método pode ser tido em conta para qualquer outra área onde seja importante ter em conta as saídas, não apenas para os bancos. Por exemplo, usamos isso para calcular nossa própria saída - nas filiais da Rostelecom na Sibéria e em São Petersburgo.

Empresa "Laboratório de Mineração de Dados" "Portal de pesquisa "Sputnik"

Fonte: habr.com

Adicionar um comentário