99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2022-03-04 閱讀量: 1306
Python:電商客戶價(jià)值RFM劃分案例(演練代碼)

原文出處:https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12281897.0.0.77c92b4abI9m56&postId=286067


代碼摘抄:



import pandas as pd

import datetime

import matplotlib.pyplot as plt


獲取數(shù)據(jù)

data=pd.read_excel('./工作/商品銷售數(shù)據(jù).xlsx')

data.head(10)#查看前十行

數(shù)據(jù)清洗

#查看數(shù)據(jù)基本信息

data.info()

#處理空值

data=data.dropna(subset=['用戶 ID'])

#查看重復(fù)值

data[data.duplicated()]

#刪除重復(fù)值

data=data.drop_duplicates()

#查看描述性信息

data.describe()

#處理異常值

data=data[data['數(shù)量']>0]

data.describe()

數(shù)據(jù)整理

data.head()


#數(shù)據(jù)整理

data['金額']=data['數(shù)量']*data['價(jià)格']

data.head()

pd.to_datetime(data['發(fā)貨日期'])

today='2012-01-01'

#按照訂單號和用戶ID進(jìn)行分組

grouped_data = data.groupby(['訂單號', '用戶 ID'], as_index=False).agg({'發(fā)貨日期': 'max', '金額': 'sum'})

grouped_data

grouped_data['時(shí)間間隔']=(pd.to_datetime(today)-pd.to_datetime(grouped_data['發(fā)貨日期'])).dt.days

grouped_data

計(jì)算R、F、M值

rfm_data= grouped_data.groupby('用戶 ID', as_index=False).agg({'時(shí)間間隔': 'min', '訂單號': 'count', '金額': 'sum'})

rfm_data.columns=['用戶 ID','間隔天數(shù)','下單次數(shù)','金額']

rfm_data

數(shù)據(jù)分析


計(jì)算R值閾值

#計(jì)算R

plt.figure(figsize=(10, 8))

x = rfm_data['間隔天數(shù)'].sort_values()

y =rfm_data.index

plt.plot(x, y)

計(jì)算用戶R評分

# 定義函數(shù)按照區(qū)間劃分 R

def caculate_r(s):

if s <= 100:

return 5

elif s <= 200:

return 4

elif s <= 300:

return 3

elif s <= 400:

return 2

else:

return 1

rfm_data['R評分'] = rfm_data['間隔天數(shù)'].agg(caculate_r)

rfm_data

計(jì)算F值閾值

#計(jì)算F

plt.figure(figsize=[6,6])

x=rfm_data['下單次數(shù)'].sort_values()

y=rfm_data.index

plt.plot(x,y)


計(jì)算用戶F評分

def caculate_f(s):

if s <= 5:

return 1

elif s <= 10:

return 2

elif s <= 15:

return 3

elif s <= 20:

return 4

else:

return 5

rfm_data['F評分'] = rfm_data['下單次數(shù)'].agg(caculate_f)

rfm_data


計(jì)算M值閾值

#計(jì)算m

plt.figure(figsize=[6,6])

x=rfm_data['金額'].sort_values()

y=rfm_data.index

plt.plot(x,y)

計(jì)算用戶M評分

# 定義函數(shù)按照區(qū)間劃分 M

def caculate_m(s):

if s <= 2000:

return 1

elif s <= 4000:

return 2

elif s <= 6000:

return 3

elif s <= 8000:

return 4

else:

return 5

rfm_data['M評分']=rfm_data['金額'].agg(caculate_m)

rfm_data


計(jì)算 R評分、F評分、M評分的平均數(shù)


#分別計(jì)算RFM的平均分

r_avg = rfm_data['R評分'].mean()

f_avg = rfm_data['F評分'].mean()

m_avg = rfm_data['M評分'].mean()

print('R評分的均值為:{}F評分的均值為{},M評分的均值為{}'.format(r_avg, f_avg, m_avg))

標(biāo)記用戶RFM的高低

# R評分、F評分、M評分 的數(shù)據(jù)分別與對應(yīng)的平均數(shù)做比較

rfm_data['R評分'] = (rfm_data['R評分'] > r_avg) * 1

rfm_data['F評分'] = (rfm_data['F評分'] > f_avg) * 1

rfm_data['M評分'] = (rfm_data['M評分'] > m_avg) * 1

rfm_data

# 拼接R評分、F評分、M評分

rfm_score = rfm_data['R評分'].astype(str) + rfm_data['F評分'].astype(str) + rfm_data['M評分'].astype(str)

rfm_score

標(biāo)記用戶類型

# 定義字典標(biāo)記 RFM 評分檔對應(yīng)的用戶分類名稱

transform_label = {

'111':'重要價(jià)值用戶',

'101':'重要發(fā)展用戶',

'011':'重要保持用戶',

'001':'重要挽留用戶',

'110':'一般價(jià)值用戶',

'100':'一般發(fā)展用戶',

'010':'一般保持用戶',

'000':'一般挽留用戶'

}

# RFM評分替換成具體的客戶類型

rfm_data['客戶類型']=rfm_score.replace(transform_label)

rfm_data

## 按【客戶類型】分組,統(tǒng)計(jì)用戶的數(shù)量

customer_data =rfm_data.groupby('客戶類型')['用戶 ID'].count()

customer_data

數(shù)據(jù)展現(xiàn)

# 繪制柱狀圖

plt.rcParams['font.family']=['SimHei']

plt.figure(figsize=(12, 8))

plt.bar(customer_data.index, customer_data)

plt.xlabel('客戶類型', fontsize=12)

plt.ylabel('人數(shù)', fontsize=12)

plt.title('不同客戶的數(shù)量分布', fontsize=16)

# 繪制餅圖

plt.figure(figsize=(14, 10))

plt.pie(customer_data, labels=customer_data.index, autopct='%0.1f%%')

plt.title('不同客戶占比情況', fontsize=16)

結(jié)論和建議

可視化結(jié)果表明一般維持用戶和流失用戶的人數(shù)偏多,分別占比35.8%和38.3%,重要價(jià)值用戶占比14%,其余各類型用戶分別占比不到5%


對于一般維持用戶較多(消費(fèi)頻率高,但最近未消費(fèi),消費(fèi)金額也少)的情況,問題可能在于一般維持用戶后續(xù)的復(fù)購轉(zhuǎn)化不足??梢远嗤ㄟ^短信、平臺網(wǎng)站等渠道,在一般維持用戶購買后的一段時(shí)間內(nèi)可以領(lǐng)取復(fù)購券等策略,將這類用戶轉(zhuǎn)化為更高價(jià)值的用戶類型。


對于流失用戶較多的情況,問題可能在于平臺的產(chǎn)品競爭力或者服務(wù)不足??梢远鄬Ρ雀偲饭镜漠a(chǎn)品,對自身的產(chǎn)品進(jìn)行提升。也可以發(fā)掘用戶興趣,使用推送等低成本手段進(jìn)行挽留同時(shí),可以采取贈(zèng)送優(yōu)惠券的策略,并收集用戶對平臺產(chǎn)品以及服務(wù)的評價(jià)。


對于重要價(jià)值用戶,他們是平臺GMV貢獻(xiàn)最多的一部分用戶。平臺可以投入更多的資源提供VIP或個(gè)性化服務(wù),比如:推薦用戶辦理VIP并提供一對一客服咨詢,創(chuàng)建VIP社群定時(shí)發(fā)放福利,定期舉辦會(huì)員日等手段,提高這類用戶的忠誠度







60.5424
0
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子