一.客户价值分析
在营销场景中,我们经常会遇到这样的一个问题:哪些用户的价值高? 我们如何根据客户价值给用户分群?对于这个问题,RFM就是一种答案。 那具体什么是RFM模型呢? 如何应用RFM做用户分群呢?RFM里的每个字符代表什么意思呢?
RFM中的R
我们从客户价值的角度来分析这个问题。什么样的客户价值比较高? 举个例子,如果有两位客户A和B, A是前天光顾了一家火锅店,B在3个月前光顾了同一家火锅店,那从客户价值角度,A,B中哪一位用户价值更高?
答案很显然是用户A,因为前天来到了此火锅店。如果他对味道和服务都满意,有可能在未来一段时间内重新光顾一次。但相反,用户B没有光顾此店已经有3个多月了,有可能这个用户搬家了,也有可能这个用户觉得这家店并不是很好吃,失去了兴趣。
这就是所谓的R(recency),指的就是近期光顾的客户要比很早以前光顾的客户价值更高,也是符合常理的。
RFM中的F
接着再来看还有哪些因素可能会影响客户价值。除了最近有无光顾之外,还有一个重要标准是光顾了多少次,这就有点像"常客"的意思。假如用户A在过去一年光顾了这家火锅店10次,用户B只光顾了2次,说明用户A对这家火锅店的忠诚度更高,也就是他的价值是更高的。
这就是所谓的F(frequency),说的是频次。一个人光顾的频次越高就说明越忠实,价值也就越高。
RFM中的M
最后,再来看另外一个维度。假如有两个客户A,B,A在过去一年在这个火锅店消费了一万多,B消费了五百,那谁的客户价值更高呢? 显然是A,因为他花了更多的钱,至少说明他的购买能力是要强于B的。
这就是所谓的M(moneytary),指的是一个人在过去一段时间消费了多少钱,消费越多就说明此人的价值就越高。
基于RFM分群
在上面的分群方法里,我们先把每一值映射到了不同的bin, 然后根据自定义的规则对人群做了分群。这种方法的好处在于简单,而且可解释性比较强。但缺点是引入了很多人工的处理和规则。另外,如果我们要考虑更多的维度,需要的规则就变得更复杂,这也给规则的设计增添了更大的难度,一种解决方案是使用K-Means算法。
二.基于K-Means做用户分群
作为经典的聚类算法,K-Means也可以作为用户分群的一种方法。具体实施也很简单,直接在用户数据上跑一下K-Means模型就可以了,但提前要设定K值。这里需要注意的一点是要做必要的数据预处理。因为K-Means算法依赖距离的计算,如果有些特征值很大,就会极大影响距离计算的结果。所以在使用K-Means算法的时候,提前把每个特征的值范围做一些归一化。
用户分群的效果评估
首先,聚类分析是无监督算法,所以做聚类分析之前是没有标签数据的。在没有标签数据的情况下,只能依靠从数据本身的理解或者靠经验来设定分群。但随着活动的正式进行,我们可以逐渐获得一些反馈数据的。比如A类客户的转化率有多少,B类客户的转化率有多少等等。
根据用户的反馈数据,我们就可以调整分层策略了。但这个过程也需要一些技巧。需要思考的一点是:如何使用最小成本来尝试并调整分层策略?一般可采用的方法是A/B测试。假设我们手里有两种分层方案A和B。A方案是目前来讲比较有效的而且稳定的,B方案是想要尝试的而且很可能更有效的。
我们可以针对一部分用户实施B方案,之后再看一下效果。如果发现效果要优于方案A,我们可以逐步在更多的人群里开始使用B方法。 其实任何的AI产品都离不开A/B测试,核心是如何用最小成本去验证某个方案的优越性。
最后的问题是,如何去评估呢? 这个其实要看业务场景了! 比如营销里我们关注的是转化率,那指标就定转化率。如果关注的新增用户,那这就是我们的结果指标。所以具体的指标,需要看当前业务,没有一个标准的答案。