欢迎来到 Tubi—— 在这里,广告型视频点播永不停歇!
作为全球最大的流媒体服务之一,Tubi 保持稳定增长,并始终关注对业务发展至关重要的前沿趋势。基于此,Tubi 数据科学团队创建了一套全新警报系统,对 Key Performance Indicators(KPIs) 的异常值和趋势进行检测。我们深知 KPI 指标检测是极具挑战的一项工作,人们常常容易迷失在数字中,而忽视了那些重要事件。因此,我们这一套警报系统足够灵活,可适用于不同的细分板块;也足够准确,可提高灵敏性,降低特异性。
来吧,让我们通过本文一起深入了解 Tubi 数据科学团队在开发这一系统时如何克服了这些重大挑战。
需求与挑战
随着 Tubi 服务的自然稳定发展,我们观察到大多数指标都呈现上升趋势。而实际上,Tubi 的使用情况呈现季节性趋势,其中包括周末、工作日和假期的涨落。因此,我们必须进行适当的调整,以避免任何潜在的、对数据的错误解读。未经精确调整,指标的下降将有可能在整体增长趋势中被忽视,或者由于每周波动而误报。
我们面临的另一个挑战是需要处理各种不同类型的指标。一方面,在 Tubi,一些指标是 0 到 1 的百分比(例如转化率和留存率),而其他指标则没有上限(例如观看时间和访客数量)。另一方面,这些指标的表现也会受到观众类型和平台使用人数规模的显著影响。我们必须找到一个解决方案,能正确体现各种指标多样的变化趋势和行为特性。
面对以上两大挑战,我们的解决方案之一是将指标分割为基于观众类型和平台组合的不同时间序列。由此,我们可以更详尽地查看每个指标,更准确地识别问题;基于各种组合而切分成的不同指标,我们也可以消除各个指标中的偏差。另外,为消除每个分组中的趋势和季节性影响因素,我们利用了 statsmodels 库中强大的 seasonal_decompose(季节性分解函数),这一函数可以识别并消除每个分组时间序列中的趋势和季节性成分,是将时间序列分解为其核心组成部分的简单方法。示例如下: