本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:如何七周成为数据分析师23:用Python分析用户消费(4)

时间:2017-08-18 20:07来源:天下彩论坛 作者:www.wzatv.cc 点击:
结合回流用户和活跃用户看,在后期的消费用户中,60%是回流用户,40%是活跃用户/连续消费用户,整体质量还好,但是针对这两个分层依旧有改进的空间

结合回流用户和活跃用户看,在后期的消费用户中,60%是回流用户,40%是活跃用户/连续消费用户,整体质量还好,但是针对这两个分层依旧有改进的空间,可以继续细化数据。

接下来分析用户质量,因为消费行为有明显的二八倾向,我们需要知道高质量用户为消费贡献了多少份额。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

新建一个对象,按用户的消费金额生序。使用cumsum,它是累加函数。逐行计算累计的金额,最后的2500315便是总消费额。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

转换成百分比。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

绘制趋势图,横坐标是按贡献金额大小排序而成,纵坐标则是用户累计贡献。可以很清楚的看到,前20000个用户贡献了40%的消费。后面4000位用户贡献了60%,确实呈现28倾向。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

统计一下销量,前两万个用户贡献了45%的销量,高消费用户贡献了55%的销量。在消费领域中,狠抓高质量用户是万古不变的道理。

接下来计算用户生命周期,这里定义第一次消费至最后一次消费为整个用户生命。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

统计出用户第一次消费和最后一次消费的时间,相减,得出每一位用户的生命周期。因为数据中的用户都是前三个月第一次消费,所以这里的生命周期代表的是1月~3月用户的生命周期。因为用户会持续消费,所以理论上,随着后续的消费,用户的平均生命周期会增长。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

求一下平均,所有用户的平均生命周期是134天,比预想的高,但是平均数不靠谱,还是看一下分布吧,大家有兴趣可以用describe,更详细。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

因为这里的数据类型是timedelta时间,它无法直接作出直方图,所以先换算成数值。换算的方式直接除timedelta函数即可,这里的np.timedelta64(1, ‘D’),D表示天,1表示1天,作为单位使用的。因为max-min已经表示为天了,两者相除就是周期的天数。

看到了没有,大部分用户只消费了一次,所有生命周期的大头都集中在了0天。但这不是我们想要的答案,不妨将只消费了一次的新客排除,来计算所有消费过两次以上的老客的生命周期。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

转换成DataFrame。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

筛选出lifetime>0,即排除了仅消费了一次的那些人。做直方图。

这个图比上面的靠谱多了,虽然仍旧有不少用户生命周期靠拢在0天。这是双峰趋势图。部分质量差的用户,虽然消费了两次,但是仍旧无法持续,在用户首次消费30天内应该尽量引导。少部分用户集中在50天~300天,属于普通型的生命周期,高质量用户的生命周期,集中在400天以后,这已经属于忠诚用户了,大家有兴趣可以跑一下400天+的用户占老客比多少,占总量多少。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

消费两次以上的用户生命周期是276天,远高于总体。从策略看,用户首次消费后应该花费更多的引导其进行多次消费,提供生命周期,这会带来2.5倍的增量。

再来计算留存率,留存率也是消费分析领域的经典应用。它指用户在第一次消费后,有多少比率进行第二次消费。和回流率的区别是留存倾向于计算第一次消费,并且有多个时间窗口。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

这里用到merge函数,它和SQL中的join差不多,用来将两个DataFrame进行合并。我们选择了inner 的方式,对标inner join。即只合并能对应得上的数据。这里以on=user_id为对应标准。这里merge的目的是将用户消费行为和第一次消费时间对应上,形成一个新的DataFrame。suffxes参数是如果合并的内容中有重名column,加上后缀。除了merge,还有join,concat,用户接近,查看文档即可。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

这里将order_date和order_date_min相减。获得一个新的列,为用户每一次消费距第一次消费的时间差值。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

日期转换成时间。

wzatv:如何七周成为数据分析师23:用Python分析用户消费

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容