Introdução
Oitenta por cento do nosso negócio vem de 20% de nossos clientes.
Custos 10 vezes menos para vender a um cliente existente do que para encontrar um novo cliente
T

Em nosso índiceo "Índice" É uma ferramenta fundamental em livros e documentos, que permite localizar rapidamente as informações desejadas. Geralmente, é apresentado no início de um trabalho e organiza os conteúdos de forma hierárquica, incluindo capítulos e seções. Sua correta preparação facilita a navegação e melhora a compreensão do material, tornando-se um recurso essencial para estudantes e profissionais de várias áreas.... de ações, NIFTY 50 define como nosso mercado de ações está realizando de forma semelhante, Em negócios, é importante entender quem são seus principais clientes, que fornecem fontes de receita consistentes e crescentes para o seu negócio.
Uma das metodologias simples e eficazes geralmente usadas para calcular o valor do cliente ao longo de um período de tempo é RFM, o que é,
Recência (R): há quanto tempo um cliente fez uma compra
Frequência (F): com que frequência um cliente faz uma compra
Valor monetário (M): valor em dólares das compras
Iremos nos aprofundar um pouco mais na análise de RFM na próxima seção:
Vamos dar um pequeno exemplo em que um banco deseja identificar clientes-chave para retenção / em desenvolvimento / aquisição.
Então, no cenário anterior, precisamos avaliar cada cliente que teve transações recentes com o banco em três importantes métricas mencionadas acima R, F y M. Mais tarde, criar uma metodologia de qualificação para segmentar a base de clientes e se candidatar a diferentes programas de marketing.
Processo de análise RFM
Vamos calcular a pontuação RFM para 5 clientes de amostra,
Paso 1: Derivar R, F & M das transações do banco no ano passado.
Preferencialmente, RFM é feito para dados recentes e será atualizado trimestralmente / semestralmente dependendo do negócio

Encontrar R, F e M é muito simples. Digamos que um cliente depositou 10 K de dinheiro a 1 Maio e depositado outro 5 K o 10 Junho e se você estiver fazendo uma análise RFM, 1 De Julio. Agora, para este cliente, a antiguidade será 1 mês porque a última transação foi em junho e a frequência será 2 porque você fez dois depósitos em maio e junho e M será 15 K
Paso 2: Obtenha a pontuação de cada cliente com base em cada parâmetro com base na faixa dentro do parâmetro
Para Recência, o menor, Melhor, devido ao cliente, estamos em sua mente e por Frequência & Monitorar e valores maiores são melhores

Vamos pegar a tabela acima como exemplo, quando comparado a todos os clientes, antiguidade é melhor para o cliente 3, uma vez que é classificado como o número 1, enquanto para a frequência está na 4ª posição e, em termos de valor, na 2ª posição.
Paso 3: Padronize a pontuação de cada cliente com base em cada parâmetro (0-100)

Padronizar = valor atual / Máx. (Valor) * 100
Paso 4: Derive a pontuação ponderada por meio de cada parâmetro para cada cliente
Pontuação consolidada = 0.15 * R + 0.28 * F + 0.57 * M
Os pesos podem ser aplicados igualmente ou podemos fornecer pesos específicos para cada parâmetro com base no conhecimento do domínio ou entrada de negócios. Aqui, no caso anterior, Estamos dando mais importância a Freqüência e Monitoramento.

Simplesmente aplicamos esses pesos a cada cliente.
Por exemplo,
Valor para o cliente 4 = 0,15 * 40 + 0,28 * 60 + 0,57 * 60 = 57
Mais tarde, nós segregamos a pontuação em três segmentos,
- 0 – 50 – Cliente de baixo valor
- 50 – 75 – Cliente de valor médio
- 76-100 – Cliente de alto valor
Agora, com base nas pontuações anteriores, uma empresa pode aplicar o estratégia de diferenciação como retenção / em desenvolvimento / aquisição de diferentes segmentos de clientes
O que mais, a maioria de nós pode traçar o perfil desses segmentos com características adicionais, como dados demográficos, padrão de gastos e vários produtos, etc. entendê-los um pouco mais profundamente.
Agora vamos tentar implementar esta análise RFM em Python.
Análise RMF em Python
Este é um estudo de caso, onde usamos um conjunto de dados da cadeia de varejo europeia.
Os dados de amostra são os seguintes:

Para nossa análise RFM, os recursos-chave importantes que usaremos são InvoicDate, CustomerID e para vendas, usamos Quantidade e Preço Unitário
# Pacotes de importação
importar numpy como np
importar pandas como pd
tempo de importação, advertências
importar data e hora como dt
warnings.filterwarnings("ignorar")
# Obtenha os dados
# Leia os dados
df = pd.read_csv("Retail_data.csv")
df.head()
# Análise RFM
** RFM ** (Recência, Frequência, Monetário) análise primeiro, precisamos criar três recursos R , F & M dos dados
vamos criar esses recursos
## Recência
# Para calcular recência, precisamos descobrir **quando foi a compra mais recente do cliente.**.
# Crie uma nova coluna chamada data que contém apenas a data da fatura
df['date'] = pd.DatetimeIndex(df['InvoiceDate']).encontro
# Agrupe por clientes e verifique a última data de compra
recency_df = df.groupby(por='CustomerID', as_index = False)['date'].max()
recency_df.columns = ['CustomerID','LastPurshaceDate']
# Calcule a data recente para encontrar recência em relação a esta data
recent_date = recency_df.LastPurshaceDate.max()
imprimir(recent_date)
# Calcular recência
recency_df['Recency'] = recency_df['LastPurshaceDate'].Aplique(lambda x: (recent_date - x).dias)
recency_df.head()

Agora, da mesma forma, iremos calcular a frequência e os valores monetários.
# ## Frequência
# Para calcular a frequência, precisamos verificar ** com que frequência um cliente faz uma compra **.
# Eliminar duplicatas
df1 = df
df1.drop_duplicates(subconjunto =['InvoiceNo', 'CustomerID'], manter ="primeiro", inplace = True)
# Calcule a frequência de compras
frequência_df = df1.groupby(por =['CustomerID'], as_index = False)['InvoiceNo'].contar()
frequência_df.columns = ['CustomerID','Frequency']
frequency_df.head()
# ## Monetário
# Para calcular o valor monetário ** Quanto dinheiro o cliente gastou durante o período?**
# Criar coluna de custo total
df['TotalCost'] = df['Quantity'] * df['UnitPrice']
monetária_df = df.groupby(por='CustomerID',as_index = False).agg({'TotalCost': 'sum'})
monetária_df.columns = ['CustomerID','Monetary']
monetária_df.head()
# ## Criar Tabela RFM
# Mesclar dataframe de recência com dataframe de frequência
temp_df = recency_df.merge(frequência_df,sobre='CustomerID')
temp_df.head()
# Combine com o dataframe monetário para obter uma tabela com o 3 colunas
rfm_df = temp_df.merge(monet_df,sobre='CustomerID')
# Use CustomerID como índice
rfm_df.set_index('CustomerID',inplace = True)
# Verifique a cabeça
rfm_df.head()

# Classifique cada métrica R , F & M rfm_df['R_rank'] = rfm_df['Recency'].classificação( ascendente = falso) rfm_df['F_rank'] = rfm_df['Frequency'].classificação(ascendente = verdadeiro) rfm_df['M_rank'] = rfm_df['Monetary'].classificação(ascendente = verdadeiro) rfm_df.head() # normalizar cada classificação com classificação máxima rfm_df['R_rank_norm']=(rfm_df['R_rank']/rfm_df['R_rank'].max())*100 rfm_df['F_rank_norm']=(rfm_df['F_rank']/rfm_df['F_rank'].max())*100 rfm_df['M_rank_norm']=(rfm_df['F_rank']/rfm_df['M_rank'].max())*100 rfm_df.head() # Agora aplique nossa equação e crie a pontuação final ** Pontuação consolidada = 0,15 * R_rank_norm + 0.28*F_rank_norm + 0.57M_rank_norm ** rfm_df['RFM_Score']= 0,15 * rfm_df['R_rank_norm']+0.28*rfm_df['F_rank_norm']+0.57*rfm_df['M_rank_norm'] rfm_df = rfm_df.round(0) rfm_df.head()

# ## Segmentos de clientes com modelo RFM # # Clientes do segmento com base na pontuação RFM # 0 - 50 - Cliente de baixo valor # 50 - 75 - Cliente de médio valor # 76 - 100 - Cliente de alto valor rfm_df["Segmento de clientes"]= np.where(rfm_df['RFM_Score'] > 75 ,"Cliente de alto valor",(np.where(rfm_df['RFM_Score'] < 50 , "Cliente de baixo valor" ,"Cliente de médio valor"))) rfm_df.head()

Agora que conhecemos nossos segmentos de clientes, podemos escolher como nos orientar ou lidar com cada segmento.
Por exemplo:
Cliente de alto valor: Eles são seus clientes fiéis, então, por favor, dê a eles suporte constante por meio do atendimento ao cliente.
Cliente de valor médio: Envie e-mails de vendas personalizados e incentive-os a comprar mais
Cliente de baixo valor: Esses clientes estão prestes a sair ou entrar em um estágio inativo, aplicar estratégias de reativação para eles.
Em Python e R, temos vários pacotes que oferecem suporte à análise de RFM e também existem várias maneiras de derivar uma pontuação de RFM.
Espero que goste deste artigo. Boa aprendizagem 🙂
A mídia mostrada neste artigo não é propriedade da DataPeaker e é usada a critério do autor.
Relacionado
Postagens Relacionadas:
- https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/market-intelligence-como-transformar-datos-en-conocimiento-util
- Entenda o peso da evidência e o valor da informação!!
- Análise de desgaste de funcionários usando regressão logística com R
- Aprenda a analisar por meio de um estudo de caso de negócios



