Usando regressão logística e Árvore de Decisão para fazer previsão de Churn

A rotatividade de clientes ocorre quando clientes ou assinantes param de fazer negócios com uma empresa ou serviço, também conhecido como atrito com clientes. Também é referido como perda de clientes ou simplesmente churn. Um setor no qual as taxas de cancelamento são particularmente úteis é o setor de telecomunicações. Na Edição 56 do Clube do Código, vamos prever a rotatividade de clientes usando um conjunto de dados de telecomunicações disponível no site da IBM, com base em modelos de regressão logística e Árvore de Decisão.

Os dados foram transferidos por download do IBM Sample Data Sets. Cada linha representa um cliente, cada coluna contém os atributos desse cliente:


churn = read.csv('Telco-Customer-Churn.csv')

As variáveis contidas no *dataset* são:

- customerID
- gender (female, male)
- SeniorCitizen (Whether the customer is a senior citizen or not (1, 0))
- Partner (Whether the customer has a partner or not (Yes, No))
- Dependents (Whether the customer has dependents or not (Yes, No))
- tenure (Number of months the customer has stayed with the company)
- PhoneService (Whether the customer has a phone service or not (Yes, No))
- MultipleLines (Whether the customer has multiple lines r not (Yes, No, No phone service)
- InternetService (Customer’s internet service provider (DSL, Fiber optic, No)
- OnlineSecurity (Whether the customer has online security or not (Yes, No, No internet service)
- OnlineBackup (Whether the customer has online backup or not (Yes, No, No internet service)
- DeviceProtection (Whether the customer has device protection or not (Yes, No, No internet service)
- TechSupport (Whether the customer has tech support or not (Yes, No, No internet service)
- streamingTV (Whether the customer has streaming TV or not (Yes, No, No internet service)
- streamingMovies (Whether the customer has streaming movies or not (Yes, No, No internet service)
- Contract (The contract term of the customer (Month-to-month, One year, Two year)
- PaperlessBilling (Whether the customer has paperless billing or not (Yes, No))
- PaymentMethod (The customer’s payment method (Electronic check, Mailed check, Bank transfer (automatic), Credit card (automatic)))
- MonthlyCharges (The amount charged to the customer monthly)
- TotalCharges (The total amount charged to the customer)
- Churn ( Whether the customer churned or not (Yes or No))

Os dados brutos contém 7043 linhas (clientes) e 21 colunas (recursos). A coluna *Churn* é o nosso alvo. Usamos todas as outras colunas como variáveis explicativas do nosso modelo. Uma grande parte do trabalho, contudo, é de limpeza dos dados, isto é, torná-los prontos para a parte de modelagem. Talvez por isso, escolhi o exercício para essa edição do Clube.

Uma vez que os dados estejam limpos, é possível dividir a amostra em subamostras de treino teste, estimando uma regressão logística e construindo uma árvore de decisão. Ambos os modelos tem uma acurácia acima de 70%. Isto é, dentro da amostra de teste, eles conseguem performar corretamente em 70% dos casos - lembrando que a variável de interesse é uma variável binária.

O exercício estará disponível para os membros do Clube do Código na próxima semana.

______________________________________

(***) A ideia do exercício foi obtida em [towardsdatascience.com],  um site bastante interessante para quem quer aprender Data Science.

 

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Estamos em pleno emprego no mercado de trabalho?

Este artigo investiga se o mercado de trabalho brasileiro atingiu o nível de pleno emprego, utilizando uma estimativa da NAIRU (Non-Accelerating Inflation Rate of Unemployment) baseada na metodologia de Ball e Mankiw (1997). Através de uma modelagem em Python que unifica dados históricos da PME e PNAD Contínua com as expectativas do Boletim Focus, comparamos a taxa de desocupação corrente com a taxa neutra estrutural. A análise visual e quantitativa sugere o fechamento do hiato de desemprego, sinalizando potenciais pressões inflacionárias. O texto detalha o tratamento de dados, a aplicação do Filtro Hodrick-Prescott e discute as vantagens e limitações da metodologia econométrica adotada.

Como se comportou a Taxa de Participação no Brasil nos últimos anos? Uma Análise com a Linguagem R

O objetivo deste estudo é analisar a evolução da Taxa de Participação no Brasil, contrastando-a com a Taxa de Desocupação e decompondo suas variações para entender os vetores (populacionais e de força de trabalho) que influenciam o comportamento atual do mercado de trabalho. Para isso, utilizamos a linguagem R em todo o processo, desde a coleta e o tratamento das informações até a visualização dos resultados, empregando os principais pacotes disponíveis no ecossistema da linguagem.

Como se comportou a inflação de serviços no Brasil nos últimos anos?

Uma análise econométrica da inflação de serviços no Brasil comparando os cenários de 2014 e 2025. Utilizando uma Curva de Phillips própria e estimativas da NAIRU via filtro HP, investigamos se o atual desemprego nas mínimas históricas repete os riscos do passado. Entenda como as expectativas de inflação e o hiato do desemprego explicam o comportamento mais benigno dos preços atuais em relação à década anterior.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.