Luiz

Machine learning · 2026 · por Luiz Trajano

Previsão de Churn e Segmentos de Clientes em Academias

Quem vai sair da academia no mês que vem, que tipos de cliente existem e o que fazer para segurar cada um? Numa academia, o cliente raramente cancela: ele vem algumas vezes, vai cada vez menos e um dia some.

Python · Pandas · scikit-learn · SciPy · Seaborn

Origem: projeto da trilha TripleTen Data Analyst (sprint 13). Briefing e dados fornecidos pelo curso; análise, código e conclusões meus.

Sprint 13 - Churn Model Fitness.ipynb — luiz19190/Sprint-13-Churn-model-fitness (4000 customers, K-Means with 5 clusters on standardised features); churn rate per cluster from section 4.6

A pergunta

A Model Fitness, uma rede de academias, queria agir antes de perder o cliente. O problema é que na academia quase ninguém cancela de forma explícita: a pessoa vai cada vez menos e um dia não volta. Quando a academia percebe, ela já foi. O trabalho tinha três partes: prever quem vai sair no mês seguinte, descobrir que tipos de cliente existem na base e transformar isso em ações de retenção concretas.

Os dados

Os perfis de 4.000 clientes, com 14 colunas: contrato (duração, meses restantes, tempo de casa), frequência (média semanal no total e no mês corrente), gastos com serviços extras, perfil (idade, gênero, se mora perto, se veio por indicação, se é de empresa parceira) e a coluna Churn, que diz quem saiu no mês. Nenhum ausente e nenhum duplicado. Saíram 1.061 clientes, 26,5% da base.

Antes de qualquer modelo, encontrei três coisas que mudam a leitura:

  • O contrato de 3 meses citado no enunciado não existe. Só há contratos de 1, 6 e 12 meses, então qualquer média de contrato como "3,16 meses" é uma mistura, não o contrato de alguém.
  • Dois pares de colunas são quase gêmeos: período do contrato e meses restantes (r = 0,97), e a frequência total e a do mês corrente (r = 0,95). Isso distorce a leitura dos coeficientes de um modelo linear.
  • Uma coluna é suspeita de vazamento. Dos 122 clientes que pararam de ir à academia no mês corrente, 116 saíram (95,1%). Se o "mês corrente" é o próprio mês da saída, essa coluna entrega a resposta ao modelo.

Método, e por que este método

Separei treino e validação com divisão estratificada, para a proporção de quem saiu ficar igual (26,5%) nos dois pedaços, e fixei o random_state em tudo. A régua veio antes de qualquer modelo: um chute de "ninguém sai" acerta 73,5% e não encontra nenhum cliente que saiu. Com saídas raras, a acurácia sozinha engana, então comparei também precisão, sensibilidade, F1 e ROC-AUC.

Treinei uma regressão logística (com padronização ajustada só no treino) e uma floresta aleatória. Declarei antes que diferenças de até 0,02 contam como sorteio. A floresta ficou nominalmente à frente em quatro métricas, mas por no máximo 0,010: um empate. Para testar o vazamento, retreinei os dois modelos sem a coluna suspeita. Escolhi a logística porque, sem essa coluna, ela encontra mais clientes que saem (78,8% contra 75,9%), é mais simples e tem coeficientes que dá para ler.

Para os grupos, tirei o Churn antes de agrupar, para os grupos saírem do perfil e não da resposta, padronizei tudo e rodei o K-Means com 5 grupos. O dendrograma sugeria 4 e a silhueta foi fraca (0,128), então leio cada grupo como uma tendência, não como uma categoria rígida. O K-Means também mudava de resultado entre versões do scikit-learn; fixei o ponto de partida e documentei a comparação pela inércia, para os grupos serem os mesmos em qualquer ambiente.

Achados

Quem sai é o cliente novo, de contrato curto e frequência em queda. Quem saiu tinha em média 0,99 mês de casa, contra 4,71 de quem ficou. Saíram 42,3% dos clientes de contrato mensal e 2,4% dos de contrato anual.

O modelo encontra quem vai sair. A regressão logística acerta 92,5% dos clientes da validação e encontra 176 dos 212 que saíram (83,0%), com 88,0% de acerto entre os que aponta. Sem a coluna suspeita, a sensibilidade cai para 78,8%: ela pesa, mas não sustenta o modelo sozinha. Nos dois modelos, os fatores que mais pesam são o tempo de casa e a frequência no mês.

Cinco tipos de cliente, com riscos muito diferentes, como mostra o gráfico acima. Os de pouco vínculo (1.108 clientes) perderam 52,6% e os que moram longe (544) perderam 45,0%: juntos, os dois grupos concentram 828 das 1.061 saídas. Os de contrato anual perderam só 2,2% e os assíduos, 6,9%. Os indicados por amigo ficaram perto da média (24,8%): a indicação ajuda, mas sozinha não segura.

O perfil médio de cada grupo, igual à tabela da seção 4.4 do notebook, mostra de onde vem cada nome: o grupo 0 é o único sem ninguém morando perto, o grupo 1 concentra o contrato anual, o grupo 2 tem 100% de indicados, o grupo 3 é o menor em quase tudo e o grupo 4 é o que mais frequenta.

cluster0Moram longe1Contrato anual2Indicados3Pouco vínculo4Assíduos
gender0,500,500,480,490,59
Near_Location0,000,941,001,000,97
Partner0,470,740,820,240,26
Promo_friends0,080,491,000,020,09
Phone0,920,900,900,900,90
Contract_period2,2111,873,161,992,81
Group_visits0,220,550,450,320,48
Age28,4829,9329,2228,2130,14
Avg_additional_charges_total133,63164,87141,20131,19162,01
Month_to_end_contract2,0710,872,921,902,59
Lifetime2,784,703,712,405,13
Avg_class_frequency_total1,662,001,731,272,88
Avg_class_frequency_current_month1,471,991,631,032,88
Média de cada característica por grupo. Verde: o maior valor da linha; roxo: o menor. Sprint 13 - Churn Model Fitness.ipynb — luiz19190/Sprint-13-Churn-model-fitness, section 4.4: mean of each feature per K-Means cluster (original units; binary columns are shares)

A decisão que habilita

Quatro princípios de retenção, cada um com um passo prático. O primeiro mês decide: boas-vindas com avaliação física e contato do instrutor no fim do primeiro mês. Contrato longo segura: oferecer o semestral ou o anual no mês anterior ao fim do contrato mensal, começando pelos grupos de maior saída. A queda de frequência é o alarme: rodar todo mês o modelo treinado sem a coluna suspeita e contatar quem tiver maior probabilidade de sair. Vínculo social ajuda a ficar: aula em grupo e benefício para quem indica um amigo.

Os princípios vêm de associação, não de causa, então cada ação deve ser testada antes com um grupo de controle sorteado. O projeto foi aprovado pelo revisor da TripleTen.

Links

Repositório