摘要:设计一套完整的用户生命周期策略,极大程度上会提高用户活跃,降低用户流失,反应用户留存,为平台运营的不可或缺的一环
定义
用户生命周期是指用户从加入平台开始,熟悉平台,参与平台,最终流失的整个过程。用户的生命周期相对于自身而言,是一种参与度的变化,参与度也可以称之为活跃度。
如何定义参与度?
以电商平台而言,冒泡(打开app),浏览,点击,搜索,收藏,加购物车,下单,评论等都是用户参与平台的主要行为,综合考虑(但不限于此)这些因素,
活跃度:
θ = α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来确定一个用户所属的生命周期阶段
欢迎大家关注我的个人bolg,更多代码内容欢迎follow我的个人Github,如果有任何算法、代码疑问都欢迎通过公众号发消息给我哦。
*本文参考文献如下:
1.不等长时间序列下的滑窗相似度
2.kmeans距离计算方式剖析
网友评论