前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >应用:用户生命周期

应用:用户生命周期

作者头像
sladesal
发布2018-08-27 11:19:49
9350
发布2018-08-27 11:19:49
举报
文章被收录于专栏:机器学习之旅机器学习之旅

摘要:设计一套完整的用户生命周期策略,极大程度上会提高用户活跃,降低用户流失,反应用户留存,为平台运营的不可或缺的一环

定义

用户生命周期是指用户从加入平台开始,熟悉平台,参与平台,最终流失的整个过程。用户的生命周期相对于自身而言,是一种参与度的变化,参与度也可以称之为活跃度。


如何定义参与度?

以电商平台而言,冒泡(打开app),浏览,点击,搜索,收藏,加购物车,下单,评论等都是用户参与平台的主要行为,综合考虑(但不限于此)这些因素,

活跃度:

代码语言:javascript
复制
θ = α1* pv + α2 * click + α3* search + α4 * clc + α5* cart + α6* order + α7* comment + bubble

*其中,θ是活跃度,pv是用户浏览量,click是用户点击量,search是用户搜索量,clc是用户收藏量,cart是用户加购物车次,order为用户订单量,comment为用户评论量

α1 为全部用户冒泡次数 与 全部用户浏览量之比;

α2 为全部用户冒泡次数 与 全部用户点击量之比;

...

这样保证了,所有平台参与行为与用户活跃情况成正相关,同时动态变化的降低了操作成本低的变量的权重,也满足奥卡姆剃刀原理

后续再利用活跃度来直接衡量生命周期状态。

如何定义生命周期?

  • 以电商平台为例,考虑用户的行为,先来定义生命周期状态划分逻辑: 1.计算用户连续N(N>3)个周期内的参与度组成特征向量 2.形成不同生命周期下的模式特征向量 3.分类用户的特征向量如下:

生命周期状态

生命周期类型

描述

初生期

新增用户

处于新生用户没有用户记录

成长期

显性成长

最近三次生命周期状态都是成长期

成长期

隐性成长

最近三次生命周期状态不全是成长期

稳定期

低稳定

处于平稳期阶段,参与度低于1/4分位数

稳定期

中稳定

处于平稳期阶段,参与度介于1/4-3/4分位数

稳定期

高稳定

处于平稳期阶段,参与度高于3/4分位数

衰退期

轻微衰退

连续x个周期进入衰退期或流失期

衰退期

重度微衰退

连续x个周期进入衰退期或流失期

流失期

流失期

刚进入流失期

沉默期

沉默期

长期处于流失期

  • 定义完整的用户生命周期状态后,再对用户的生命周期做session切分,根据聚类算法,将样本用户进行聚类,形成聚类中心,判断用户距离聚类中心距离,匹配用户所处的生命周期详细位置,反过来输出分位数,判断用户生命周期类型。

下面思考如何优化kmeans解决这个问题:

考虑到业务开发的效率等原因,常规的聚类算法中,kmeans常常为优先考虑的算法,但实际运用过程中,需要根据不同的问题有差异化的优化。

1.考虑用户的特征偏移

可能存在用户的活跃属性间断,比如用户外出出差一周,导致某个单位统计时间内平台参与度下降,用户的活跃属性下降,而实际用户为真实高活跃用户,只是出现异常间断点,影响用户活跃的最终判断,利用语义分析中的最佳路径计算方式解决这个问题。

这三条线中,蓝色和青色线的分布走势类似,而红色线条的差异较大;计算蓝色-->红色的欧式距离,蓝色-->青色的欧式距离,发现蓝色-->青色的欧式距离反而大于蓝色-->红色的欧式距离,时间波动的情况下,欧式距离偏差较大。

所以,常规意义上的kmeans等基于欧式距离的算法这种情况下,使用较为局限。所以在整体思路不变的情况下,就距离计算,我们可以参考语音分析里面的DP(最佳路径规划算法),构造邻接矩阵,寻找最小最小路径和

实际在计算蓝色曲线到青色曲线的距离的时候,同时计算AB(蓝色曲线当前位置A点到前一个时间段青色曲线位置B)、AC(蓝色曲线当前位置A点到当前时间段青色曲线位置C),AD(蓝色曲线当前位置A点到后一个时间段青色曲线位置D)的距离,综合判断一个点最短路径;再根据曲线上的每一个点,会形成一个矩阵,判断矩阵的每个点的最佳路径即可

可以用如下的公式表述:

其中,

就是路径选择的过程

以上述的计算方式替换掉常规的kmeans中的欧式距离,提高了相似度的计算精度。

2.常规等距划分session不适用于生命周期

就用户平台活跃而言,不同用户可采用的用户时间窗口不同,新加入的用户可能可获取的时间长度较短;用户判断过程中的session与平台确定已知的生命周期session固定判断长度也是不相同的。同时,kmeans中的距离判断方法不能同时考虑到不同session下的距离计算问题

最简单常规的计算方式:

是补全较短的session的时间窗口,在相同的时间窗口之下,再去计算较短的时间窗口与较长的时间窗口下的生命周期的均值,这样会人为干涉过多,数据质量较低,图b即为数据补齐

"STS距离"计算方式:

在长时间窗口{r}集合中,寻找时间窗口长度子集,使得子集中的元长度与s曲线缺失的长度一致,在以s断点处开始向后寻找{r}子集合中的所有满足的元,再以均值时间序列替换原来的子集中的元作为r和s的拟合曲线,循环往复计算中心曲线2,如图c

有了补齐长度下的中心曲线,再便可采用kmeans的常规方式,计算各时间长度窗口下的生命周期的距离

3.附加限制属性

再最后落地生命周期的长度的时候,考虑到商品平台的特殊属性,比如:

  • 商品周期性(奶粉用户周期购买等)
  • 用户偏好属性(酒店用户品质偏好等)
  • 平台的时间依赖情况(夏季冬季季节偏好等)
  • ...... 以上即为如何通过kmeans来确定一个用户所属的生命周期阶段

*本文参考文献如下:

1.不等长时间序列下的滑窗相似度

2.kmeans距离计算方式剖析

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.07.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
  • 如何定义参与度?
  • 如何定义生命周期?
  • 下面思考如何优化kmeans解决这个问题:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档