低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

快手用户增长实践

2019 年 11 月 19 日

快手用户增长实践

用户增长近年成为非常火热的方向,但目前业内关于短视频领域的用户增长的公开实践资料却凤毛麟角。在 QCon 上海 2019 的演讲中,快手资深研发工程师叶邦宇首次系统地披露快手作为短视频领域巨头在用户增长方面的实践, 并着重介绍快手用户增长的技术体系和技术沉淀。


大家好,我是来自快手的叶邦宇,今天非常荣幸能代表快手用户增长技术团队,给大家分享快手在用户增长上的一些实践经验。



用户增长的方法论可以简单概括为开源 + 节流, 也就是促拉新 + 提留存。而促拉新中,触达是前提,分享和裂变是重点。提留存,“有趣”和“有用”是关键。“有趣”带来了精神享受,本质上也是“有用”。对于“有用”,不能简简单单认为有经济收益才是有用。


快手致力于用有温度的科技提升每个人独特的幸福感,让普通的用户也有机会被看到,有机会和更多人产生连接。在快手上很多用户出于兴趣爱好,自发生产视频内容,通过短视频和直播和其他用户频繁的互动交流,有些出发点并不是为了获得经济收益,而是为了和其他人产生连接,能够产生情感的交流。人本质上是社会性动物,社会参与感和个人成就感也能带给人幸福感。当然,如果平台可以让用户通过合法、合情的手段获得经济收益,这本身是一条非常好的提留存的方向。


用户增长策略的分享分为三个部分,首先谈一谈程序化广告投放。前面说过,促拉新的前提是“触达”,目前为止,广告依然是触达里最重要、最有效的手段之一。兵马未动,粮草先行,投放广告的前提是素材准备。素材有两个特点,第一,时效性强。如果不干预,投放效果随投放时间而持续下降;第二,投放效果非常依赖于素材质量。



因此,我们希望能大规模地生产高质量素材。传统素材制作方式,只能通过“人肉”搜索、浏览的方式寻找站内视频资源,寻找面积有限且查询效率很低。给素材进行标签分类时,也是通过“人肉”打标签的方式,对素材进行归类管理,在实际过程中往往出现打错、漏打、命名不规范等问题,影响投放效果。


因此我们建立创意素材中心,从「量」和「质」两方面解决问题,提高素材产能,提升素材质量、提升投放效果。


首先基于快手用户视频,通过人气榜单、分类 TOP 等方式,海选出大量的优质候选视频。除了站内视频素材,平台也支持站外素材上传,此时通过快手多媒体内容理解部的图像理解能力,会关联找到相似的站内视频。


第二步是运营人员对海选视频进行精选,这里平台会提供海选视频站内数据、历史投放效果,辅助运营决策。


下一步素材生产,系统会从站内视频中进行视频剪辑,关键帧抽取,结合素材模板,使用 AE 等工具,自动化生成素材。投放素材制作完成后,快手还会有严格的审核机制,保证投放素材符合法规政策,符合快手调性。通过这一套流程,可以实现快速从快手海量视频中挖掘投放素材。



素材生成好后,接下来是投放过程。传统做法是在广告平台上开通账户、上传素材后就开始投放,广告主最后只能看到效果数据,而其中的投放策略,包括召回、排序、流控等细节对广告主是完全透明的。为了提高定向准确度,传统广告投放中广告主需要为广告平台提供人群包,这样的做法有几个缺点:第一,麻烦,需要不断人工或者半人工更新;第二,人工或者半人工更新有一定的时效滞后性。近几年流行的 RTA 投放方式,理论上就是把部分权利下放给了广告主,直接把流量打给广告主,让广告主决定是否需要这个流量。RTA 投放中,具体出价策略还是在广告平台上完成,如果把每次请求的出价权利都下放给广告主,那就是经典的 RTB 了。目前,我们已经接入了多家媒体的 RTA 投放。



传统的做法中,站内推荐与站外投放是隔离的,在快手,两者是有机的,即拉新、承接一体化。在站外,用户点击广告素材,而素材是根据快手的视频所产生的,我们可以基于点击视频和推荐系统算法来做精准推荐,在用户打开快手的时候做冷启动优化,比如站外看了世界杯的广告,打开快手时就推送足球相关的短视频,这样用户的体验是连续的。



第二个部分,谈一谈快手极速版。快手极速版是网赚模式的极致应用。通过开局红包和开门红金币直接触达用户的 aha ! moment;除此之外,极速版还设立了用户成长体系,通过对用户生命周期和价值分布做精细化分析,提供个性化服务。在快手上,用户沉淀了丰富的社交关系链,用户不仅看视频,还与其他用户互动(评论、点赞、私信等等)。如果能让身边的人来帮忙一起赚钱,分布式赚钱、众包赚钱,用户留在平台上的动力会更充分。基于这些思考,极速版设计了师傅邀请体系,具体的玩法欢迎大家可以打开快手极速版去体验一下。



一款单纯靠补贴的产品无法长远地发展,快手极速版依靠几类增(长)商(业化)联动形式,大体实现了极速版的收入、支出平衡。首先,广告收益与外投成本联动;第二,Ecpm 和用户体验联动;第三,金币策略和 ARPU 联动;第四,激励形式与广告形式联动;第五,直播激励与用户行为的联动。



这里分享一下快手用户增长的系统架构。首先,极速版涉及到激励,防止黑产、爬虫是非常重要的,为此,增长团队和风控团队一起,设计了前置服务层,用来防刷、反爬;其次,web 层的服务全都是隔离部署的,比如元旦、国庆比较热门的活动会与普通活动隔离部署;对接 H5 和客户端的服务也独立维护和部署。


对于核心后端服务,除 db 和 cache 外,业务系统全部是无状态、易伸缩、可拓展的。极速版从开始立项到上线只用了 1 个月时间,也得益于快手中台技术能力的储备和沉淀,例如帐号中台、风控中台、支付中台等;期间极速版也产出了激励中台。



第三部分来聊一聊增长活动。增长活动的形式多种多样,如激励拉新活动、春节红包活动、新用户留存活动、合作拉新活动等。这里介绍一下春节红包活动。


春节红包活动有三个收益:使用魔法表情拍视频可以领红包的机制促进生产;点开红包分享好友,领取双方都得红包的做法促进了社交关系链沉淀;另外通过新设备可以得较大红包促进拉新。



上面的图片是春节红包活动的基本架构图。首先是服务拆分。服务、代码都是独立维护、独立部署;除了核心链路必须同步,其它全部做成异步(例如返佣的逻辑),这样可以提高系统的吞吐。春节红包活动的 QPS 很高,除了一系列的限流、降级和熔断,我们做了对热点 Key 的处理:一方面对热点 Key 做 shard,另外一方面增加本地缓存读和异步 batch 写;尽管春节红包活动最后很成功,但是在备战的过程中,我们还是准备了备用策略和备用玩法,比如天降雨红包。


CCTV10《百家讲坛》栏目有一句话让我印象颇深:学者使平台深刻、平台让学者有为。在这里,我想说的是,策略使平台深刻、平台让策略有为。我们需要策略,也需要平台,平台可以给策略提供一个有力、必要的支撑。时间有限,今天选取两个平台来跟大家分享。



第一个是用户画像平台。我们知道,推荐系统虽然可以精准推荐用户喜欢的视频,但它无法给我们提供直观、全面的用户画像;数据分析同学如果想分析一个或者一批用户,性别、年龄、用户在线时长等数据散布在不同的 Hive 表里,分析同学查找和使用起来非常不方便;而非数据分析的同事往往也有这方面的需求,希望可以更好地把握快手用户,以提供更佳优质、个性化的服务;一些新产品上线后也急需人群分析、人群洞察的工具。基于这些痛点和需求,我们搭建了用户画像的平台。



这是平台的使用界面。可以自定义标签筛选,秒级别地返回用户的使用时长等数据;也可以上传用户包(比如一批 user id),平台快速返回这批用户的画像数据。



这是用户画像平台的基本架构图。最下面是原始的数据,通过特征工程等手段抽取出模型特征数据,用于模型训练;其上是基于 ClickHouse 和 Hive 的快手大数据计算平台,还有快手机器学习平台 ARTHUR、KV 存储系统。用户画像数据除了沉淀到离线数仓,我们还将数据输出到实时推荐,提高推荐效果和质量。



接下来介绍下数据仓库。快手是一家技术、数据驱动的公司,为了更好地做决策,会有大量数据分析的需求,这些需求中,大部分是去重类分析需求(例如 DAU、MAU 等指标) 。需求多,case by case 烟囱式的开发方式让代码的复用度较低。



统一数仓架构、提升计算效率、缩减资源使用以及提升代码的复用率迫在眉睫,为此我们做了架构上的更新和迭代,最主要的工作是综合了可累加中间层数据和不可累加的流量数据,抽离出来形成一个中间层。举个例子,我们需要统计全国白菜产量总量,这个需求下,各地的产量可以直接累加;但如果需要统计 DAU,是不能简单加和的。但是这两个需求看似不同,本质都是求并集,中间层抽象就成为了可能和必然。那么,具体怎么做呢?



首先我们建立了字典映射,把设备 id 和用户 id 都映射成紧凑的整数,基于这样的映射关系,我们可以通过 Bitmap 的方式来构建数据表达。在 bitmap 上运行集合的交并补操作非常方便和高效,以 DAU 计算为例,把每个区域的 dau bitmap 拿出来求个并集就得到全国的 dau 了。



如图所示,优化后效果很明显:时间降为原来的 1/3,代码复用度达到了 40% 左右。


总结来看,用户增长发展至今,基本方法论是路人皆知的,AARRR 模型也已深入人心。我们要问的是:人口红利消失后,用户增长到底应该怎么做?我们认为有两个方向,一个是因地制宜,即根据自身业务场景从增长的工具箱里挑选出最适合自己的策略和方法;另一个是追求极致。举个例子,有个人感冒了,吃了头孢,没有病愈。是头孢没效果吗?可能是服用数量不对,有可能是服用间隔不对,也可能是其他原因。一个策略实践后没效果,有可能是因为它真的没效果,也有可能是执行时不够到位,或者思考的还不够深入。因此,我们需要把已有的工具、方法和策略全部摸清,尽量把每一块做到极致,或许只有这样,我们才有资格说,某个策略是有效或者无效的。


我的分享结束了,感谢大家的聆听。


演讲嘉宾:叶邦宇,快手资深研发工程师,2015 年从中科院信工所毕业后加入蚂蚁金服 OceanBase 团队,2017 年加入快手。现负责用户增长业务平台相关研发工作。


活动推荐


QCon 上海 2019 告一段落,QCon 北京 2020 精彩继续,大会关注基础设施、云原生、微服务、实时计算、边缘计算、云时代架构演进、人工智能、数据架构、区块链等多个方向的技术实践,点击了解详情。


2019 年 11 月 19 日 10:003142

评论 2 条评论

发布
用户头像
好文章
2020 年 04 月 12 日 12:01
回复
用户头像
受益了!
2019 年 11 月 27 日 16:27
回复
没有更多了
发现更多内容

架构师进阶之《Your Mouse is a Database》

陈皓07

架构师训练营第八周作业 - 命题作业

阿德儿

区块链一文知

秋呈

区块链+

微服务架构设计与最佳实践

Kevin Wan

go 微服务 微服务拆分 微服务治理 go-zero

架构师进阶之《做踏实的架构》

陈皓07

《DDD with TLA+》(1) 建模思考

陈皓07

Elasticsearch Query Phase

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

数据库规范设计说明书 整理

edd

架构师训练营课程纲要

陈皓07

并发与并行

ES_her0

28天写作

递归的人生哲学

Nick

数据结构 算法 递归

译文 | 深度剖析 Pulsar Functions

Apache Pulsar

大数据 kafka 开源 pulsar Apache Pulsar

第8周课后练习-性能优化二

潘涛

架构师训练营 4 期

网络故障的排错思路指南

「架构师训练营 4 期」 第八周 - 001&2

凯迪

架构师训练营 4 期

优化JAVA代码总结

跳蚤

第十三周作业&总结

胡益

《函数式编程精粹》(1) 函数式思考

陈皓07

《函数式编程精粹》(2) 热身:A STACK BASED CALCULATOR

陈皓07

《函数式编程精粹》(3) Functional Design

陈皓07

不写代码可以写爬虫程序吗?老师说可以,无编码学爬虫之一。

梦想橡皮擦

Python 28天写作 2月春节不断更

为何要构建团队契约

Bruce Talk

敏捷 Agile

【答疑点评必看】如何从「数据范围」中找到解题「突破口」...

宫水三叶的刷题日记

LeetCode 数据结构与算法 面试数据结构与算法

【管理笔记16】行销的获利性分析

俊毅

28天写作

Java 并发系列(一):多线程三大特性

TroyLiu

Java 多线程 原子性 可见性 有序性

《DDD with TLA+》(2) 系统行为

陈皓07

秒杀系统的难点在哪?如何突破?

跳蚤

翻译:《实用的Python编程》03_01_Script

codists

Python

join为啥会阻塞主线程?

叫练

join

APP启动流程图

林亚超

博文推荐 | Apache Pulsar 延迟消息投递解析

Apache Pulsar

kafka 开源 RocketMQ pulsar Apache Pulsar

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

快手用户增长实践-InfoQ