加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

不到70行Python代码,轻松玩转RFM用户说明模子

发布时间:2019-10-30 15:23:31 所属栏目:教程 来源:一枚程序媛呀
导读:本文从RFM模子观念入手,团结现实案例,详解Python实现模子的每一步操纵,并提供案例同款源数据,以供同窗们知行合一。 注:想直接下载代码和数据的同窗可以空降文末 看这篇文章前源数据长这样: 学完后只要敲一个回车,源数据就酿成了这样: 是不是心动了
副问题[/!--empirenews.page--]

本文从RFM模子观念入手,团结现实案例,详解Python实现模子的每一步操纵,并提供案例同款源数据,以供同窗们知行合一。

注:想直接下载代码和数据的同窗可以空降文末

看这篇文章前源数据长这样:

不到70行Python代码,轻松玩转RFM用户说明模子

学完后只要敲一个回车,源数据就酿成了这样:

不到70行Python代码,轻松玩转RFM用户说明模子

是不是心动了?OK,闲话少叙,我们来开动正餐!

RFM,是一种经典到头皮发麻的用户分类、代价说明模子,同时,这个模子以直白著称,直白到把必要的字段写在了脸上,让我们再念一遍:“R!F!M!”:

  • R,Rencency,即每个客户有几多天没回购了,可以领略为最近一次购置到此刻隔了几多天。
  • F,Frequency,是每个客户购置了几多次。
  • M,Monetary,代表每个客户均匀购置金额,这里也可所以累计购置金额。

这三个维度,是RFM模子的精华地址,辅佐我们把稠浊一体的客户数据分成尺度的8类,然后按照每一类用户人数占比、金额孝顺等差异的特性,举办人、货、场三重匹配的风雅化运营。

用Python成立RFM模子,整体建模思绪分为五步,一言蔽之——“五步在手,模子你有”,别离是数据概览、数据洗濯、维度打分、分值计较和客户分层。

01 数据概览

我们的源数据是订单表,记录着用户买卖营业相干的字段:

不到70行Python代码,轻松玩转RFM用户说明模子

有个细节必要留意,订单每一行代表着单个用户的单次购置举动,什么意思呢?假如一个用户在一天内购置了4次,订单表对应记录着4行,而在现实的营业场景中,一个用户在一天内的多次斲丧举动,应该从整体上看作一次。

好比,我本日10点在必胜客天猫店买了个披萨兑换券,11点又下单了饮料兑换券,18点看到优惠又买了两个冰淇淋兑换券。这一天内固然我下单了3次,但最终这些兑换券我会一次斲丧掉,应该只算做一次完备的斲丧举动,这个逻辑会指导后头F值的计较。

我们发此刻订单状态中,除了买卖营业乐成的,尚有效户退款导致买卖营业封锁的,那还包罗其他状态吗?Let me see see:

不到70行Python代码,轻松玩转RFM用户说明模子

只有这两种状态,个中退款订单对付我们模子代价不大,必要在后续洗濯中剔除。

接着再调查数据的范例和缺失环境:

不到70行Python代码,轻松玩转RFM用户说明模子

订单一共28833行,没有任何缺失值,Nice!范例方面,付款日期是时刻名目,实付金额、邮费和购置数目是数值型,其他均为字符串范例。

02 数据洗濯

剔除退款

在调查阶段,我们明晰了第一个洗濯的方针,就是剔除退款数据:

不到70行Python代码,轻松玩转RFM用户说明模子

要害字段提取

剔除之后,认为我们订单的字段照旧有点多,而RFM模子只必要买家昵称,付款时刻和实付金额这3个要害字段,以是提取之:

不到70行Python代码,轻松玩转RFM用户说明模子

要害字段结构

上面的基本洗濯告一段落,这一步要害在于构建模子所需的三个字段:R(最近一次购置距今几多天),F(购置了几多次)以及M(均匀可能累计购置金额)。

起首是R值,即每个用户最后一次购置时刻距今几多天。假如用户只下单过一次,用此刻的日期减去付款日期即可;如果用户多次下单,需先筛选出这个用户最后一次付款的时刻,再用本日减去它。

必要提示的是,时刻洪水越滚越凶,对应在时刻名目中,就是间隔本日越近,时刻也就越“大”,举个例子,2019年9月9日是要大于2019年9月1日的:

不到70行Python代码,轻松玩转RFM用户说明模子

因此,要拿到全部用户最近一次付款时刻,只必要按买家昵称分组,再选取付款日期的最大值即可:

不到70行Python代码,轻松玩转RFM用户说明模子

为了获得最终的R值,用本日减去每位用户最近一次付款时刻,就获得R值了,这份订单是7月1日天生的,以是这里我们把“2019-7-1”看成“本日”:

不到70行Python代码,轻松玩转RFM用户说明模子

接着来搞定F值,即每个用户累计购置频次。

在前面数据概览阶段,我们明晰了“把单个用户一天内多次下单举动看作整体一次”的思绪,以是,引入一个准确到天的日期标签,依照“买家昵称”和“日期标签”举办分组,把每个用户一天内的多次下单举动归并,再统计购置次数:

不到70行Python代码,轻松玩转RFM用户说明模子

上一步计较出了每个用户购置频次,这里我们只必要获得每个用户总金额,再用总金额除以购置频次,就能拿到用户均匀付出金额:

不到70行Python代码,轻松玩转RFM用户说明模子

最后,万剑归宗,三个指标归并:

不到70行Python代码,轻松玩转RFM用户说明模子

至此,我们完成了模子焦点指标的计较,算是拂拭干净了房子再宴客。

03 维度打分

维度确认的焦点是分值确定,凭证设定的尺度,我们给每个斲丧者的R/F/M值打分,分值的巨细取决于我们的偏好,即我们越喜好的举动,打的分数就越高:

以R值为例,R代表了用户有几多天没来下单,这个值越大,用户流失的也许性越大,我们虽然不但愿用户流失,以是R越大,分值越小。

F值代表了用户购置频次,M值则是用户均匀付出金额,这两个指标是越大越好,即数值越大,得分越高。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读