数据体系运用(6):未来价值测算黑魔法

当年我和一位大促运营曾有一段对话:

我:大促投入这么大,怎么计算ROI呢?

大促运营:比如我们投入了1000万元做大促,大促产生5000万的销售,那么,ROI就是5,也就是1块钱换取了5块钱的销售。

我:那么是不是投入2000万做大促,就可以产生1个亿的销售呢?

大促运营:这个,可能不会。。。

我:那如果只投入1块钱,估计这档大促也能有几千万的销售,是不是这一块钱有几千万的ROI?换句话说,投入越少,会有更大的ROI?

大促运营:那肯定不是。。。

我:那怎么计算ROI从而知道大促投资多少是最优的呢?

大促运营:。。。沉默。。。

其实这是大家经常会碰到的疑问,却十分难以回答。本文提供的方法,希望能对解决这个问题有所帮助。

我们常会对计划要做的某件事进行价值估算,分析这件事的ROI,并决策是否应该进行投资,或在大量项目的排期给某个项目设定正确的优先级。例如,进行一次收费会员的推广活动,投一笔钱做新客大礼包促进新客转化,或者投放一个应用市场的渠道红包。我们知道要花多少钱,然而事情还没做,怎么估算它的未来价值,以判断这件事值不值得去做呢?本文针对这个常见的问题,给出一个经过大量实践检验的思路。

一个项目的价值通常来自于,顾客可能会被这个项目所引导而产生某个我们期望的行为。例如,收费会员的推广活动带来的目标行为是用户购买会员;新客大礼包带来的目标行为是新客注册,以及新客下第一单;应用市场推广活动带来的高价值行为是用户下载app,和打开app。我们可以看到,这些行为可以帮助用户提升忠诚度、黏性、增大未来的销售机会,存在某种中长期的价值(并不是每个行为都会直接带来订单的)。

所以,如果要评估项目的价值,首先应当把这个项目分解到它能够引导顾客做出的高价值行为,估算这些行为对应的单客平均价值,并预测它能够带动多少顾客产生该行为,从而得出这个项目的整体价值。

那么,期望行为的价值如何量化?

有人可能会说,这个简单,我们直接计算所有做出该行为的,和未做出该行为的目标群体的平均贡献,取其差值为该目标行为的价值,不就行了?例如,京东Plus会员有1000万人,非plus会员有2000万人,如果这1000万Plus会员在一年里平均贡献的GMV是人均1万元,而那2000万的非Plus会员在一年里平均贡献的GMV是人均5000元,我们是不是可以结论Plus会员项目带来的人均价值提升是5000元/年,项目总价值=人均价值*总Plus会员数,也就是500亿呢?

是的,如您所想,不能这么下结论(虽然我们常常看到很多人就是这么评估价值的)。不难想到,这些Plus会员,对比非Plus会员,两个群体总体来说本身就存在巨大的差异。比如购买力更强,比如对京东更加忠诚,比如更加偏好京东的强势品类,等等。这批人就算京东没上线Plus会员这个项目,每年贡献的GMV很可能也大大高于5000元。

对于目标行为的价值测算,我们要先限定明确的时间段和范围。例如,“购买付费会员后的365天里产生的下单金额提升”,或者“上线吃货勋章后在随后6个月里带来的食品品类的销售提升”。下面,我们再来看价值如何计算。

假设系统找到两个消费者,张三和李四,在2018年具有十分类似的特征,例如品类偏好、访问频次、浏览风格(精准还是闲逛)、消费特性(价格敏感还是品质导向)、消费能力(年均消费额),等等等等。张三在平台上消费980元,李四消费1000元。如下图:

2019年1月1日张三购买了Plus会员,而李四没有。在后面一个月时间段里,张三消费200元,李四消费100元,那么这个月里两者贡献销售额相差的100元,就是这个“购买Plus会员”行为对于这对“双胞胎”在一个月里产生的业务价值。当然,这个时间段也可以定义为六个月或一年,但价值计算必须指定一个明确具体的范围。

随后我们用算法筛查系统里所有特征接近的用户,假设系统一共找到一万对这样的双胞胎,那么这一万对双胞胎贡献价值差异的均值,就是我们要寻找的该行为的单客价值。要注意的是,这一万对双胞胎,任意两对之间可以完全不同,但同一对里,在其中的一个做出该目标行为之前,两者必须具备极其相似的特性。

有一定的模式识别知识的读者可能会知道“空间聚类”的概念,就是以用户特征为维度定义一个多维空间,把各个特征维度量化后,每个用户在这个空间里就被标记成了一个“点”。例如,我们按用户的品类偏好、访问频次、浏览风格、消费特性、消费能力五个维度来定义用户特征,那么用户特征就是一个五维空间(是不是有点抽象?)。把所有的用户特征进行这五个维度的量化计算后,在这个五维空间中逐一进行标记,就形成了代表所有的用户的一个个点,类似下图。

从图中我们可以看到,代表用户的这些点在空间中会聚拢成一团一团的集合,我们称之为“簇”,每个“簇”代表一组这五大特征都足够相似的用户。我们要计算的价值,就在各个簇内部进行。也就是,找到每个簇中做出了该目标行为和没做出该目标行为的用户,对比两者在指定的后续时间段里的价值均值(从历史数据获取),计算其差异,就是这个“簇”对应的单客行为价值,随后再计算所有“簇”的行为价值,再以每个簇的大小为权重,取加权均值,这个均值就是我们要计算的目标行为的未来价值。

在每个簇内部计算“双胞胎”的价值差距,因为是同一个簇,所以除目标行为以外的所有其它因素的影响都被基本被屏蔽(还记得前面提到的AB测试吗?除了单一被测因素之外,所以其它因素都需要在对比测试组之间完全一致),从而可以准确得出该行为的未来价值。

下面举个栗子。整个系统中用户根据定义的特征聚合成了3个簇,分别有100人,80人,50人。

1. 第一簇的100人中有30个做了目标动作A,70个没做。在后续的一年里,这30个“张三”平均贡献了10,000元的价值,另外70个“李四”平均贡献了6,000元的价值。那么目标动作A在第一簇中的单客价值为4,000元。

2. 第一簇的80人中有35个做了目标动作A,45个没做。在后续的一年里,这35个“张三”平均贡献了8,000元的价值,另外45个“李四”平均贡献了5,000元的价值。那么目标动作A在第二簇中的单客价值为3,000元。

3. 同理,第三簇的单客价值同样方法计算,假设单客价值为2500元。

那么目标动作A的整体平均单客价值=(4000*100+3000*80+2500*50)/(100+80+50)=3326元。

由此可以推论,如果我们做某个活动可以让50个人产生目标动作A,那么这个活动的预期回报就是50*3326=166,300元。

通过上面的案例,我们不难推论,高价值行为还可以拓展到B,C,D……(必须直接或间接与我们的业务目标高相关),用户保持同样的聚类即可做类似计算。随后用同样的方法,根据实际历史数据算出每个行为的预期单客价值。现在,我们可以拓展到项目层面,来看项目的整体价值如何计算。

首先,一个项目可能会触发多个高价值行为,其次,每个行为可能会影响到不同数量的用户。那么项目的总价值,就等于这些行为对应的价值的总和。比如一个项目触发了A,B,C三个高价值行为(各自的单客价值为a,b,c),分别影响了x,y,z数量的用户,那么该项目总价值 = a*x + b*y + c*z

我们可以看到,在这个思路之下,项目价值评估就变得非常客观明确了。

以上的高价值行为大家可以在实际工作中结合自己的业务特性做好预定义(会是一个列表),并通过系统算法根据实际数据不断统计和修正每个行为的单客价值(要带着动态的观念来思考,张三和李四的贡献价值不断在变化,一部分李四也在不断变成张三)。这样,每次上线一个项目,通过AB测试对产生的高价值行为进行统计并评估影响面,就可以知道未来一个指定时间段内该项目会产生的实际价值。

最后说一下这个方法的局限性。首先,任何估算都不可能把所有影响因素100%地考虑全面。其次,任何根据历史数据统计出来的结果在未来都可能发生变化。例如,一次会员拉新活动,其价值计算还会受到如下因素影响:

1. 如果拉的新是100人,和拉的新是100,000人,很可能根据历史数据计算出来前者价值更加准确,而后者本身的规模,可能就会改变历史。

2. 拉新的方式/渠道,会决定拉来的新客本身的特性(就是刚刚说的多维空间里落在哪个“簇”),因为未来价值我们取的是统计均值,落到每一个具体的人,本身就存在偏差。

3. 一次会员拉新,还会产生很多附带因素,比如品牌宣传。一些没买会员的人,可能也提升了品牌认同,促进了他们的价值增长,并在未来增加了购买会员的可能性。

4. 一个会员过去体现出了某种年度价值,在未来可能会受到社会环境变化,竞争对手动作,公司商业策略,会员权益变化等方方面面的影响,而体现出不同的价值。

不过,即便这个方法存在局限性,首先可以通过实际数据持续训练算法,使估算价值可以不断吸收变化因素而始终接近正确值。其次,无论如何,这个估算方式也远远优于本文开头提到的简单估算。最重要的,是要建立一种动态思维,来屏蔽和吸收众的多影响因素和变化因素,使得未来价值相对更加靠谱。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注