快速、细致、可靠的广告表现ROI是我们建立优步内部营销平台Euclid的口号。今年早些时候,欧几里德替换了一个传统的系统,该系统在一定程度上人工处理ROI数据,因为它难以跟上优步的规模和数据复杂性。
不像任何现成的解决方案,这个Hadoop,火花基于Euclid的生态系统让我们可以通过一个名为MaRS的渠道不可知API插件架构,以及一个定制的ETL管道,将异构数据流到一个单一的模式中,以便于查询,来适应Uber的增长。欧几里得之上的视觉层让营销人员利用ROI指标来优化广告支出。欧几里德的模式识别能力进一步增强了营销智能。有了这些能力,营销人员就可以检测欺诈行为,自动分配广告预算(通过渠道/国家/城市/产品),自动广告支出,管理活动,目标受众概要在一个细粒度,并实时出价广告。
用欧几里得解题
欧几里得之所以成为今天的样子,是因为我们在营销数据领域解决了一些长期存在的问题:
自动化广告支出。
为了避免手动收集和处理数据,我们需要一个系统,不仅能够快速可靠地分析数据,还能够以特定事件的粒度显示支出,如印象、点击、来自世界各地数百个外部广告网络的安装。
处理数据复杂性。
数据在超级来自每个广告网络上百个以上的频道,每个频道都有上万个以上的活动,数百万个关键词,以及许多创意。在此基础上,添加多种货币和各种优步产品类型。除了规模,数据多样性也起了一定作用——不同种类的广告(社交广告、展示广告、搜索广告、招聘广告等等)会导致复杂的模式和数据映射。在以这样的规模和数量交付复杂数据时,SLA很重要。我们必须确保每小时、每天按承诺的时间间隔提供数据。
报告准确的ROI。
在过去,团队用时间滞后来衡量渠道级ROI。欧几里得的挑战不仅在于消除延迟,还在于从粒度层面衡量ROI——比如广告的创造性和关键字层面。为了实现这一目标,我们需要将内部和外部数据来源结合起来,并应用预测分析来报告未来趋势和多点触控归因。
欧几里得架构
Euclid系统有三个主要部分:MaRS(营销报告服务)、电子邮件服务和ETL数据管道。
MaRS(市场报告服务)
基于插件的报告摄入microservice在美国,火星是我们能够快速扩展的原因,在短短几个月的时间里,我们可以扩展到80个频道。在Euclid之前,营销经理手工生成全球数百个渠道的高水平每周支出数据。数据是非细粒度的,它有可能出现人为错误,营销团队不能快速地对支出目标采取行动,也不能准确地优化广告支出。
MaRS通过一个标准的API接口通过插件导入广告活动数据解决了这个问题。这些插件将ad网络逻辑与ETL数据管道的其余部分隔离开来。这种隔离让我们能够独立于Hadoop ETL管道开发和测试依赖于ad网络的逻辑。ETL数据管道调用MaRS API,它传递一个网络ID作为参数来获取各种广告支出数据,而不需要知道任何特定于广告网络的逻辑。
这样的设计让我们可以将插件开发外包给外部供应商,他们可以为更多的广告网络添加插件。这是我们为Euclid扩展API通道导入数量的方法之一。目前,Euclid支持30多个插件,包括Facebook、Twitter和AdWords。
实现插件很简单。外部插件开发者需要做的就是继承三个基类,定义Avro模式,并应用标准化规则:
- Auth类:处理网络API身份验证。
- Extractor类:通过ad网络API提取数据。
- 转换类:将API数据格式转换为Avro。
- Avro schema:保存ad原始网络数据模式。
- 规范化规则:应用映射规则将原始Avro模式中的字段转换为统一的模型表。
工程师独立实现插件,而不用担心服务环境或数据基础设施的底层更改。Hadoop Hive Pipeline基于配置的设计,结合基于MaRS架构的API插件,让我们可以在不修改代码的情况下快速添加新的channel插件。
欧几里得电子邮件服务
对于缺乏api的通道,Euclid提供了一个基于电子邮件附件的摄取框架。使用这个系统,ad通道可以直接发送预期格式的CSV附件。在MaRS架构中,该服务允许广告网络以电子邮件附件的形式将他们的日常支出推送到一个预定义的收集点。然后,Euclid自动验证数据并将其放入ETL管道中。这就是Euclid每天从数十个小渠道导入数据的方式。
ETL数据管道工作流
欧几里德几何学的ETL数据管道,也就是蜂巢基于,使用工作流管理工具提取、规范化和加入摄入的数据:
- Extractor:请求MaRS从广告网络api摄取数据。
- Normalizer:将ad网络特定的原始开销数据归为一个统一的Hive表fact_marketing_spend_ad。
- ROI参与者:将花费与用户级注册和首次旅行等转换数据结合起来,以获得细粒度的ROI指标。
通过玛氏处理广告网络逻辑,与渠道无关的ETL管道可以让我们大规模地设计优步营销数据,同时最小化运营和维护管道的成本。由于每个渠道的活动和报告模式不同,很难直接查询和分析数据。但是Euclid中基于配置的标准化步骤以各种方式对异构数据进行对齐Avro模式转换到单个模型表中拼花,这使得跨维度和片的数据易于聚合、比较和分析。
也就是说,考虑到不同的数据模式和准备就绪sla,每天的摄入仍然是一个棘手的过程。例如,当一个版本不支持时,当凭证或上游通道数据格式改变时,或者当上游数据被破坏时,api可能会崩溃。为了解决这个问题,Euclid的自定义MySQL监视和警报执行各种数据健康状况检查。它的自动回填策略、故障日志记录和随叫随到警报可以查明数据完整性问题的原因。通过这种方式,Euclid管道每天将数亿条记录输入Hadoop。
欧几里德优化优步营销ROI前后
粒状ROI广告Metrics
除了标准的用户获取指标,用户第一次Uber出行的成本也是一个重要的广告绩效ROI指标。以前,当团队测量广告ROI时,会有时间差距。现在有了Euclid,营销人员可以快速而可靠地获取ROI广告数据。在Euclid的分层广告支出数据集的支持下,营销人员进行了更深入的挖掘——社交渠道上的展示广告的创意层次,搜索渠道的关键字层次,工作平台的工作平台层次,等等。
这里有三个展示广告创意营销人员测试了相同的活动。你认为哪个广告效果更好?
为了查看哪个广告的点击率(CTR)更高,营销人员通过欧几里德的可视化层深入研究创意层面的表现数据。他们看到Euclid所吸收的ROI粒度支出数据,并将其与用户转化率指标结合起来。在这个例子中,具有更高点击率的放大版本变体B比控制版本或缩小后的创造性版本(变体A)工作得更好。
考虑到成千上万的广告在数百个频道上运行,其中许多是由外部代理维护的,人类不可能检查每一个广告的状态。在这种情况下,Euclid让优步的渠道经理很容易就能发现表现不佳的广告。
预测第一次旅行
从安装优步应用到第一次出行的转换过程通常涉及时间间隔,如果我们不知道第一次出行发生的时间,我们就不能将特定的营销活动作为激励触发器。昨天的广告支出可能会带来点击或安装,但还不能推动注册或首次访问。那么我们如何衡量营销ROI呢?欧几里德收集了来自印象、点击和安装的数据后,就会应用合作伙伴和乘客注册的时间和地点、他们使用的设备类型、他们使用的广告渠道等模式。将这类信息映射到历史转换数据,Euclid从统计上预测用户何时以及是否可能进行第一次旅行。随着Euclid继续以这种方式将更多的数据积累到它的训练模型中,预测的准确性也在提高。
解决多点触控归因
当用户看到一个社交网络广告,然后在网上搜索“优步”,点击一个搜索广告,然后与优步签约,把所有功劳都归于搜索广告是不公平的。Euclid处理的另一个挑战是多点触点归因,包括查看印象水平数据,分析完整的用户转换过程,然后将每次转换的信用权重归因到多个渠道。明确的多点触控属性可以让营销人员将正确的预算分配到正确的渠道上。Euclid每天摄取印象水平数据,然后使用其预测引擎分析和训练多点触摸归类模型。在Hadoop和Spark的支持下,Euclid计划很快在生产数据管道中部署营销多点触摸归类模型。
接下来是什么
到目前为止,我们在Euclid tech stack上所开发的内容帮助营销人员了解哪些创意、搜索关键字和广告活动对特定渠道最有效。我们希望欧几里德的下一个化身成为一个更先进的营销引擎,包括数据管理平台(DMP)和需求侧平台(DSP)。所以如果你有Hadoop, Hive, Spark, Kafka, Vertica的经验,或者了解SQL数据库来实现ETL管道,看看我们正在招聘的工程人才吧推动欧几里得的发展。来加入我们的故事吧!
优步工程业务平台组的软件工程师Hohyun Shim负责欧几里得的架构,他与Mrina Natarajan共同撰写了这篇文章。









