Wayfair的广告竞价系统架构 - quastor


Wayfair是一家销售家庭家具的电子商务公司。你可以把他们看作是 "家用家具的亚马逊"。他们与23000多家供应商合作,在其网站上有超过3000万件产品。

为了让客户访问Wayfair的网站,他们在搜索引擎和社交媒体网站上花费了大量的广告。2019年,Wayfair在谷歌搜索广告、Facebook/Instagram广告、YouTube广告等方面的广告支出超过10亿美元。当你在谷歌上搜索 "台灯 "时,Wayfair将是竞标这个词的广告位的公司之一。Wayfair可能愿意为其台灯广告的每次点击支付1美元。
确定数百万个广告位置的最佳出价是一项极其困难的任务,它意味着Wayfair的底线有数亿美元的差异。广告出价太低将无法赢得广告投放名额,而提交的出价太高则会损害Wayfair的利润率。

为了管理这个问题,Wayfair的竞价和优化平台团队为广告竞价建立了一个中央平台。
Satish Gopalakrishnan是Wayfair的工程副总监,他就这个系统背后的设计写了一篇很棒的博文。

这里是总结:

在Wayfair进行广告竞价的早期,没有一个集中的平台来进行竞价。当工程师想测试一种新的广告竞价方法时,他们必须重新实现系统的几个部分。
这意味着同类工作的重复,进入市场的时间较慢,而且缺乏可观察性和协调性。

为了解决这个问题,Wayfair决定建立一个中央平台。

设计目标
Wayfair的广告竞价平台的设计目标是

可扩展性--没有单一的最佳广告竞价方法。你可能想用一个ML模型来决定出价,或者你可能想用简单的启发式方法。

竞价的方法可以根据产品类别、目标关键词等而不同。

因此,平台应该能够轻松支持不同的出价方法。

  • 可观察性--平台应提供决策以某种方式作出的原因的可见性。
  • 可配置性 - 应该有控制措施来改变参数,如出价的积极性和广告投资的回报。应该很容易为某些产品配置高积极性,为其他产品配置低积极性。
  • 实验--平台应该允许进行简单的试错实验,以测试新的竞价方法。
  • 可扩展性--随着Wayfair增加更多的产品和竞价方法,该平台应该很容易扩展。它还应该为数据科学和营销团队提供高质量的数据。

架构设计
我们来看看每一个组成部分。

1. FORGE:
FORGE进行必要的数据工程,以创建广告竞价平台用于创建竞价的数据。
FORGE从各种外部和内部来源/信号中获取数据。然后,它对数据进行数据转换,包括聚合和身份映射。FORGE还进行更复杂的操作,以检测异常数据并将其排除。
这是一个连续的管道,转换是以模块化的方式完成的,所以它们很容易配置/删除。

2.竞标控制台:
Wayfair的分析师可以在这里调整广告竞价平台的参数,比如出价的积极性。
它是非常可定制的,可以针对特定的产品/关键词。

3. 单一出价计算器
广告平台的核心构件是单一出价计算器(SBC)。SBC提供决定实际出价的核心逻辑。
SBC将特定的产品(例如Herman Miller Aeron Chair)作为输入。然后,它使用该产品的所有相关数据/信号来产生广告位置的出价。SBC依靠ML或启发式方法(或两者)来得出出价。

广告平台将使用多个SBC,为Herman Miller Aeron Chair产品提出多个竞价。

  • 这使Wayfair可以灵活地使用一些出价的组合作为最终出价
  • 同时评估多种出价方式,并进行反事实分析(例如,在特定情况下,出价方式X会产生更好的出价)。
  • 在SBC失败的情况下有后备的投标。

可观察性和供应商映射
在最终的投标产生后,它们被发送到一个可观察层,在那里记录关于投标的各种因素。
之后,出价被翻译成供应商的特定术语,然后被发送到各种广告供应商平台(谷歌广告、必应广告等)。