这篇内容是多年之前(2020年)的用户增长项目时自己写的总结,这里做一下对于实践和思考的回顾,便于知识的记录和经验分享,内容涉及用户增长理解、个性化推送系统框架、个性化推送问题建模、推送内容池构建、智能文案生成、强化学习、富媒体探索、个性化推送时间模型、推送频控策略、个性化权益、实时session推送、B端用户推送、A/B测试数据分析等。
在进入正题之前,提出一个问题:你是否能让用户再次回到自己的产品上? 如果答案是肯定的,说明你正在建立一个忠实的用户群。 如果答案是否定的,那么说明你只是在暂时租用流量,无论多少用户下载或者试用你的产品,最终都毫无意义,用户终将会流失,现阶段的一切努力都可能是一场空。
1. 用户增长的核心是什么?
曾有一个业内案例,给我留下了比较深的印象。王兴和王慧文创办校内网初期,由于创始人都是硬件出身,在开发第一版校内网的时候花了将近两年时间, 直到2005年才上线,校内网初始功能很少,也没有钱做推广来吸引用户。但他们发现一个奇怪现象:这个网站没有什么功能,但用户为什么不走,反而每两 三个星期就访问一次? 通过对异常现象的排摸,找出了用户之所以留存,且不断有新用户加入的规律:用户在该网站上互动主体是朋友,拉的新客也是朋 友,因为有了朋友熟人才愿意留下来。这和当时业内流行陌生人社交、无边界跨距离沟通,有鲜明的反差。正是因为找到了用户留存的原因,后来才有了定位真实身份&现实社会好友关系的校内网。
由该例子引出我们今天要谈的“用户增长”概念。当谈论增长,传统的思路往往是AARRR这样出名的模型,AARRR分别表示Acquisition、Activation、 Retention、Revenue、Referral。按照该路径,做用户增长首先得获客,再激活、留存,逐步到收入和传播。这样的方法论,在互联网发展早期屡试不爽, 而且也是每个营销人员最喜欢的,因为它围绕“拉新获客”核心展开。早期的流量便宜,且少有产品竞争对手,08年苹果商店只有500个应用程序,却有数百 万的用户,获客成本极低。这样的背景下,通过大规模营销,可以吸引到巨量客群,即使只有5%的留存率,也是比较可观。另一方面,通过大规模推广,建立了极强的品牌认知,也有助于吸引更多的自然流量。时至今日,环顾四周,豪强林立,BAT、TMD虎视眈眈,巨头之间的业务互相重叠,彼此强势踏入对方的核心业务领域。同时,App Store、Google Play、小米/华为商店上架的app数量以数百万计,甚至现在随着大模型的普及,OpenAI应用商店同样如此。可以想象,在这样的竞争激烈时代,再想通过大规模不计成本投放获客,终将自己拖入深渊。当下的环境,以拉新获客为中心的增长模式是没有意义的。
平均每个App在安装后,前3天内将流失掉77%的DAU,在30天内流失90%的DAU,到了90天流失率甚至能达到95%以上。所以在一开始如果产品做不到给用户一个留下来的理由,那么用户自然也没有留下来的必要。让我们看一下拼多多的例子,当下的拼多多位列国内电商领域第三,甚至MAU逼近淘宝。pdd非 常重视用户增长,开辟社交裂变模式,朋友之间砍一刀降价的模式,获得海量的关注度,并通过拼团减价,来促成交易的转化。为什么pdd在杀红了眼的电商行业能够强势崛起,在各种质疑声中快速成长,用户离开之后依然会回到拼多多app?从个人观点看,它的核心就是便宜,它之所以能够留存用户,是因为满足目标客群便宜的需求,砍一刀更便宜、拼团更便宜、价格横向对比更便宜、百亿补贴更便宜,将“便宜”这个概念深深刻入用户心智。他的产品使用体验、撰写的文案、微信直接购买转化,一系列迭代都是围绕如何让目标客群更快转化服务。通过校内网和拼多多的例子,可以看到做产品,必须要给出用户留存的价值,否则拉新获客都是虚无。
因此,在流量价格奇高,获客成本与日俱增的当下,黑客增长的真正核心在留存,而不是获客。AARRR需要转向RARRA,以留存为关键,留存率是反映用户真正价值的指标,因为用户会真实的每天来使用你的产品。当我们优先考虑用户留存时,我们正在构建一个真正的永久的用户群。
以下图全生命周期来看,需要在活跃用户规模+回流用户规模上做足工作,提高用户留存是产品增长的基础。
图1 RARRA及用户生命周期图
2. 促进用户留存方式如何选择?
在做用户留存之前,需要了解你的产品是如何被那些已经使其成为生活一部分的用户所使用的。哪些人是你最成功的长期的忠诚用户?他们在你的产品中做了什么?他们使用哪些主要功能?他们一天中最活跃的时间是几点到几点?他们在安装后的前48小时内做了什么?让用户不断回访的最好方法是了解他们对你产品的喜爱程度,识别并优化你最受欢迎的功能,改善产品的用户体验;发送个性化推送通知,将用户带回你的产品以完成关键操作。针对不同的用户周期阶段,不同的目标用户,有多种促进用户留存的方式:如微博、微信等产品的功能/内容留存,蚂蚁的优惠券/种树养鸡游戏奖励的福利留存,还有就是拼多多/京东电商通过商品消息push的机制留存。
图2 促进留存的方式
在DAU持续下滑的背景下,算法组采取了机制留存的方式进行用户挽回及低活向高活转化的尝试。希望通过个性化消息推送,给用户降价信息刺激,来提升用户对于平台的价值感知。通过个性化push2.0的迭代,从个性化机制、文案分发效率、推送链路有效性、长短期兴趣捕捉等方面投入精力,取得了一些结果。在介绍具体工作之前,让我们先看下个性化消息推送。个性化推送,要解决在畅通的推送渠道下,合适的时间,以不过分打扰用户的前提下,通过有吸引力的形式,给用户推送感兴趣内容(商品/消息/权益),能够有效承接用户流量,并建立指标监控体系。因此整个推送方案,涉及渠道、时间、频控、文案、分发、内容、承接、指标监控。下图从类型、策略、通道、内容四方面系统展示了个性化推送需要考虑的方面。
图3 个性化推送总览
3. 个性化push2.0实践
3.1 个性化推送框架
针对章节二中介绍的体系化推送,我们贴合平台实际,设计了推送系统整体架构,包括离线个性化推送以及实时推送,涉及营销内容池、用户召回模块、
CTR打分模块、频控、投放时间预估、智能文案的生成与优选分发、权益决策、实时消息推送等。事实上,在本方案中,将push问题是作为个性化推荐问题进行建模,由于平台的通道资源充足,不受该资源限制。接下来我们会逐步介绍每一个部分。
图4. 个性化push2.0框架
(1)营销内容&用户池
首先需要解决推送的价值点。在离线个性化阶段选择降价信息作为刺激点,为相关用户进行商品降价信息推送。在实时推送阶段,选择session内用户兴趣商品的性价比更高商品推送及物流状态信息更新作为利益点。优化1.0阶段的降价计算逻辑。 同时,丰富更多的用户行为场景,扩展到9类:购物车商品降价、购物车商品正在特卖、复购商品正在特卖、点击商品降价、感兴趣商品降价、猜你喜欢、全站热销商品、淘宝元推荐、浏览过商品正在特卖。通过以上几种措施,我们日覆盖用户绝对数量由1.0阶段的150w直接扩展到近1000w,保证了整体推送的规模。
部分场景的选品逻辑
(1)购物车降价:最近加购的一款降价商品
(2)点击降价:取用户点击过的商品,计算降价,按照降价比例和点击时间排序,先取出前3款,再随机选1款
(3)感兴趣降价:取用户点击过的商品,关联p2p之后,计算降价,按照降价比例和点击时间排序,先取出前3款,再随机选1款
(4)猜你喜欢:最近点过的商品关联p2p之后,随机分配
(5)热销:销量排序,随机分配
(6)复购商品正在特卖:用户过去7天到过去90天购买次数>=2的商品,关联正在特卖的iid,按照购买次数排序,先选出前3款,再随机选1款
(2)文案优化
推送文案的优化由两部分构成,通过这两者来提升用户的对消息的打开率:
a. 增加用户个性化信息及智能生成有趣文案,提升用户的主动参与感;
b. 引入探索&利用的强化学习MAB机制,可以参考《
基于Multi-Armed Bandits的个性化push文案自动优选算法实践
》,每日根据用户前一天的反馈,自动进行优选。
个性化信息包括用户的昵称、性别、地区、角色、注册时长、好友行为暗示,同时会结合各类场景特有的推送文案模板组成不同的文案,该机制能够明显带来用户的正反馈。项目中共构造了近100种文案模板
。除了文案模板之外,我们引入了一种文案元生成思路,通过NLP技术(基于bert的向量相似度衡量)将平台商品标题与淘宝标题一一映射,将1688创意中心针对淘宝商品生成的文案,应用于平台。
图6 一种基于文本相似度的智能文案元生成技术方案
这里简单介绍下如何进行智能文案的生成,使用的是pointer-generator network算法,该算法建立在seq2seq with attention基础上,引入copy和 coverage机制,解决摘要生成oov的问题。当然目前业内也出现了使用transformer来代替seq2seq的方案,具体可参见《Transformers and Pointer-Generator Networks for Abstractive Summarization
》
。具体的算法架构如下:
图7 基于指针生成网络的文案摘要算法
当我们收集大量的“标题-文案对”数据之后,我们可以通过teacher-student model的方式,使用seq2seq with attention来做新商品标题的智能文案生成。通过具体的实验,可以发现效果还是非常不错的。
图8.
基于收集数据训练的seq2seq with attention模型用于平台商品标题的文案生成(左边为商品标题,右边为文案)
除了文案内容本身优化外,我们还引入了基于探索&利用的强化学习算法MAB。不同文案对于用户的吸引力是不同的,有的文案能够天然得吸引更多用户打开,理应获得更多的曝光机会。如何去控制曝光程度,本方案中采用了一系列MAB算法,先后迭代了e-greedy、softmax、UCB以及现阶段使用的Exp3。 这里给出Exp3的具体实践。Exp3强化学习算法。目前已在猜你喜欢场景上线测试。核心思想是维护一组臂的权重信息,然后使用数学方法得到一组臂的概率分布,接着每次掷骰子去选择臂,根据选择后观察到的收益情况去调整臂的权重,如此迭代下去。论文中证明了使用这种策略能够保证后悔值在一定可以接受的范围内,从而保证了结果不会是最坏的一种情况。
实施步骤如下:
1. 首先规划Exp3的臂策略,按照不同的个性化离线推送场景,对应场景下设置多臂(文案),如购物车降价场景设置26个不同的臂(文案)。
2. 在调度系统上配置周期任务,这个任务的目的是基于每日的用户文案反馈数据,使用Exp的更新策略来更新权重。权重更新策略如下: 小batch更新策略,收集一段时间的数据(push系统使用1天的数据)对每个臂的收益值做归一化,然后更新算法参数。优点是权重更新更加稳定,缺点是收敛速度相对缓慢。
3. 推送计算参数到文案优选算法udf函数进行使用。
4. push 2.0中exp3被应用到对应场景下的文案优选中,每一个臂都可能被摇到,同时从数学角度保证整体选择的收益肯定远高于最坏情况,进而在保证多样性的同时,整体收益高于最坏收益。
图9 Exp3算法伪代码
(3)富媒体探索
推送场景是一个比较特殊的环节,即用户首先接触的是文案消息,只有提升用户对文案消息的关注度,才能更好地做DAU的提升和后续转化。因此在文案消息上,我们除了针对文案内容本身做优化,还尝试引入富文本,通过加入emoji表情,提升文案的亲切感和趣味性,在心理层面对用户加以吸引暗示。国外有相关的研究报告,加入emoji表情,可以显著提升push的打开率。
图10 emoji对于push打开率的助力
(4)个性化选品模型
消息推送单用户每天只能推送一次,而通过行为召回可以获得较多的候选商品,初期为了快速上线,使用随机的方式在部分候选商品中随机挑选一款或者选择操作时间最近的一款,这样的做法过于粗暴。因此,在选品模块,引入CTR模型进行打分排序,精排并做商品多样性策略,选择top1的商品作为推荐的最终内容。在这里CTR模型使用的是wide&deep learning,其具备记忆性及泛化性,在离线AUC评测可以达到约0.82。后续我们也尝试了DeepFM,效果会有进一步的提升,两者的区别主要体现在wide端,deepFM引入了二阶特征的自动交叉。猜你喜欢场景上线,平均可带来30%-40%的点击率提升。同时在打开、转化上都有明显的提升。关于
wide&deep learning和deepFM的原理分析,可以看《
ToB的大模型系统非常有必要引入搜索推荐算法能力(回顾BPR、W&D、DeepFM、ALS等经典算法)
》。
图12 deepFM 框架
(5)推送时间个性化尝试
对用户近30天内每日首次登陆时间的分布进行分析,发现不同用户在使用平台app习惯上存在明显的差异性及稳定性。差异性体现在个体之间的使用习惯,稳定性体现在个人自身的习惯一致性。因此,针对不同用户群体,学习其登录事件的分布特征,预测其下一天的登录时间,进行消息的推送,能够带来更多的关注打开率。在合适的时间触达用户,通过实验,发现个性化的时间相对于非个性化,可以带来将近100%的打开率提升。
图13 用户首次登陆时间分布
图14 首次打开时间群体/个体的分布分析
(6)频控个性化
当前推送端消息推送对象为近期活跃的平台用户,采用无差别推送,会存在明显弊端:
(1)对push敏感用户,容易造成打扰,进而屏蔽推送消息,甚至关闭/卸载app
(2)对于push非敏感用户,由于push链路上的损耗,很可能造成单次push没有真正触达,造成用户资源的浪费。
方案:
开发用户推送心理敏感度模型,识别不同用户对于push的接收程度,对推送频次的容忍程度。
按照不同的等级分,对不同用户的推送信息条数,进行差异化控制。
预期结果: 整体DAU提升,消息推送关闭趋势保持平稳
(7)个性化权益
采用uplift model预测每个用户对于营销推广活动的敏感程度,驱动营销策略制定,促成营销效用最大化。
增量模型,用于预测某种干预对个体行为的因果效应。在本方案中,区别于response模型,精准定位营销敏感人群,刻画因为push刺激而发生购买的概率。
图17 uplift model架构
(8)承接页
承接落地页在整个推送链路中处于非常重要的位置,其承接通过push引入的用户流量,好的承接页能够引导激发用户的购物欲望。目前我们的承接落地页相对来说较清新,如果能够做更多的视觉优化,也许会有更好的表现。
另外我们还有物流承接页、看了又看等一系列承接页的设置。
(9)push链路漏斗分析
推送链路的畅通与可靠性对于整体项目获得成功有着至关重要的作用。其直接影响发送的总消息量级、到达用户的消息量,在打开率维持一定水平的情况下,提升到达量级,能够明显提升整体推送效果。而这方面的分析往往容易被忽视,且在漏斗分析过程中,存在部分环节较难定位存在的问题,需要相关研发同学投入精力配合一起解决。在push项目中,我们曾发现OPPO、VIVO、小米三条渠道无法发送消息的现象,这直接导致上百万的消息被阻断,这样的问题是需要优先解决,才能保证算法端优化的ROI及有效性。
图19 push发送链路漏斗
(10)实时个性化push实践
用户的兴趣可以拆分成长期兴趣与短期兴趣:
(1)长期兴趣(历史浏览点击、加购、复购等产生的兴趣点),行为时间选取范围为离当前时间1-45天
(2)短期兴趣(实时点击但未产生任何转化行为产生的兴趣点),行为时间选取为离当前时间最近1分钟-10分钟
针对长期兴趣,使用离线个性化push进行利益点/推荐商品的触达,以达到焕活用户,促成用户转化的目的.
针对短期兴趣,使用实时session权益推送,以达到捕捉用户短期兴趣,对用户进行及时的利益干预,召回用户,促成用户转化。
图20 实时session push
b. 物流状态信息的推送,同样是基于用户的兴趣捕捉,通过对用户有吸引力的消息推送,增加DAU。
图21 实时物流状态信息 push
(11)To B push探索
B类用户的探索,主要从画像角度出发,借鉴BI的分析成果,对原有的push进行拆分,单独抽离出B类群体,针对B类的商品价格、品类、佣金偏好做个性化选品端的迭代,同时也引入了CTR模型打分排序。
(12)数据分析
在项目进行过程中,基于观察的指标数据,我们进行了多方面的数据分析及提升思考点的实验,获得了一些新的启发。
比如:
(1)从用户、商品层面进行的push场景画像
(2)push对整体平台生态的影响
(3)平台大盘趋势与推送效果的关系
(4)曝光、点击及商品转化的用户分布
(5)转化商品价格偏好及类目分布
(6)不同推送渠道的用户反馈差异性
(7)个性化推送与运营推送的对比
4. 项目初步结果展示
通过2.0的迭代,构建了较完善的个性化推荐系统架构, 系统性的工作也带来了一定的成果。
A/B test--个性化push1.0与2.0系统的uv对比
(红色为1.0, 灰色为2.0,push流量均等的情况下对比)
项目代码列表