数据赋能音视频业务降本增效—— 基于最佳实践的顾问式服务

编者按

随着全行业视频化的趋势,对视频云的需求已从最初的功能完善、弹性可扩展,演进到提升业务体验、支撑业务增长和优化业务成本。LiveVideoStackCon2023深圳站邀请到了火山引擎的周天杨,基于火山引擎视频云服务内外部业务经验沉淀,为大家介绍数据驱动助力业务降本增效的方案与实践。

文/周天扬

整理/LiveVideoStack

大家好,我是火山引擎视频云产品经理周天扬,很高兴有机会和大家一起分享交流。

今天和大家分享的主题是:数据赋能音视频业务降本增效,副标题是基于最佳实践的顾问式服务。

什么是顾问式服务呢?在这里先留一个小悬念,稍后的内容中会为大家解答。

今天分享的主要内容包含以下四个部分:

第一部分,音视频业务降本增效面临的挑战;

第二部分,基于数据驱动的降本思路与方案;

第三部分,音视频业务降本实践;

最后是对以上内容的总结和对未来的展望。

01

音视频业务降本增效面临的挑战

首先介绍音视频业务降本增效面临的一些困难与挑战。

我们认为音视频业务,降本增效主要面临三个方面的困难与挑战:

第一点,众所周知,在音视频业务上成本和体验往往是一对置换关系,做了预加载,播放首屏的体验提升,但是会带来更多的流量成本;清晰度越高,体验越好,但码率增加,成本增加。成本和体验如何平衡,是第一个难题。

第二点,我们在实际业务实践中,往往会发现,有时候播放量/播放时长没有变化,但是成本明显增长?或者业务增长,用量也随着增加,这种增长是否合理?如何找到这种成本波动的根因,是第二个挑战。

第三点,也是我们服务的内外部客户经常问到的,当前音视频业务成本绝对值是否合理?成本还有多少优化空间?

02

基于数据驱动的降本思路与方案

接下来我们针对以上的困难和挑战,和大家介绍基于数据驱动的降本思路和方案。

万事目标先行,要降本,就要确定降本目标和衡量指标。音视频业务中包含分发成本、转码处理成本、存储成本、其他成本(比如日志处理)等等,在一个规模化的业务中,成本构成中有很明显的二八原则,分发成本是占比最大的。

涉及到成本和成本优化,我们往往最先看到的都是每月整体的账单,但业务用量每个月都在上下波动,导致账单每个月也都在波动。那怎么去衡量成本优化效果,我们选择万分钟播放成本这个标准来衡量,作为降本的北极星指标。万分钟播放成本公式分子是分发、转码、存储等成本的加和,分母是播放时长。其实这是一种单位成本的概念,这样就可以去除掉业务用量的影响因素,来衡量成本是否真的优化了。

上图是一个理想的业务降本的模型:随着业务的发展,用量在不断的增加,同时万分钟播放成本能够通过技术手段能够不断降低。

当然,有了北极星指标后,怎么去找到可以降本的切入点和业务成本冗余,我们会对指标进行进一步拆分,找到影响成本的因子。

现在,我们来看成本因子的拆解和量化。从总成本出发,需要一步步去拆解影响成本的因子,拆解要足够深入,才能业务存在的成本冗余。

我们以分发成本为例来进行拆解,影响分发成本的因子包含价格、码率、带宽利用率、播放利用率等几个核心因素。播放利用率可以进一步细拆,影响播放利用率的因子有哪些:I/O利用率、数据下载利用率、播放缓存利用率、预加载利用率等,要将这些细分的因子全部量化,这需要在播放器层做精细化的成本数据埋点。

当成本因子拆解和量化数据都准备好,就可以对成本波动进行洞察和分析了。

上图中的表格就是一个成本洞察报告的例子,包含了总成本、万分钟播放成本以及各个成本因子的拆解,例如按月的波动分析等等。

举个具体的例子,有时候我们会发现上个月业务侧用量也没变,CDN还通过商务手段做了降价,怎么账单反倒涨了?通过这个报告拆解一下,虽然CDN单价降低了,但是这个月提升了清晰度,码率提升了;或者播放器发版了,播放利用率降低了,都会造成这个月的成本增长。

所以,基于这个洞察报告,我们可以发现有些奇怪的或者不合理的数据,比如码率过高、利用率过低,通过和业务进一步深度的分析,找到成本优化的方向。

在解决成本波动归因的问题,找到了可优化的方向,到了具体成本优化环节,我们还面临一个挑战:成本与体验的平衡。成本和体验往往是一对置换关系,是一个跷跷板。例如提升首屏体验,带来预加载的浪费;码率降低,成本降低,但清晰度降低。

如何衡量一种成本优化方案效果,我们基于的基本原则是:一切成本优化以ROI为第一原则,每项成本优化策略都能够对业务有足够正向的影响。简单来讲,最理想的情况成本优化策略在优化成本的同时体验不变,甚至有优化;但是在极致情况下,成本优化往往会带来体验的波动,这时候基于的原则就是这个优化策略带来的成本收益,要明显高于体验波动带来的折损。

那如何去衡量一项成本优化策略的效果,能否上线?具体怎么做?我们选择的方案是A/B实验。

这里是一个策略从AB实验验证、调优、全量和价值回溯的一个完整流程。在整个成本优化过程中,我们一般会产出两个报告:

第一个是在AB实验过程中产出的AB实验报告,报告里会分析这个实验的策略对QOE影响多少,对成本优化影响多少,只有AB实验结果满足ROI,策略才能进行全量。当然现在随着降本进入深水区,新的降本策略往往不是一次AB就能全量,需要不断的调优,所以某个策略从初始验证,到最终全量,往往会经历几轮AB实验,才能达到最优。

第二个是在全量后,我们会产出价值回溯报告,来核算真实的收益是多少,是否真正达到了优化的效果?

在这个过程中我们将一些通用和可复制的策略沉淀下来,形成策略中心,提供给类似场景的客户复用。

我们通过成本洞察实现了对成本波动进行归因,通过ROI原则和AB实验评估策略效果,达成成本体验平衡。下面我们来看第三个难点:成本的合理性和优化空间。

这也是我们在服务内外部客户的时候,业务侧经常问的:当前成本是否合理?还能降多少?使用哪些策略可以降本?

这个确实是比较难回答,每个业务场景都不同,用户行为特点不一样,每个业务的降本空间就很难有统一的答案。

我们目前通过三种方式来探索确定理想成本和优化空间:

(1)我们都知道相似的场景有相似的成本,通过相似场景排名,选出标杆业务,来做为理想标准。

(2)第二个方法我们通过理论模型来推算理想空间,比如通过播放时长、完播率等作为输入参数,推算出理论的理想成本。

(3)第三个方法是通过离线的实验来模拟:我们做了成本的自动化测试平台,设计测试case,测试出来不同的参数的成本是多少,总结分析出来极限是多少。

最后,随着面对的内外客户越来越多,降本能力也越来越多的时候,会遇到效率问题:怎么帮助每个业务快速找到降本方向,给出有效的降本策略?

我们通过将前面介绍的成本洞察、理想成本预测、策略中心这三个部分能力整合成一份顾问服务报告。右边就是一个顾问服务报告的例子,通过这个报告告诉客户当前万分钟成本,理想万分钟成本,差异在哪,建议的策略是什么,预期收益怎么样,这个过程叫顾问式服务。

当然这是一个总结概览,更多的内容我们会整理成详细报告,把差异点、推荐的策略给出来,与业务一一讨论分析,去做落地。

举一些例子,我们通过顾问服务会发现,业务码率过高这个问题,原因可能没有转码、或者转码模板用错了、还有转码了,模板没问题,但是播放没有调用使用正确的转码后的文件,安卓和iOS在没有明确业务特定要求的情况下选择不同的播放码率等等。

我们一开始认为这些问题原因都很简单,只要提醒大家细心注意就行,但是实际发现,很多业务都有类似问题,不是在这个点浪费,就是在那个点浪费。我们也和业务分析了原因:看起来很简单的业务也会包含不同环节,环节可能负责人都不一样,即使同一环节研发迭代也通常会带来历史问题,并不是所有的人都能感知到成本,只要有一个环节漏掉,就可能产生很大的浪费。

通过定期的顾问服务和报告,能够快速定位和发现这些问题,及时去解决和优化,避免更大的成本浪费。

03

音视频业务降本实践

全链路缓存策略,这是一个通过数据驱动建设的降本策略,策略思路是在不影响用户体验前提下,尽可能减少整个链路上的数据量,减少浪费,提升播放利用率。

通过基于播放状态、视频特征、历史播放特征、网络特征等因素进行动态缓存控制,在满足ROI的基础上,单位播放成本降低5%-20%。

这是我们服务的一个企业客户,接入火山引擎视频云服务后,我们定期提供顾问式服务,为客户提供可行的降本策略,实现持续降本。在客户业务快速发展,业务量接近翻倍的情况下,总成本降低10%-20%,单位播放成本降低40%以上。

04

总结与展望

最后总结一下今天分享的主要内容,我们从万分钟播放成本这个北极星指标出发,一步步通过成本拆解与量化,实现对成本的监控和波动归因;针对具体降本策略效果,通过AB实验来评估整体ROI,并将有效策略进行沉淀形成策略中心;针对成本合理性和降本空间,我们通过分场景标杆排名、理论建模、实验模拟验证等方式来确定;最后通过将成本洞察、降本策略建议、收益预测整合形成顾问报告,帮助业务快速找到降本方向,落地降本策略,达成降本目标。

整个环节,通过数据驱动,实现了成本优化的可量化、可监控、可归因、可预测。

关于未来的一些规划和展望,总结起来主要是:服务标准化,策略个性化。服务标准化是指我们将服务业务实践沉淀的能力和策略进行产品化,以顾问服务报告的形式,为内外部客户提供标准化的降本顾问服务;策略个性化:是针对不同的业务,不仅提供通用成本与体验优化策略,还针对客户业务自有特点和特性,提供个性化的策略配置,达到成本和体验综合最优。

以上就是今天的主要分享内容,感谢大家。

相关推荐
凡人的AI工具箱21 分钟前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
java亮小白199729 分钟前
Spring循环依赖如何解决的?
java·后端·spring
2301_811274311 小时前
大数据基于Spring Boot的化妆品推荐系统的设计与实现
大数据·spring boot·后端
草莓base1 小时前
【手写一个spring】spring源码的简单实现--容器启动
java·后端·spring
Ljw...2 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
编程重生之路2 小时前
Springboot启动异常 错误: 找不到或无法加载主类 xxx.Application异常
java·spring boot·后端
薯条不要番茄酱2 小时前
数据结构-8.Java. 七大排序算法(中篇)
java·开发语言·数据结构·后端·算法·排序算法·intellij-idea
qq_174482857510 小时前
springboot基于微信小程序的旧衣回收系统的设计与实现
spring boot·后端·微信小程序
锅包肉的九珍10 小时前
Scala的Array数组
开发语言·后端·scala
心仪悦悦10 小时前
Scala的Array(2)
开发语言·后端·scala