百舸实践之「埋点数据深度治理与应用」 | 京东云技术团队
一、背景
随着公司和业务的不断发展,百舸平台也从单一内容投放转向了以流量和数据为基础的流量运营模式。在这个转变过程中,数据深度治理与应用的重要性尤为凸显,在数据深度治理过程中,需要将用户行为数据、投放素材以及投放效果三者紧密的串联起来。数据深度治理和应用,一方面满足了当前精细化运营的需求,另一方面实现高效资源配置、驱动高质量决策提供数据支撑。
二、数据现状
下图是对数据深度治理之前数据链路的简单梳理
从上图可以看出,百舸投放引擎,依托乐高、魔笛等上游系统,将素材投放到金融APP/H5等页面。用户浏览和点击之后,将曝光和点击数据上报到奇点,最终落库到离线数仓。这个链路并没有实现数据的闭环,很明显存在以下几个问题:
1.数据采集不全:仅有通过乐高搭建的金融APP原生页面有埋点上报,其他原生页以及H5页没有进行埋点上报。
2.数据分析能力不足:埋点数据落到数仓之后,仅仅是做了保存,并没有产生什么价值,业务各自去数仓加工自己需要的报表,平台不知道总流量,运营不知道不同位置的投放效果等。
3.数据驱动决策能力为零:缺少基于用户行为数据,反向赋能平台丰富投放策略(频控、量控、降权、赛马等),助力运营决策和调整投放策略。
三、数据深度治理与应用
3.1 制定埋点规范&推动埋点上报
仅金融APP原生页面有上报曝光和点击数据 2. 没有统一的埋点规范 3. 离线和实时数仓解析模型不一致
因为百舸埋点规范的缺失,以及很多页面也没有上报埋点,导致业务和运营想使用一些百舸的高级策略时,无法在他的场景使用。因此,制定百舸埋点规范以及推动上游进行埋点上报,就成了必要的任务。另外,在排查埋点数据过程中,也发现有些曝光、点击数据离线指标有,但是实时指标没有。所以,还需要推动离线和实时数仓解析模型保持一致性。
3.1.1 制定埋点规范
在制定埋点规范之前,首先要了解清楚当前埋点上报的case,我们协同数仓、乐高、奇点等相关团队,一起梳理当前链路埋点上报以及数仓的解析模型。本着不重复造轮子和上游改动成本最低的思想,协调奇点申请了百舸埋点专属扩展字段resdata,制定了原生页以及H5页埋点上报规范V1.0版本。上游调用方,无论是为原生页服务,还是为H5页服务,仅需根据埋点规范,把百舸投放引擎返回的埋点字段resdata上报到奇点,就能使用百舸所有基于用户数据驱动的投放策略。
H5上报示例:
// val.resdata为返回到前端的CMS原始埋点数据,格式为JSON字符串,需转成JSON,channelName,matid,activityName,ordid为业务方自己的数据
:data-qidian-ext="JSON.stringify({channelName,resdata:JSON.parse(val.resdata),matid:val.activityName,ordid:val.sort})"
3.1.2 推动埋点上报
有了埋点规范,如何推动业务系统进行埋点上报呐?
首先,我们找到一些新接入的业务系统按照规范进行埋点上报,接入过程中如有发现规范问题,及时修正。当埋点规范在生产得到有效验证之后,根据线上流量倒序,排查出所有没有埋点上报的资源位,逐一推进上游系统改造,这个过程是最煎熬,也是最有助于成长的。
另外,为了减少上游接入的成本,以及联调阶段,能够快速排查埋点问题,开发了“埋点数据校验”小工具,从最初需要业务研发、百舸研发、数仓、奇点等多方参与且耗时较长的排查问题的方式,转变为业务研发或百舸研发“一键”排查的方式。极大的提升排查问题的效率,减少接入方的接入成本,极大的提高上游系统埋点接入的速度。
下图为埋点数据校验小工具示例图:
3.1.3 数据解析模型治理
整合离线数仓与实时数仓的解析模型,实现了底层曝光和点击等原始数据的一致性。
在埋点数据排查以及推动埋点上报的过程中,我们发现离线和实时数据不一致的问题,比如有些曝光数据离线有,而实时数据没有。排查结果发现随着需求的迭代,离线和实时数据解析模型存在不一致的现象,因此,一方面推动离线和实时数仓优化解析模型,双方达成一致;另一方面,为防止以后再次出现不一致的现象,我们在埋点规范上,也专门背书了各相关方,涉及到修改解析模型的事情,需要拉起各方一起评估和迭代数据解析模型。
3.2 丰富数据分析能力
3.2.1 丰富数据指标
数据治理之前,平台仅有资源维度的曝光和点击指标,业务都是各自去离线数仓加工自己所需要的数据看板和报表。
数据治理之后,平台可提供一下基础指标。
- 资源位维度曝光、点击、CTR等
- 资源位维度流量和在投素材排名等
- 资源维度曝光、点击、CTR等
- 资源维度当日实时曝光、点击、CTR等
另外,除了平台的一些基础指标之后,也加工了很多赋能平台投放策略的不同维度的离线和实时指标,比如:自然日的实时曝光、自然周/月的离线曝光,PIN维度的实时和离线曝光和点击等
3.2.2 动因分析
运营的每一次对资源位、流量池、AB、资源等修改,都会和投放效果数据进行关联,通过查看投放效果和当天修改内容,即可分析出修改内容对投放效果的影响
3.3 数据驱动策略能力建设
有了丰富的数据之后,除了直观的数据看板以及数据分析之外,如何将数据价值最大化,给系统赋能就成了我们要思考的问题?
以下是平台基于数据驱动的投放策略介绍:
3.3.1 频控量控
频控: PIN维度曝光数据指标,支持自然日、自然周、自然月三个维度频控,当触达任意一个条件,资源就会被频控,不再给用户下发
量控: 资源维度曝光数据指标,支持累计曝光上线、自然日曝光上限,触达其中一个条件,资源就会被量控,不再给用户下发
置顶量控: 资源维度曝光数据指标,周期内曝光达到条件之后,此资源不再置顶,优先级下调
3.3.2 素材实验
素材实验组维度的数据指标,支持赛马实验、AB实验、量化择优实验和算法择优实验。其中AB实验、量化策略、算法模型等埋点数据都是基于数据深度治理之后,以几乎零成本即可将埋点上报,并自动解析到百舸基础埋点数据底表里。
3.3.3 疲劳降权
疲劳降权: 和频控不同的是触达曝光和点击的配置条件之后,资源仍然会继续下发,优先级下调。支持指定周期,PIN维度曝光和点击两个指标的且或关联。触发降权后,指定降权生效周期内优先级下调。
3.3.4 活动频控
活动频控: 活动+PIN维度的曝光指标,百舸投放时,不同位置的资源会存在投放同一个活动的情况,配置之后,活动曝光达到频控条件,所有相关资源均不会下发
3.3.5 流量池分流
流量池分流: 多个流量池,可以根据资源位的PV进行分流,支持长期、指定周期两种周期内的分流
3.3.6 CTR排序
CTR排序: 与一般投放策略不同的是,此策略能达到优者更优的效果,效果越好,优先级越高,进而最大化提升单位流量内的CTR。
以上投放策略有的是在数据治理以前就有,但是受限于很多投放位置没有上报埋点,导致无法使用,有些是数据治理之后新开发的。但是,他们之所以能够被广泛使用,都是埋点的标准化,全位置埋点上报,以及离线和实时数仓基础模型统一为大前提。基于百舸最底层最基础数据底表,能够快速的加工任意所需要的业务指标和数据看板,进而促进百舸平台数据驱动决策能力的建设。
四、系统架构
下图为经过深度治理和应用之后数据和投放服务的链路
五、总结&思考
5.1 有关数据的思考
数据是一个平台的核心竞争力,通过埋点规范治理,推动数据上报,统一离线和实时数仓解析模型等方式。使平台从简单的曝光和点击数据到规范化的全链路的数据闭环,这一过程充分体现了数据价值挖掘与利用的重要性:
1.数据闭环的意义: 建立数据闭环意味着从数据采集、处理、分析到反馈优化形成完整的链条,这样可以实时监测投放效果,确保业务策略能够基于真实用户行为进行动态调整,从而提升资源利用率和投放精准度。
2.埋点治理的价值: 通过对埋点数据进行标准化和规范化管理,不仅可以保证数据的质量和一致性,还能提供更多维度和深度的用户行为洞察,为精细化运营提供有力支撑。
3.丰富投放策略的产生: 基于丰富的数据衍生出的频控量控、素材实验、疲劳降权等策略,这些都是数据驱动决策的具体体现。频控量控可以帮助平衡用户体验与营销目标,避免过度打扰;素材实验则可以根据用户对不同素材的响应情况动态优选推广内容;疲劳降权则有助于均衡各投放内容的曝光,避免用户产生厌倦,提高转化率。
总之,数据是平台和企业的核心资产之一,它不仅揭示了过去的行为模式,更能预测未来的趋势。数据能力的不断提升将帮助平台更好地理解用户、优化产品和服务,实现精准营销和个性化推荐,从而提升业务转化,为业务赋能。通过对平台数据的深度治理与应用,我们真实的看到了数据如何从单一的展示指标转变为赋能业务增长的重要驱动力。
5.2 百舸数据应用还能做什么
流量预测: 当前正在探索如何通过流量的录制和回放,以及对比相关数据,来预测不同位置、不同资源的流量,已达到运营修改投放素材和策略之后就能够通过预测来了解修改之后的效果。
动因分析: 通过资源的修改记录和流量数据的关联,运营可以清楚的知晓此次修改,对真实流量的影响,进而指导运营调整投放策略。
作者:京东科技 韩非
来源:京东云开发者社区