专栏名称: 美团技术团队
10000+工程师,如何支撑中国领先的生活服务电子商务平台?数亿消费者、数百万商户、2000多个行业、几千亿交易额背后是哪些技术在支撑?这里是美团、大众点评、美团外卖、美团配送、美团优选等技术团队的对外窗口。
目录
相关文章推荐
架构师之路  ·  关于即时通讯架构的一切! ·  2 天前  
美团技术团队  ·  2024年美团机器人研究院学术年会议程公布 ·  4 天前  
架构师之路  ·  手贱删了DB,如何快速恢复?(第24讲) ·  6 天前  
架构师之路  ·  超经典,网页判重核心技术!(第25讲) ·  5 天前  
高可用架构  ·  OpenAI ... ·  5 天前  
51好读  ›  专栏  ›  美团技术团队

美团DSP广告策略实践

美团技术团队  · 公众号  · 架构  · 2017-05-05 19:21

正文

前言


近年来,在线广告在整个广告行业的比重越来越高。在线广告中实时竞价的广告由于其良好的转化效果,占有的比重逐年升高。DSP(Demand-Side Platform)[1]作为需求方平台,通过广告交易平台(AdExchange)[2]对每次曝光进行竞价尝试。对于AdExchange的每次竞价请求,DSP根据Cookie Mapping [3]或者设备信息,尝试把正在浏览媒体网站、App的用户映射到DSP能够识别的用户,然后根据DSP从用户历史行为中挖掘的用户画像,进行流量筛选、点击率/转化率预估等,致力于ROI [4]的最大化。


美团点评的用户量越来越大,积累了大量的用户在站内的行为信息,我们基于这些行为构造了精准的用户画像,并在此基础上针对美团App和网站的用户搭建了美团DSP平台,致力于获取站外优质的流量,为公司带来效益。本文从策略角度描述一下在搭建DSP过程中的考虑、权衡及对未来的思考。


  • 在DSP实时竞价过程中,策略端都在哪些步骤起作用;

  • 对每一个步骤的尝试和优化方向做出详细介绍;

  • 总结DSP如何通过AB测试、用户行为反馈收集、模型迭代、指导出价/排序等步骤来打通整个DSP实时竞价广告闭环。


竞价展示流程


美团DSP在一次完整的竞价展示过程中可能涉及到两个大的步骤:


  1. 对AdExchange的竞价请求实时竞价;

  2. 竞价成功之后用户点击进入二跳页、浏览、点击、最后转化。


我们分别看一下这两个步骤中策略的支持。


图1 竞价广告示意图


图1给出了每一次竞价广告的粗略示意图,竞价Gateway在收到竞价请求之后,会识别出美团点评用户的流量,根据网站历史CTR、网站品类属性等因素进行简单的流量过滤,把流量分发到后端的AdServer。AdServer作为后端广告的总控模块,首先向RecServer(定向召回服务)获取站外展示广告召回结果,然后根据获取的广告结果向PredictorServer(CTR/点击价值预测服务)请求每个广告的站外点击率和点击价值。


最后AdServer根据获取的点击价值vctr,根据上面的公式进行排序,从而挑选出top的广告进行展示。


图2 二跳页广告流程图


图2给出了竞价成功后,用户从站外展示的广告点击后,所经历的流程示意图。用户点击站外广告后,到达二跳页Gateway,二跳页Gateway向AdServer请求广告列表。AdServer从RecServer获取站内二跳页广告召回结果,然后根据获取的广告结果向PredictorServer请求每个广告的二跳页点击率并进行排序。排序后的结果返回给二跳页Gateway进行广告填充。


在上述两个步骤中,美团DSP策略端的支持由RecServer和PredictorServer提供,在图1和图2分别用红色的箭头和AdServer交互。其中RecServer主要负责站外广告和二跳页的广告召回策略,而PredictorServer主要负责站外流量的CTR预估,点击价值预估和二跳页内的CTR预估。整个策略的闭环如下图:


图3 策略闭环图


接下来详细介绍下美团DSP的召回、CTR预估、点击价值预估相关的策略。


定向召回


从上一小节的介绍可以看到,定向召回服务分别在实时竞价过程中提供了站外广告的召回服务,在竞价完成之后提供了二跳页的广告召回服务。站外召回和站内二跳页召回没有本质的区别,比较常见的做法是二跳页会根据用户点击商品的品类进行品类过滤。下面我们具体看一下目前定向召回相关的具体策略。


基于实时行为召回


通过实时日志流平台准确的跟踪用户的实时点击浏览/收藏/购买行为,对于相应的用户重新投放用户近一段时间内发生过浏览/收藏/购买行为的商品。需要注意的是这个策略需要考虑召回概率按时间进行衰减,用户的实时行为能够比较强反映用户的近期兴趣,距离当前时间比较长的用户行为对于用户近期兴趣的定向偏弱。


基于位置召回


O2O的业务特点与传统的电商有明显的区别,传统电商是在线上达成交易意向,然后通过快递送货的方式完成交易。O2O业务绝大部分消费者是在线上买入电子券,然后要到店进行消费,所以用户的位置信息在广告召回中起着举足轻重的作用。我们在基于位置的广告召回中尝试了以下三种策略:


1. 实时地理位置召回


根据用户所在的实时地理位置召回距离比较近的广告。


  • 对于移动端的广告流量,可以比较准确的获得用户的实时地理位置,从而进行比较精准的投放;

  • 对于PC端的流量,地理位置是通过用户访问的IP地址进行推算的,所以地理位置是有偏移的,但是考虑到PC端浏览广告的流量用户位置一般都比较固定,比如用户一般是在上班或者在家休息,我们仍然使用了这个策略。


2. 实时商圈热单召回


根据用户所在的实时地理位置推断出用户目前所在商圈,给用户投放当前商圈的热门消费单。商圈的范围一般在几公里范围之内,对于用户到店消费是一个合理的距离范围,所以我们离线挖掘出每一个商圈的热门消费单,作为用户召回的候选。

可以看到策略1和策略2是不需要userid的,所以这两个策略也是我们在识别不到userid的时候一个比较好的冷启动召回策略。


3. 偏好商圈热单召回


通过离线分析用户历史的浏览/点击/购买行为,分析出用户的历史商圈偏好,召回用户偏好的商圈消费热单作为广告候选集。这个策略需要用户的userid,仅对于能够识别并能映射到userid的用户适用。


基于协同过滤召回


基于协同过滤的召回策略我们融合了user-based和item-based两种。


基于item-based的协同过滤,我们首先通过用户的购买行为计算item之间的相似度,比如通过计算发现item A和item B之间的相似度比较高,我们把item A作为候选推荐给购买item B的用户,作为item B的用户的召回候选集之一;同样也把item B作为候选推荐给购买item A的用户,作为购买item A的用户的召回候选集之一。因为item-based协同过滤的特征,这一部分召回基本能够把热门爆款单都拉到候选集中。


基于user-based的协同过滤,我们同样需要先计算用户之间的相似度。计算用户相似度时,除了考虑用户购买的商品,还可以把用户所消费过的商家及商家所在的商圈作为相似度权重考虑进来。这么做是因为,很多商品是在全国多个城市都可以购买的,如果只采用用户购买的商品来计算相似度,可能把两个不同城市用户的相似度计算的比较高,加入商家和商圈的权重,可以大大降低这种情况的可能性。


基于矩阵分解的场景化召回


对于O2O消费的某些场景,比如美食和外卖,用户是否发生购买与用户目前所处的场景有很大关系,这里的场景包含时间、地点、季节、天气等。举个例子来说,工作日的中午,如果还在下雨,这个时候外卖的购买概率一般是比其他商品高的。


基于此,我们开发了基于矩阵分解的场景化召回策略。我们采用了FM模型来进行建模,建模的特征包括季节、时间(工作日/周末,一天之内的时段)、地点、天气等。这个策略的目的是希望召回用户实时的基于场景化的需求。


CTR预估


上文提到在实时竞价阶段,AdServer会跟PredictorServer请求每个广告的站外点击率和点击价值。

最后AdServer根据获取的点击价值vctr,根据上面的公式进行站外广告排序,挑选top的广告。最终的报价公式如下:

公式(1)


(1)ai=1kvictrit+b" role="presentation">