文章摘要:借助算法能力,助力客户端灰度放量链路,优化灰度弹窗人群,提升灰度效能、增强问题召回能力。这篇文章描述了快手安卓客户端发布如何完成高效放量的智能化落地。
灰度放量是客户端发版链路的重要环节,是APP在商店上架前的最后一道质量防线。在每个发版周期内,快手都会选择千万量级的线上用户进行多轮次的灰度放量,推荐这些灰度用户安装新版本客户端,并希望用户能够在有限的灰度时间内帮助快手发现更多的线上问题,避免缺陷遗漏到正式版本中。
在以往的灰度阶段,灰度安装包采用随机的弹窗策略进行投放,即谁上线就弹给谁,因此随机弹窗的整体投放效果在时效性上可以很好的得到满足,放量时效性很高,很快就可以达到投放量的要求,但其它业务指标并不稳定,例如转化率、活跃度、崩溃数等指标未达到预期的灰度效果。事实上,由于整个灰度策略的效能不足,灰度的召回能力并不理想,尽管有多轮灰度来保证质量,但是不同轮次发现的问题并没有出现递减的趋势,而且每一轮的灰度放量转化率、活跃度都比较低。此外,灰度阶段的客户端处于不稳定状态,放量用户采用的是线上用户,不同用户的容忍度不同,我们不希望因为灰度影响用户体验导致最终用户的流失,因此灰度人群的选择,也需要考虑用户容忍度的特征。
基于以上分析,如何高效进行灰度放量,这个问题就变成了我们怎样在这几亿用户里通过算法精准的去找这样一些目标人群:活跃度高、灰度弹窗转换率高、容忍度强等等,去精准的进行灰度弹窗。
我们一期希望在主站Android客户端灰度场景进行投放实验,所以业务目标定义如下:业务目标:提升灰度放量效果,召回更多问题
要使用模型算法,需要准备数据,可以使用的数据维度还是非常多的,同时我们也建立了一套标准的数据处理流程。
在这个过程中,我们把用户分成了三个群体,分别为敏感度、容忍度、代码变更影响群体:
1. 敏感度群体:敏感度中我们再进行群体细分,分别针对用户基础特征数据进行分析;
2. 容忍度群体:对快手产品高认可度、高包容度,不至于因为发布体验导致流失的群体;
3. 代码变更影响群体:结合版本本身的一些属性,针对代码变更影响到业务与页面信息的群体,比如这次版本上线的是一个直播相关的功能,应该优先去覆盖平时玩直播比较活跃的这部分用户,这样就可以实现一个版本信息和用户的深度双向匹配,以此来提高算法的准确性;
我们根据业务价值进行特征筛选,最终筛选出约几十种用户特征进行模型训练。并根据特征的类型,进行维度扩展,最终抽象出3000+维度的用户特征。
在一期落地中,我们以用户白名单的方式进行离线圈选,共形成3个人群包进行交集操作,最终形成灰度精准投放的人群包。
基于算法模型的精准灰度实验取得了里程碑的进展,经过13个版本的灰一、灰二验证,我们已经实现了提升转换率与活跃度的目标。具体如下:
1. CVR转化率(启动设备数 / 弹窗数)对比随机提升了1倍以上;
2. 活跃度(启动数 / 弹窗数)对比随机提升了2倍以上;
a. 设备启动数提升了近1.5倍;
b. 页面PV(灰度广度)对比随机灰度提升了30%以上;
c. 灰度期间问题发现数提升了1倍
3. 留存率,精准算法对比随机灰度稳定有显著提升。
灰度弹窗对用户来说是有损的,并且灰度过程本身也有时效性的要求。因此如何在有限的用户人群中,提高灰度用户活跃度,获取最大化的灰度效果,就是我们要解决的难题。我们利用了算法的手段,针对用户弹窗点击行为、启动次数、页面浏览次数等业务指标,结合灰度业务的历史人群数据,提取了用户多维度的特征数据,进行训练。有针对性的选取了灰度高活用户进行弹窗,极大的提高了灰度效率。为主站客户端灰度优化、减少灰度时长、缩短发版周期,提供了基础的技术支持。目前快手的发版链路进行了调整,减少了多个灰度轮次,发版周期缩短了2天。接下来,我们会在以下几个方面继续深入探索灰度的精准投放:
• 持续优化放量:对放量做一些算法模型的优化,尝试用多目标学习的手段来处理灰度放量场景。对比单目标优化的模型,容易造成用户体验下降并且流失,多目标会在用户体验、留存等方面带来比较好的收益;
• 更加丰富的灰度场景:针对不同的业务场景,对人群进行分层处理,训练出不同的人群模型,从而满足灰度业务的多场景化要求;
• 不同机型版本的灰度场景:针对不同机型版本,分为高端机与低端机,分别进行分群分层的精准投放与算法优化,满足业务精细化投放的诉求;
• iOS端灰度场景:目前精准投放只针对主站Android端进行高效放量,而iOS灰度场景还未做任何智能实践。
基于过去几个月灰度精准投放的智能化建设,我们已经初步达成各项业务指标,为后续扩展业务至更多更复杂的场景打下了基础。