随着互联网产品的发展与成熟,用户增长逐步成为互联网产品发展急需高效解决的问题之一。本文为您介绍阿里云MaxCompute和PAI两个核心产品构建通用用户增长解决方案的核心架构与实践案例。

行业背景

互联网类型企业,其业务本质很多都是在解决用户增长的问题,当前用户运营框架中,有很多用户增长模型,例如比较典型的AARRR用户增长模型。AARRRAARRR模型主要包括:拉新(Acquisition)、促活(Activation)、留存(Retention)、创收(Revenue)、分享(Referral)。

在用户增长模型的各个阶段中,只有实现对海量互联网用户的精准识别和精准内容推送,才能达到各个阶段的用户增长目的,这对数据计算能力和AI建模训练能力都提出了很高的要求。

解决方案架构与核心产品

阿里云联合两个核心产品:机器学习PAI大数据计算MaxCompute,为用户增长提供了一个通用的智能计算训练解决方案架构。解决方案架构
  • 此解决方案架构以阿里云大数据计算MaxCompute为计算引擎,为用户增长提供大数据计算能力。
  • 计算引擎之上为阿里云机器学习PAI提供的AI能力,包括开放框架与产品体系:
    • PAI提供基于TensorFlow、PyTorch的开放框架,也可自行开发SQL、PySpark、Spark类型的算法模型。
    • PAI的整个产品体系包括:
      • PAI-DLC(云原生深度学习运行环境):支持将自定义的code训练脚本打包成一个镜像包后在PAI-DLC内运行。
      • PAI-Studio(可视化建模):将用户增长领域相关的算子模块化,支持经过简单的拖拽来实现整个用户增长的模型训练。
      • PAI-DSW(交互式建模):适用于技术能力比较强的开发者,自行开发相应的脚本。
      • PAI-EAS(模型在线服务):支持将PAI-Studio和PAI-DSW生成的模型生成一个RESTful API,再通过HTTP请求的方式调用该服务。
  • PAI-EAS生成的RESTful请求就可以支撑用户增长细分场景的解决方案,包括广告RTA解决方案、广告DSP方案、智能推荐方案、用户召回方案、LTV计算方案。解决方案最终可以解决用户增长问题,包括拉新、促活、留存、创收、分享。

细分用户增长方案1:拉新

当前通过广告拉新依然是互联网产品获客的一个重要的方法。在广告行业比较流行的方案是RTA(Realtime API)方案,即广告主将经费投放给DSP广告投放平台,由平台去圈选用户进行竞价,在RTA技术支持下,每一次DSP广告平台圈选用户时,会发送一个请求至智能判断模型,由智能判断模型返回判断结果给DSP平台是否要圈选这个用户。

引入阿里云MaxCompute和PAI后,可通过MaxCompute和PAI为广告主定制智能判断模型。后续通过MaxCompute进行数据清理,通过PAI进行竞价模型的训练,训练完成后通过模型筛选值得投放的用户。

拉新核心优势:
  • 强大的数据计算能力:MaxCompute提供PB级别的数据计算能力。
  • 丰富的算法:PAI提供LR、GBDT等经典机器学习算法,同时也提供DeepFM、MultiTower等深度学习算法。

细分用户增长方案2:促活

在新用户都比较少的情况下,用户增长的点在于存量客户能在产品上更长时间的浏览、更多的点击。当前大约70%以上的APP都有一个feed流推荐(相关性推荐),这个系统推荐率准确的高低会直接影响用户在APP上的活跃度。如果推荐的内容都是用户喜欢看的,则会天然的增加点击量和停留时长。比如业内比较火的短视频APP,都具有比较好的个性化推荐系统。

基于阿里云MaxCompute和PAI构建也可快速构建一套推荐系统,比较完善的推荐系统建议同步使用阿里云DataWorks、Hologres和Flink这几个产品,架构图如下。促活一个完善的推荐系统首先需要一个线上的推荐服务引擎,可以分为多路召回、过滤、排序、冷启动四个服务模块。其中对于计算和推荐结果影响比较大的两个模块为多路召回和排序。
  • 多路召回模块可以进行粗筛。
  • 排序模块可以进行推荐结果的排序。
例如,一个用户登录上某电商APP后,APP平台有1000万个存量商品,如果直接使用这个用的信息与存量的1000万个商品去做比对,计算量非常大。多路召回可对存量商品进行初筛,选出相关的几百个商品,然后再做用户信息与这几百个商品的推荐排序,整个计算的复杂性就会变的非常低。
使用MaxCompute和PAI后:
  • 多路召回
    将底层用户的行为日志、用户画像数据、物料属性数据这三个核心表上传到MaxCompute中,利用DataWorks对表做特征加工,生成训练样本、用户特性数据、物料特征数据。基于这些数据,可利用PAI-Studio里面的召回算法,生产一些基础的召回表,比如u2i、i2i、c2i。
    说明 PAI-Studio里内建了大量推荐领域的算法,比如PAI-EasyRec、GraphLearn、Alink。
    基础召回表可存于Hologres里,将上层的多路召回服务跟Hologres做好关联,实现召回模型训练与应用。
  • 排序

    上层的排序服务可以在PAI-Studio里面选择排序算法,生成排序模型并部署到PAI-EAS里,生成RESTful API,后续排序服务模块可以请求排序模型的RESTful API,生生实时的排序结果返回值。

核心优势:经过上述方案架构中的多路召回,把一些重复的商品过滤掉,再进行排序,可以生成实时的TopN推荐列表,最后展示到APP的feed流里。MaxCompute与PAI的价值为完成整个排序业务的数据处理以及模型训练。这一整套相关性推荐系统,会有效提升APP里feed流的CTR、CVR的转化率,帮助APP提升用户的活跃度和停留时长。

更多阿里云相关性推荐系统架构的详细信息请参见PAI平台搭建企业级个性化推荐系统

细分用户增长方案3:留存

当一个APP的存量用户做到百万、千万、上亿时,在数据库中存放了大量历史用户,其中会有很大规模的“沉睡”用户和流失用户(有一段时间没有使用APP的用户),此时用户增长的关键点就在于对“沉睡”用户和流失用户做召回。

当前互联网行业比较典型的方案是通过短信召回,因为短信没有打电话的局限性,也不像push那样容易被拦截,触达用户的效果和概率比较高的。

基于阿里云MaxCompute和PAI构建的流失用户短信召回解决方案已经在多个行业用户处得到落地实践,如小说、社交、游戏等行业等。留存方案的核心是把用户埋点数据存储到MaxCompute中,通过DataWorks做特征加工,用PAI机器学习平台训练一个流失用户召回模型(可使用内建算法DeepFM、GBDT、DIN),之后就可以针对已有的存量用户做一次预测,预测出哪些存量用户被短信触达时,回到APP的概率比较高,后续只针对这部分高概率用户进行短信召回,可以节省召回成本,并且提升召回率。

实践案例:上述阿里云流失用户短信召回解决方案在某一陌生人社交APP产品中得到了实践应用,针对产品库内近千万级别的沉睡用户,通过短信实现流失用户的召回,百万条短信召回比例从3%提升至8%,召回效果提升267%,变相降低成本2倍左右。

细分用户增长方案4:创收与分享

当APP通过广告带来一个用户时,后续需要关注这个用户会不会付费,或者说产生的APP值有多少。有的互联网企业需要在新用户进来的同时,计算出未来这个用户在APP上的消费情况。如果这个用户是一个高价值用户,那就需要通过优惠券或者补贴的方式来进行用户激活。

阿里云提供了LTV(Life Time Value)方案,以一个全新的APP产品为例,由于新APP内还没有任何用户行为日志产生,您可使用第三方的数据源,在MaxCompute和PAI提供的联合建模的方案中进行模拟计算。阿里云MaxCompute和PAI的联合建模方案符合可信计算标准,即用户数据和第三方数据相互独立,没有任何接触,两方数据可以联合建模并在PAI内生成模型(可使用内建算法DeepFM、GBDT、DIN),这个模型可以对每一个新用户进行LTV打分,后续即可基于LTV分指导运营活动。创收与分享

实践案例:上述阿里云LTV方案在某一小说平台得到了落地实践,对平台的全新用户进行30天内购买VIP服务的预测,以便对新用户运营有的放矢,提高运营效率。使用MaxCompute与PAI后,新用户购买VIP判断准确率提升明显。本实践案例中圈选出40%左右的用户作为训练数据,联邦建模生成的模型就可以将67%的会自然购买VIP的会员识别出来,提高67.5%的运营效率(和随机圈选用户进行比较)。

操作示例

以上几个细分场景的架构细节都稍有区别,以流失用户召回细分方案的一个具体实践为例,为您介绍搭建方案架构的具体操作流程与步骤。主要流程如下,详细的操作步骤请参见新用户流失召回
  1. 数据上传到MaxCompute

    通过MaxCompute的Tunnel命令上传数据到项目中:tunnelupload{file}{table};

  2. 构建Workflow

    进入PAI-Studio完成workflow的构建。

  3. 构建训练样本:7天不登录的作为流失用户。
  4. 特征加工

    通过加工把数据变成结构化数据。

  5. One-hot编码

    One-Hot编码可以将类别变量转换为机器学习算法易于使用的形式。

  6. 模型训练和评估

    进行逻辑回归的模型训练,PAI平台上有几十种的分类模型,判断发短信是否能召回可以定义为二分类问题,yes/no。可以使用二分类算法,进行模型训练。逻辑模型训练完后,可以把一部分数据做为测试数据,就能获取到模型效果。

  7. 模型预测

    生成完模型后,可以把模型部署成RESTful服务,供业务方去调用。