Отток клиентов - это когда существующие клиенты перестают вести с вами бизнес. Это может означать разные вещи в зависимости от характера вашего бизнеса. Примеры включают:
Отмена подписки
- Закрытие учетной записи
- Непродление контракта или соглашения об обслуживании
- Решение потребителя совершайте покупки в другом магазине / пользуйтесь услугами другого поставщика услуг
Прежде чем вы сможете выяснить, каков ваш коэффициент оттока, вам необходимо решить, как вы собираетесь количественно оценивать действия, подобные приведенным выше, и договориться о том, что определяет отток клиентов для вашего бизнеса. На основе образцов данных, которыми вы поделились, лучше всего будет рассчитать общее количество клиентов, потерянных за определенный c период . Вам необходимо определить временные рамки, чтобы клиент считался оттоком. Например, Клиент, который не совершал покупок в течение последних 30 дней, 60 дней и т. Д. c в зависимости от интересующей вас компании.
Примеры данных:
import pandas as pd
import datetime as dt
df = pd.DataFrame({'Date':['2020-06-30','2020-05-05','2020-04-10','2020-02-26'],'Name':['Super Mario','Princess Peach','Bowser','Super Mario'],'Subscription':['False','False','False','False']})
df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
Используя данные, мы получим макс. даты транзакции для каждого клиента и решить, ушел ли клиент или выжил.
last_trans=df.groupby('Name')['Date'].max().reset_index()
Получить Текущая дата для расчета продолжительности последней покупки.
today=pd.to_datetime(dt.date.today())
last_trans['last_purchase']=today-last_trans['Date']
last_trans['last_purchase']=last_trans['last_purchase'].apply(lambda x: x.days)
Я рассматриваю 90-дневный интервал подумать о том, ушел ли клиент. (т. е. если клиент не совершил покупку в течение последних 90 дней, я считаю, что это было оставлено, иначе выжило).
last_trans.loc[last_trans['last_purchase']>90,'Category']='Churned'
last_trans.loc[last_trans['last_purchase']<=90,'Category']='Survived'