Saltar para o conteúdo

Use Case

Uma Visão Geral da Previsão de Churn

Kelwin · 20 de janeiro de 2021

A previsão de churn — a par com o engagement — é provavelmente o caso de uso mais procurado que recebemos de departamentos de Marketing em várias indústrias. Para quem não sabe o que é churn, basicamente está associado a clientes que vão sair da sua empresa ou serviços. Portanto, não é surpreendente que as empresas invistam muito esforço em garantir que, após adquirir um cliente, não o perdem.

Podemos pensar sobre churn em vários ângulos, mas todos são resolvidos — mais ou menos — pelos mesmos modelos analíticos. Por exemplo:

  • Podemos falar de churn voluntário, quando é o cliente quem toma a decisão, ou involuntário, quando é a empresa que decide que o cliente deixou de ser rentável e cessa o serviço. Em qualquer caso, quer saber quais clientes vão transitar de utilizadores geradores de receita para clientes de receita nula ou geradores de prejuízos no futuro próximo.
  • Podemos falar de churn no sentido em que a pessoa vai para um concorrente (por exemplo, rotatividade de colaboradores, mudança de fornecedor de internet), ou casos em que o cliente perdeu interesse no serviço que oferece (por exemplo, filiação em ginásio, cursos online, etc.). Em qualquer caso, quer prever quem está a fazer isto, diferindo apenas a sua proposta para reengajamento.
  • O churn pode ser classificado como hard, quando há rescisão contratual, de serviço ou subscrição, ou soft, quando o cliente simplesmente deixa de comprar na sua loja sem expressar explicitamente que não quer mais saber de si.
  • Uma definição mais esotérica aplica-se a clientes que terminam testes gratuitos sem subscrever versus aqueles que convertem. Embora isto seja tipicamente tratado do ponto de vista comercial como conversão de leads em vez de churn, os modelos analíticos que resolvem este caso encontram-se na mesma família de modelos.

Curso, Templates

Data Ignite

Domine a arte de transformar empresas com IA.

Saiba Mais

Como modelar o churn?

Nesta secção, abordaremos o churn sob múltiplas perspetivas, incluindo alguns insights da nossa experiência anterior sobre como melhorar estes modelos.

Churn como classificação binária

Para ser realista, todos os clientes vão fazer churn eventualmente. Vão deixar de comprar os seus serviços (churn voluntário) ou a empresa vai encerrar (churn involuntário). Portanto, quando pensamos em prever churn como um sinal binário, isto está restringido a uma certa janela de observação. Por exemplo, quem vai fazer churn na próxima semana, no próximo mês, no próximo trimestre, etc.? A função preditiva, neste caso, tende a assumir esta forma:

![ $$F(\text{customer}) \rightarrow \text{Churn Probability}$$ ](/wp-content/ql-cache/quicklatex.com-e4a3a94c291fc394be60e4d32d245b95_l3.png)

Modelos que predizem churn num futuro mais imediato tendem a ser mais precisos. Designadamente, é mais fácil identificar clientes insatisfeitos que vão iniciar rescisão contratual amanhã do que dentro de um ano. Contudo, a previsão de churn a curto prazo é menos acionável, uma vez que para a maioria desses clientes, o dano pode ser irreparável. Portanto, devemos procurar um equilíbrio adequado entre a precisão de previsão e a recuperabilidade/acionabilidade.

Em geral, esta categoria enquadra-se na classificação binária, o que nos permite usar qualquer modelo de classificação desde que seja capaz de lidar com dados extremamente desequilibrados na ordem de 1-99 ou até menos. Sim, são más notícias para Cientistas de Dados, mas boas notícias para o lado do Negócio — caso contrário, o negócio teria falência em breve. Mesmo que consideremos o alvo como uma etiqueta binária, considere o resultado do modelo como uma probabilidade e trate aqueles com uma probabilidade suficientemente elevada para compensar os custos do tratamento. Portanto, favoreça falsos positivos, uma vez que um cliente perdido é difícil — ou até impossível — recuperar. Falsos negativos não são tão maus a menos que esteja a oferecer descontos/benefícios significativos para reengajamento.

A principal desvantagem desta abordagem é que não lhe dá um indicador de urgência de quando o cliente vai sair, nem lhe diz que ações seriam necessárias para o recuperar.

Já vi pessoas a usar valores SHAP para "decidir" como salvá-los. Por favor, não vá por aí. Está simplesmente errado. Se o seu modelo acha que um cliente vai fazer churn porque não usou os seus serviços durante um mês, o tratamento certo não é convidá-lo para entrar no seu website. Tenha em conta que os seus modelos estão a aprender correlações e não causalidade.

Tempo até churn

Os modelos de tempo até churn visam prever quando o cliente vai sair da empresa. Estes modelos podem basear-se em regressão padrão, classificação ordinal com segmentação de tempo em classes, ou usando previsão de análise de sobrevivência. A função preditiva, neste caso, tende a assumir esta forma:

![ $$F(\text{customer}) \rightarrow \text{Time to Churn}$$ ](/wp-content/ql-cache/quicklatex.com-271d564b024e8963061e0bd672db0bec_l3.png)

A principal ambiguidade dos modelos de tempo até evento é como lidar com clientes que não fazem churn. Designadamente, como incluir clientes ativos durante o treino? Pode usar aprendizado semi-supervisionado (assumindo que não conhece a sua etiqueta) ou aprendizado fracamente supervisionado (regulando a previsão para ser mais elevada que a sua janela de observação sem dizer explicitamente o valor atual).

Assim que sabe o tempo até churn, pode agendar clientes para lidar primeiro com aqueles que vão sair da empresa mais cedo.

Embora estes modelos sejam mais informativos quanto à urgência do que os de classificação binária, ainda assim não lhe dizem como salvar o cliente.

Uplift modeling

Da nossa experiência, a forma correta de modelar o churn é usando uplift modeling. No uplift modeling, o objetivo é descobrir o efeito de uma ação de marketing num cliente. Por exemplo, como a probabilidade de churn diminui com um desconto, campanha de marketing, etc. Enquanto aprender de forma contrafactual é difícil — isto é, não sabe o que teria acontecido se não tivesse feito a ação — pode estimar o efeito aplicando diferentes ações a diferentes clientes e aprendendo a probabilidade de churn condicionada à ação. A função preditiva, neste caso, tende a assumir esta forma:

![ \begin{eqnarray*} G(\text{customer}, \text{action}) & = & F(\text{customer}, \text{do nothing}) - \\ & & F(\text{customer}, \text{action}) \end{eqnarray*} ](/wp-content/ql-cache/quicklatex.com-85893945188551184386b4319511185c_l3.png)

onde F é qualquer um dos dois métodos anteriormente referidos (churn como classificação binária ou tempo até churn) mas condicionado à ação. Para simplificar, vamos assumir que está a modelar F como uma tarefa de classificação binária. Neste caso, o modelo está a dizer-lhe o benefício esperado de aplicar uma ação. Portanto, já não está a direcionarse para os clientes mais insatisfeitos, mas está a direcionarse para a lealdade geral. Que ação devo aplicar a cada cliente para o engajar?

Quanto a modelar ações no seu modelo, não vá com ações abstratas. Tente ser o mais discriminativo possível nas features. Inclua features como: qual é o canal de contacto? qual é o dia do mês/semana/hora do dia? qual é a percentagem de desconto que estou a oferecer? Que benefícios adicionais estou a incluir? Desta forma, o seu modelo será capaz de generalizar para novas ações que fizer no futuro.

Claro que as ações têm custo. Portanto, provavelmente não quer apenas a ação que minimiza churn a qualquer custo (que provavelmente seria pagar o seu cliente por usar o seu serviço). Quer a ação que tem o melhor equilíbrio entre reter o cliente e obter algum lucro. Digamos que a receita prevista para um cliente ativo é R(customer) (consulte o nosso anterior artigo de blog para aprender como estimar isto).

Também, temos uma função que nos diz o custo de uma ação C(action). Assumindo um utilizador que deixa o serviço gera $0 (pode não ser o caso, uma vez que interromper contratos tende a incorrer em despesas em ambos os lados), a função final que lhe diz a melhor ação por cliente é:

![ \begin{eqnarray*} argmax &  & (F(\text{customer}, \text{do nothing}) - \\ {a \in \text{Actions}} & & F(\text{customer}, \text{action})) * R(\text{customer}) - C(\text{action}) \\ &  & \\ \end{eqnarray*} ](/wp-content/ql-cache/quicklatex.com-b4816776ecddb684be08208d56505b82_l3.png)

Se a melhor ação tem um ganho esperado negativo, o melhor é deixar o cliente partir. Caso contrário, opte por essa ação e mantenha tanto o seu cliente como o CFO satisfeitos.

Construímos dezenas de modelos de churn para múltiplas indústrias. Portanto, se reduzir churn* é um dos seus objetivos como empresa e está a olhar para análise preditiva, marcamos uma chamada e discutimos como podemos colaborar.

* aumentar engagement, upselling, cross-selling, etc.

Quer discutir melhor esta ideia?

Marque uma reunião com Kelwin Fernandes

Conheça o Kelwin Saiba Mais