互联网智能广告系统简易流程与架构。

业务简述

  • 广告主在业务端投递广告

    广告主登录业务端后台,进行设置:

    •今日投放地域是“北京-上地”
    •投放类别是“租房”
    •定向人群为“女”,“30岁以下”
    •需要推广的广告内容是他发布的一条“房屋出租”的帖子
    •竞价设置的是0.2元
    •单日预算是20元
    

    这些数据,当然通过业务端存储到了数据层,即数据库和缓存里。

  • 用户来到了网站,进入了“北京-上地-租房”类别,广告初筛实施

    合适的广告,必须符合“语义相关性”,即基础检索属性(广告属性)必须符合(广告能否满足用户的需求,满足了点击率才高),这个工作是通过BS-basic search检索服务完成的。BS从数据层检索到“北京-上地-租房”的广告帖子。

  • 用户属性与广告主属性匹配,广告精筛实施

    步骤二中,基础属性初筛了以后,要进行更深层次的策略筛选(用户能否满足广告的需求),此例中,广告主的精准需求为:

    •用户性别为“女”
    •用户年龄为“30岁以下”
    •用户访问IP是“北京”
    

    系统将初筛出来的M条广告和用户属性进行匹配筛选,又过滤掉了一部分,最后剩余N条待定广告,这些广告既满足用户的需求(初筛),这些用户也满足广告主的需求(精筛),后者是在AS-advanced search策略服务完成的。

  • 综合排序,并返回Top X的广告

    经过步骤2和步骤3的初筛和精筛之后,待选的N条广告既能满足用户当前的需求,用户亦能满足广告主的筛选需求,但实际情况是,广告位只有3个,怎么办呢?就需要我们对N条广告进行综合打分排序(满足平台的需求,广告平台要多赚钱嘛)。

    出价高,但没人点击,广告平台没有收益;点击率高,但出价低,广告平台还是没有收益。最终应该按照广告的出价与CTR的乘积作为综合打分排序的依据,bid*CTR。

  • 展现端展示了广告,用户点击了广告

    展示了广告后,展现端js会上报广告展示日志,有部分用户点击了广告,服务端会记录点击日志,这些日志可以作为广告算法实施的数据源,同时,他们经过统计分析之后,会被展示给广告主,让他们能够看到自己广告的展示信息,点击信息。

  • 对广告主进行扣费

    用户既然点击了广告,平台就要对投放广告的广告主进行扣费了,扣费前当然要经过反作弊系统的过滤(主要是恶意点击),扣费后信息会实时反映到数据层,费用扣光后,广告就要从数据层下线。