数据分析(二十六)

25.数理统计技术

25.1 客户的标签

分类:基础标签,统计标签,模型标签

  • 基础的客户标签:性别,年龄,职业,可以从原始数据中直接获取
  • 统计标签:原始数据中汇总得到的,比如客户的价值标签
  • 模型标签:基础标签,统计标签和已经存在的模型经过构建数据挖掘模型得到的,比如说数据的流失概率,违约概率

25.2 RFM模型

  • R:最后一次消费的时间(最新消费时间)

    可以代表用户的流失可能性,消费时间越久远,说明顾客的流失可能性越高

  • F:一段时间内的消费的频次

    可以代表挖掘潜力

  • M:一段时间内消费的总金额

    可以代表顾客的价值

在这里插入图片描述

>>> trad=pd.read_csv('RFM_TRAD_FLOW.csv',encoding='gbk')
  	   transID	cumid	     time		   amount	type_label	  type
0		9407	10001	14JUN09:17:58:34	199.0	    正常		Normal
1		9625	10001	16JUN09:15:09:13	369.0	    正常		Normal
2		11837	10001	01JUL09:14:50:36	369.0	    正常		Normal
...		 ...	 ...		  ...			...			...		  ...       
26660	14562	40300	19JUL09:13:51:45	0.0			赠送		Presented
26661	40348	40300	22JUN10:15:42:43	0.0			赠送		Presented
26662 rows × 6 columns            
>>> import time
# 将非标准的字符串时间转成指定的标准的时间展示,然后再转成时间戳便于以后的计算
>>> trad.loc[:,'time']=trad.loc[:,'time'].map(lambda x:time.mktime(
    										time.strptime(x,'%d%b%y:%H:%M:%S')))
>>> trad
  	   transID	cumid	     time		   amount	type_label	  type
0		9407	10001	  1.244974e+09  	199.0	    正常		Normal
1		9625	10001	  1.245136e+09	  	369.0	    正常		Normal
2		11837	10001	  1.246431e+09		369.0	    正常		Normal
...		 ...	 ...		  ...			...			...		  ...       
26660	14562	40300	  1.247983e+09		0.0			赠送		Presented
26661	40348	40300	  1.277193e+09		0.0			赠送		Presented
26662 rows × 6 columns 
>>> for name,obj in trad.groupby('type_label'):
...     print(name)
正常
特价
赠送
退货

# 按照每个用户每个销售类型进行分组,查找最近的消费时间
>>> R = trad.groupby(['cumid','type_label'])[['time'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值