流失用户预警本质上就是通过分析用户可能流失的原因,将这些原因通过数据的形式具象出来作为原因,从而给用户打上流失概率标签结果的一个过程,抽象出来就是一个由特征到标签的机器学习的分类问题。
既然是分类问题,就少不了以下几个关键的环节。
样本选择、数据处理
观察期定义流失:由于机器学习需要训练集和测试集,所以要定义一个足够长、样本量足够多的观察期,采集观察期内用户的数据以及用户流失概率的样本作为训练集和测试集,比如可以取过去半年以来用户的数据作为样本,由于用户是否流失结果已知,可以给用户打上流失概率的标签,这些样本经过特征工程后作为分类模型的输入样本,是模型学习分类规则的重要数据来源。
表现期采集用户行为:观察期数据的规律已经被模型学习到,就需要采集下一个窗口的用户行为数据,基于此预测发生这些行为的用户的流失概率
特征工程
紧接着上一环节样本的选择,接下来就是最重要而且是最具有决定意义的环节了—特征工程,机器学习的上限是由特征工程决定的,任何形式的调优只是无限接近这个上限。特征工程一定是基于业务的深刻理解和剖析!一定是基于对业务的深刻理解和剖析!一定是基于对业务的深刻理解和剖析!重要的事情说三遍!机器学习的效果取决于特征工程,特征工程的关键在于业务的熟悉程度。只有对业务足够熟悉,才能将可能影响用户流失的原因准确的数字化、具象化,才能从本质上找到原因,而不是原因的表象,进而才能找到影响留存的关键特征。
举例来说,用户的活跃时长看似是一个和流失非常相关的特征,但是时长并不是用户流失的原因,可能只是产品迭代后用户找不到常用功能这个原因的表象,因为常用功能变了位置没有找到,觉得产品不好用了,逐渐开始寻找其他的替代产品,才导致使用时长变短,这个才是根因,而找到根因的过程无疑是需要对业务有深刻理解的。
一般来说,我们需要考虑的特征可能有以下几个类别:
用户的基本属性:性别,年龄,收入水平,区域等,不同类型的用户可能流失也有所区别
用户的产品行为:所处产品的生命周期,活跃的频次,关键功能的使用频次等,这些我们称之为基础指标,基础指标一般是流失原因的表象,和流失具有相关性,但不具备因果性,不是导致流失的关键特征
其他加工指标:基础指标可能不能很好的挖掘到影响留存的关键特征,需要基于业务理解加工出新的指标,和基础指标一起作为模型训练的特征。常见的加工方法有:
深度指标:反应用户使用深度的指标,用户不仅要用,而且要用的比较深入,比如关键功能的使用次数,有的用户可能只是用了一些边缘性的功能,还未接触到关键功能就流失了,这是很可惜的,所以用这个深度指标可以预测用户是否可能流失的。
频次指标:用户不仅要用的深,还要用的频繁,这个频繁的定义依据不同的产品类型而有不同的定义,有的产品可能需要每天都要用,甚至一天要用几次,有的可能要求一周要用几次,不一而足。但是可以根据产品的特点加工出一个频次指标,比如日/周均使用次数或者日/周均使用天数,这样用户的使用频次得以表征。
趋势指标:用户使用产品的趋势变化,用户使用的趋势直接关系着用户的流失,如果一个用户使用的越来越少了,那大概率用户是要流失了,所以一些常见的趋势指标如近三个月每周平均活跃天数的变化率,可以理解为一个斜率,如果每周的平均活跃天数在一直减少,斜率应该是负值,否则斜率应该是正值,以此表征用户使用情况的变化趋势。
模型选择
特征构造完成后,就需要进行模型的选择了,对于分类模型,一般常用的有逻辑回归,决策树,SVM,XGboost等,每种模型都有各自的优缺点,也对特征有一定的要求,我们无需在模型选择上花费太多精力,可以预选一些模型,带入样本进行训练,观察不同模型的分类效果,选取效果最好的一个作为训练模型即可,这里的效果主要通过分类模型的评估标准来评价,比如混淆矩阵,f1值,还要考虑模型的泛化能力等。流失预警模型构造的重点在于特征工程,而非模型选择,所以这部分不是重点,不再详细展开,需要的可以学习相关的资料。
模型训练与预测
特征加工完成,训练模型确定后就需要将样本进行训练,并通过调参等不断优化模型效果,当各项指标满足要求后,模型训练完成,就可以上线进行预测了,对表现期的用户进行预测,评估其流失的可能性,进而进行针对性的运营动作,到这里就完成了用户流失预警模型的搭建。