快捷搜索:  汽车  科技

如何提高数据运营:糗事百科产品总监李威 如何基于数据构建推荐系统

如何提高数据运营:糗事百科产品总监李威 如何基于数据构建推荐系统而在我们自己的产品中,有时候你可能无法分辨,用户行为到底是针对上面这个视频,还是针对下面这个视频的。抖音沉浸式体验的好处就是,你在当下这个屏幕上产生的所有数据全部是针对同一个视频的,这个数据是极为可信的。并且,抖音还不能自动播放下一条,只要保证你不手动滑,它就会一直维持在这个页面上。而抖音把这件事情做得非常简单。如果你停留在这个页面上,那你一定是在看这个视频。所以,这个产品特性对数据的采集是非常友好的。第二,产品特性决定了数据的可信赖程度。右图是我们自己的产品,是信息流的状态,在滑动的过程当中会出现多个视频。而抖音是沉浸式的,一个视频会占满一整个屏幕。

通过这个数据,我们能感知到一个什么问题呢?这个平均数其实是被一群极为活跃的用户硬生生提高了的。不管我们推荐什么样的内容,这批用户都会去看。假设我们要衡量这个推荐系统的效果,那肯定会去选择中位数,而不是平均数,因为中位数会更敏感。这就是为什么我们要做 EDA(Exploratory Data Analysis,探索性数据分析) 这件事情,即在真正开始处理数据之前,对这个数据有一个形象的理解,感性的认知。

2)产品特性是否对数据友好?

这里拿抖音举例,抖音的推荐系统做得非常好,仔细分析它的产品,它的产品特性对数据是非常友好的。

如何提高数据运营:糗事百科产品总监李威 如何基于数据构建推荐系统(1)

第一,产品特性决定了数据采集的难易程度。比如说抖音,这个产品刚出来很长一段时间里,它是没有暂停的。你看这个视频要么看完,要么就跳过,但是你不能暂停,也不能拖动进度条。为什么说这对推荐系统非常友好呢?因为一个用户看视频的时长代表着他对这个视频的偏好。一旦你可以暂停,又可以拖动进度条,那我就很难区分你到底是在看视频,还是处于暂停状态,或者你只是在拖动进度条。

而抖音把这件事情做得非常简单。如果你停留在这个页面上,那你一定是在看这个视频。所以,这个产品特性对数据的采集是非常友好的。

第二,产品特性决定了数据的可信赖程度。

右图是我们自己的产品,是信息流的状态,在滑动的过程当中会出现多个视频。而抖音是沉浸式的,一个视频会占满一整个屏幕。

抖音沉浸式体验的好处就是,你在当下这个屏幕上产生的所有数据全部是针对同一个视频的,这个数据是极为可信的。并且,抖音还不能自动播放下一条,只要保证你不手动滑,它就会一直维持在这个页面上。

而在我们自己的产品中,有时候你可能无法分辨,用户行为到底是针对上面这个视频,还是针对下面这个视频的。

第三,产品特性可能决定数据分析和使用的难易程度。

你的视频时长 15 秒,或者 1 分钟,或者 5 分钟,用户的观看行为所产生的后果是完全不一样的。

15 秒的视频,用户很容易就看完。如果是 1 分钟的话,他完全看完的可能性就会极大的降低。如果是 3 分钟,基本上就没有用户可以真正把这个视频完全看完。

如果你直接拿用户观看时长或者比例来评判用户的偏好的话,就会产品很大的偏差。短的视频非常容易看完,完播率很高,长的视频完播率很低。意味着用户就不喜欢长的视频吗?

抖音在产品很长的一段时间内,会把视频时长限制到15秒,这样 15 秒以下的视频,基本上就不存在刚才说的长短视频完播率不可比的情况,需要考虑的问题就简单许多。

如果你这个产品设计得对数据非常友好的话,产品特性对真正分析数据、后续使用数据是有极大的促进作用的。

总之,在数据采集之前,你对这个数据要有一个全面的 EDA 的掌控。同时从产品层面上讲,产品特性需要对这个数据友好。

3.2 数据采集阶段

对于我来说,这是最为困难的阶段,非常容易出错。一旦出错,你的产品、运营,甚至你的老板都会对这个数据不再信任,那整个增长就无从谈起了。

所以,数据采集阶段就是整个数据增长的基石。首先你要建立一个非常良好的数据采集机制,保证这个数据是准确无误的,最终你才能产生正确的结论,让大家相信数据,能够利用数据做最终的决策。

这里举一个我们自己在数据采集中出现的错误,一个非常极端的例子。这个图是用户观看单个视频的平均时长。我们把用户随机分成了 16 个组,所以有这么多曲线。

按理说,这 16 个组的曲线趋势应该完全一致。但刚开始采集这个数据的时候,我们总会发现,有些组会突然产生尖峰,组与组之间曲线行为不一致,对后续的 A/B Test 等会产生严重的干扰。

如何提高数据运营:糗事百科产品总监李威 如何基于数据构建推荐系统(2)

按理说,平均数很难受到脏数据的影响,但是这次我们发现的脏数据比较极端。

比如,我们的视频一般都是 5 分钟(300 秒)以内,但是有些用户上报的观看单个视频时长达到了几万,或者是几十万秒这样的极端情况。虽然概率非常低,但是它就是极端的影响了我们的平均数。

我们后来发现,原因可能是,用户有时候看着看着就退出了,直接把 App 隐藏在了后台,而内部的计时器没有停止计时,会延续到这个用户再次打开 App 时才结束。如果用户几天之后再打开 App,他观看视频的时长就会变得极长,以此类推。

最终我们把这个问题修复了,大家就可以看到用户观看视频的平均时长,16 个组的曲线就都一致了。

所以说,大家在做数据采集的时候,一定要找到一个非常合理的产品研发流程,一定要建立好数据信心,一旦你在产品或运营那里丧失了对数据的信心,数据增长这件事情就无从谈起了。

3.3 数据使用阶段

数据很多时候是自带欺骗性的,我们使用数据的时候要注意以下 2 点:

1)数据是否表意明晰?

用户数据进入推荐系统后,本质上形成了一个非常大的矩阵,纵坐标是用户 A、B、C、D、E,横坐标是视频 1、2、3、4、5、6、7、8、9,对应的值为某个用户观看某个视频时长的比例。这是一个极大的稀疏矩阵,观看比例绝大多数都是 0。0 代表他没看过这个视频,因为用户能够看到的视频相比我们视频库里的内容量是很小的。

如图,用户 A 观看视频 1,100% 表示看完了;用户 B 看视频 1,看了 80.1%。

如何提高数据运营:糗事百科产品总监李威 如何基于数据构建推荐系统(3)

数据处理阶段,我们会把数据做截断,只保留 3 位小数。那么问题来了,例如图上标红的地方,用户 C 看视频 5 只看了 0.001,那我们理解为他可能不喜欢这个视频;而对于视频 9,真实情况他只看了 0.003,由于我们在做数据处理的时候会保留 3 位小数,这里就变成了 0。根据 0 在这个矩阵中的含义来看,这个数据表达的意义是不准确的,从他不喜欢这个视频变成了他没看过这个视频。所以说,数据本身自带欺骗性,如果你做了这样的处理,那它就表达了错误的意思。

2)数据是否自带倾向?

我们做推荐系统,该怎么衡量用户喜好呢?

假设用户看一个视频的时长为 50 秒,看另外一个视频的时长为 30 秒,那我们会天然地觉得他更喜欢前者。同样的,如果一个视频他看了 100%,另外一个视频看了 50%,那我们也会认为他更喜欢前者。所以,视频观看比例和视频观看时长这 2 个指标都可以作为衡量用户偏好的标准。

如何提高数据运营:糗事百科产品总监李威 如何基于数据构建推荐系统(4)

看上面两个图表,横坐标都是视频时长(0~300 秒),左图是用户平均视频观看比例,右图是用户平均视频观看时长。举个例子,如果一个视频大概是 50 秒,那么平均观看比例大概是 60%;如果一个视频大概是 300 秒,那么它平均观看比例就只有 30%;但是 50 秒的视频平均观看时长是 30 秒, 300 秒的视频平均观看时长可能就是 100 秒左右。那么,如果你用平均观看比例来衡量用户偏好,50 秒的视频有先天优势;如果拿观看时长来衡量用户偏好,那么 300 秒的视频就天然有优势。

根据这个例子可以看出这两个指标各自带有倾向,如果拿用户观看比例来衡量用户偏好,则倾向于推荐短视频;如果拿用户视频观看时长来衡量用户偏好,则倾向于推荐长视频。

再联想到,抖音把视频时长限制在了 15 秒,这就把大家都拉到了同一条起跑线上,无论是用比例还是用时长衡量,结论都是一样的。如果你的视频时长分布非常广,比如从 0 秒 到 300 秒,那就很难决策,到底要拿哪一个指标来衡量用户的偏好,因为任意一个指标都有自己的倾向性。

3.4 数据分析阶段

在数据分析阶段,我推荐用 A/B Test 来做评估效果。

1)正确认知 A/B Test

如何提高数据运营:糗事百科产品总监李威 如何基于数据构建推荐系统(5)

猜您喜欢: