分享

大数据在移动广告中的应用

howtodown 发表于 2014-8-23 10:45:47 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 8251
本帖最后由 howtodown 于 2014-8-23 11:13 编辑
---Xiang Li
美国Drawbridge公司,数据科学及机器学习科学家


      我讲三个部分。第一,手机广告主要流程、基本信息以及流程对应方面的算法或者其他方面的问题。第二,在Drawbridge的应用,一个是大数据做更加精准的预测,另一部分对市场行为等等有更深刻的理解。第三,Drawbridge在跨平台广告中的应用和案例分析,这是Drawbridge比较大的卖点。

      对广告或者是移动广告来说,不管做什么事情实际上最终目的是把广告主和终端用户匹配起来,但是日常生活中没有办法找到终端用户,所以大家需要通过应用程序额把广告主和终端用户匹配起来。


      真正在具体执行的时候,应用程序和广告主,并不会直接进行交互,他们都有自己的代理。对于应用程序而言有很多广告市场,应用程序会把所有用户或者流量交给广告市场,由广告市场对用户进行打理。对于广告主很多时候把广告的预算分给DSP等等,由他们具体做广告投放。由于这两种代理存在,广告变成真正进行直接交互方是广告市场和DSP,这是典型的交互方式和交互对象。


      对于Drawbridge来讲,侧重点在DSP方面,主要从DSP眼光看,对所有应用程序或者广告市场方面的东西叫做供应方,但是对广告主叫做需求方,广告主有需求,就把终端用户作为供给方供给它。


      所有这些广告从用户开始使用应用程序开始,用户开始使用应用程序就有要求从应用程序发到广告市场来。广告市场拿到需求以后,会把需求同时加上跟具体用户相关的基本信息,拿到这些信息以后把这些东西转发给所有在广告市场里参与商业活动的DSP。


      对于DSP拿到需求或者用户基本信息以后做什么事情?第一,我是DSP,首先看看在我手上有多少广告主的广告可以打到进来的信息上,并不是所有都能满足这个条件,如果广告主和客户是竞争对手关系,需要一个过滤过程,把现有广告主的广告进行过滤,看看谁满足这个条件。有了满足条件的广告需要做另外一个事情,每个广告产生收益是不一样的,收益可以从两个部分考虑,第一,如果把广告打过去,广告主喜好程度不一样,对于DSP来讲,如果不同广告打上去对我们产生收入是不一样的,所以对我们来讲需要把这两方面因素结合起来,综合进行一个排序,把所有的广告按照排序结果选择一个最优化的广告。这里有三个不同的客户,第一个广告可以产生三块钱,用户喜欢程度是两个笑脸,选择最优化的广告。


      一旦决定内排序以后,把什么广告投放上去,需要做事另外一个事情,对于DSP来讲决定投放这个广告,并不是我们广告能够最终投放出去,很多时候需要和竞争对手进行竞争或者比较,具体过程取决于广告市场是什么样的类型。


      一般来讲广告市场有两类,一类叫做Mediation,另外是RTB,Mediation是相对简单或者早期的模式,更像是批发市场,我就是把应用程序所对应的一批用户,好处是整个决策过程比较简单,就是要或者不要,而且这个成本预先能够确定好。但是和决策简单对应的不好的地方就是没有办法对单个用户进行精准的投放,你要跟着这个应用程序后面所有的用户或者一批用户,没有对单个用户进行投放。


      对于RTB,这个发展趋势很快,你可以对每一个Request决定你是否要买,但是这个过程比较复杂,但是在RTB大家经过竞标机制来决定,好处就是对单个用户进行精准投放。


      这样一个广告市场模式,我们内排序结果能够被接受或者通过竞价获得我们广告会打到用户终端上面去,所有这样的过程从Request到内排序,系统发回去,再把广告打到应用程序上整个过程在700个毫秒之间。


      我们把问题分成两个方面,第一,对需求方有一些挑战和问题,对DSP来讲需求是广告主的要求,对应基本的问题有几个比较典型的预测问题,比如说大家要预测点击率和转化率,如果把这个广告打给用户,有多少用户点击这个广告,转化率就是用户点击广告有多少概率会下载这个程序。有了这两个估计,可以大概估算Request我们可以赚多少钱。这个取决于具体的商业模式,一般有三种商业模式,最简单就是把广告打出去,就可以向广告主收钱,Cost就是广告主的收益,这种最简单,但是收益也是最低的,稍微复杂一点就是只有用户点了我广告以后,才能够向广告主收钱,最难的就是(英文),用户点了广告没有用,是用户下载了我的程序或者用户做了我们事先设定好的事情才收钱,这个是最难的,因为整个过程中用户会流失掉,但是收益也是最高的。


      对DSP来讲都有供给,对于这方面挑战在RTB中间,Price有两个问题,一个是盈利的预测,相当于进来的有要求,我们愿意出多少钱竞标,根据我们竞标价格有多大概率能够在竞标中间能够赢下来。另外就是2nd Price的预测,因为在广告市场里,大家通用的方法做竞标,谁出的价最高能够把竞标赢下来,但是这个并不是最高的价格,在整个竞标当中第二高的价格,在这种情况下一般要付多少钱才能够把这个广告拿下来。


      所谓供应以及需求方的信息,需要把这两个方面加以考虑,比如说竞标策略。我知道我这样进来能够赚多少钱,大概能够估算出成本是多少,竞标价格是多少。


       Drawbridge怎么用大数据做具体的事情?我们公司2011年成立,是一家创业公司,我们公司在硅谷,大概只有40人,去年20人,今年40人,但是因为公司比较小,所以大家干活比较努力,我们白天工作是什么样子的(PPT),下午的工作就是这样(PPT)。


      我们公司搭建的基础设施,我们很多做大数据工作把很多的MapReduce Job,可以从头到尾完成很复杂的工作,每天任意时间看发现超过50到60个workflow,每个小时超过1000个Map Reduce Job被launch,我们分成线上和线下,线上复杂整个这套流程的支持,线下都是大数据的东西。


      大数据可以带来更加精确的估计,一个是点击率的预测,植入一个比较精准的估计,才能够提高用户跟广告的粘合程度,只有精准的估计才能选择最牛的广告,用户粘合度提高才能够挣更多的钱。我们预测数据的规模最多是60天的训练数据,训练样本个数是20亿到30亿,我们150万的特征,整个建模过程是花15小时,整个模型有两块,一个是线上,一个是线下。


      用大数据以后带来效果的好处,不同数据的大小来比较他们的结果,用了一个礼拜的数据、30天的数据、60天的数据。我们通过两个比较,一个是log-loss的降低,log-loss反映预测精准度的问题,我们希望log-loss越低越好,说明我们预测的情况和真实的情况越匹配。另外可以看到点击度是多少,如果我们直接比一个礼拜或者60天log-loss降低60%,对应CTR提升8%。


      第二个问题,盈利的预测,方法和传统方法是一致的,传统方法是logistic Regression Method,重要性很简单,对盈利预测有了一个比较好的估计,对每一个用户付应该付的钱,所以盈利预测对这一块是很重要的,训练数据是14天,样本尺寸是50到50亿,特征是100万,整个过程是16小时,同样这里也有线上和线下。


      好处Log-loss会降低,一个礼拜或者两个礼拜对Log-loss的影响,以及对收入的增长,可以看到明显的都用数据越多对预测的结果越好。


      这里想问大家一个问题,最小的数据是一个礼拜开始,问问大家为什么不从一天开始?

      回答:因为一个星期的购买形成是不一样的。


      李想:大数据的时候需要用具体的场景,需要考虑这方面的因素。

      大数据对市场更精准的理解,具体用2nd Price auction,但是他付的钱是整个过程中间第二高,比如说我们现在三个DSP,A、B、C,有广告市场D,前面广告市场收到(英文)传给DSP,每个DSP在内部进行排序或者各种各样的处理,在这个例子里,大家通过内排序把竞标价格发给广告市场,比如说A竞标价格是1元,B是0.9元、C是0.85元,很明显A是价格最高的,但是真正应该付的价格是0.9元,整个竞标里很重要的部分是他们三个不知道对方出的价格是多少,在这种情况下,如果广告市场跟A说你的价格是最高的,我要你0.99元,A能够检测出来,这9分钱变成广告市场的利润,A付了多付的钱,对于A来讲有没有办法检测出来广告市有没有人跟他玩这种小游戏?


      如果我们看单一的竞标结果是没有办法推测广告市场,但是如果把所有得得竞标过程结合在一起看,能够看出一些具体的端倪所在。

      看看这个曲线(PPT),蓝色的曲线是Win Rate,红色曲线是对应的每一个竞标价格Win Proce,根据这两条曲线整个过程中间是不是2nd price auction?


      这个答案是也不是,我们一段一段来看,(PPT)从这个点开始竞标价格在不断上升,但是赢的概率保持不变,同时所负的价格也保持不变,这实际上是比较典型的2nd price auction,这是一条平的曲线。问题是从这一段到这一段,这个点对应的价格到这个点对应的价格,随着竞标价格不断增长,赢率是保持不变,但是所付的钱是线性增长,如果是用2nd price auction解释很奇怪,如果赢率保持不变,竞争对手行为是产生变化,所以这个价格曲线不应该随着竞标价格而线性增长,在这个区域之间竞标是广告市场耍了一个小滑头。整个这个图在具体过程中间碰到的真实案例,这种情况确实是存在的。


      发现这种现象以后,我们经常做一件事情,有一个自动的检测,看看广告市场是不是按照2nd price auction进行真实买卖交易,如果发现问题我们会问他是不是有欺诈行为在里头。


      下面谈谈跨平台广告在我们公司的应用,跨平台就是把用户看手机端或者左面把所有信息结合在一起,大概有两个原因,相对于手机端来讲,在PC端对用户的理解是不是会深刻,有一部分是历史原因,但是对用户有很多的数据,包括数据喜欢什么东西,但是手机方面并没有那么多数据,所以我们希望把用户PC端的信息拿到手机端。


      第二,用户在移动端和PC端用户的行为和模式不一样,用户更多在手机端来做,但是具体的其他应用用户也许只在PC端来做,这两个信息结合起来对用户的喜好也有更加全面的了解。我们公司最大的卖点是不需要用户ID或者login信息,我们对用户隐私监管比较严,所以我们必须用其他方法。也就是基于这种统一方法,对任意设备进行匹配,比如说在手机与手机之间匹配,手机与平板,手机与台式机之间。


      比如说我们用手机跟PC机做一个案例,相当于有很多PC端的信息,对应的手机上的设备,PC跟手机之间会发现大家有一定的相似度,比如说你发现这个手机和PC端使用的应用程序会有一定的关系,换句话说,在这两条不同的阵营之间会有千丝万缕的联系。


      一开始这个联系对我们大家来说不是很清晰,或者我们没有办法得出很明显的结论,我们可以通过不断的观察,不同设备之间所具有的共同特征,有一些设备他们之间的相关性或者他们之间共同的特点越来越强,但是对于另外一些设备他们相关性慢慢减弱。最后如果你有足够多的观测数据或者随着时间推移,我可以比较有信心的说,(PPT)这个桌面和手机上是同一个人,这个是找不到和他匹配的手机,这个和这个是一样的。


      大家看一下这个算法,任意一个手机和cookie可以加一个权重或者打分,我们会提取一些公有的特征,不断对特征进行不断的重复,不断的调整,这两个设备属于同一个人的话他们分值会越来越高。


      整个过程叫匹配或者叫Pairing,一个是跨平台的匹配,手机和PC之间的匹配,还有一种匹配是在不同的手机设备之间的匹配,对于手机来说有一个UDID,就是识别码,但是识别码淡出了IFA,一些老的用户要取消这个UDID,要找到对应的IFA,我们可以进行匹配。


      另外在手机应用程序和手机浏览器上进行匹配,对手机浏览器来讲达不到设备特征的,我们知道手机浏览器和这个手机是同一个人。


      案例中间我们做了很多不同的测试,包括不同的设备之间,比如说平板手机以及不同的时间和不同的用户进行测试,对点击率、转化率等等有多大的帮助,跨平台匹配的技术会提高数百倍的转化率。


      这个更精准的用户定向,可以把所有用户行为搜集下来,我们可以做成推荐系统,能够非常大的提升点击率或者转化率,好处就是大于20%的收入。


      最后一个是安卓相对落后,但是增长速度很快。广告尺寸,对利润、成本、转化率、点击率,广告尺寸都有很大的差别。

      留5分钟给大家提问。

      提问:我想知道你们计算的时候(英文)是用的什么样的途径?
      李想:可以通过应用伙伴提供的数据,比如说一些网友公司,有一些在手机短或者PC端的用户注册信息,把这个ID在手机和PC端(英文),用这样的信息来做。

      提问:(英文)要保证(英文)的吗?能(英文)你们所有情况?
      李想:不能保证,我们一般(英文)以后把结果和(英文)进行(英文),(英文)既在(英文)里也在匹配的结果里。

      提问:你在前面提到有一种算法,一个是(英文),第二,你们会有一个(英文),这个(英文)是自动学习出来还是手工选择?
      李想:(英文)肯定需要手工选,根据不同匹配的场景,比如说跨平台手机匹配或者是PC和手机匹配,根据不同的应用选择不同的(英文),但是(英文)选定以后匹配的过程是一致的,当然在不同的匹配之间有一些特征是共同的。

      提问:(英文)的(英文)选定是线性方式还是做了一些特别的处理?
      李想:我们算个数,需要算一些统一方面的指标。

      提问:这个统计的方法不是通过学习的……
      李想:我们用(英文)数那个东西,转换到概率方面的公式,对手机设备进行排序,依据就是(英文)上的分值。

      提问:你们考虑到协同工作率的模型吗?
      李想:我们主要考虑单个用户,我们感兴趣单个用户在不同平台的特征和行为,但是这个算法可以应用到更广告的领域里,但是在这个应用中间导致了目前只考虑到单个用户之间。

      提问:通过用户PC端和手机端两个平台上的用户行为或者是信息,具体计算来判定两个平台上的用户是同一个人,最后怎么验证。
      李想:一方面可以用一些(英文)使我们客户或者是合作伙伴提供一些信息,有其他方法可以验证PC和手机商是同一个人。另外,可以看直接的验证方法,如果你做广告投放,可以用(英文),匹配或者没有匹配,你所关心的点击率或者转化率有没有很大的提高,这是间接地验证,但是可以起到严明的作用。

      提问:它对你的修正或者增加变量等等有什么指导意义?
      李想:比如说一个记者手机和桌面后面是同一个人,我们是知道的,但是我们做匹配的时候并不用信息,看看(英文)能不能找出来,这种精准度比较高,但是成本也比较大。

       提问:你之前举了一个案例,把用户访问旅行网站行为记录下来,看到PC端和手机端是同一个人,会推送一下,这个推送怎么到达无线端。
      李想:比如说用户玩一个游戏,我们把旅行网站推送到手机网站上,这是一个被动过程,他只有玩游戏或者特定应用程序以后才会推送。

      提问:也就是说你判断这个用户之前安装了什么应用?
      李想:不完全是这样,只要这个用户手机应用推送过来我们会把广告推送过去,我们只要发现这个用户手机过来就把对应东西推送过去。

已有(3)人评论

跳转到指定楼层
lyman825726 发表于 2014-8-24 12:17:17
感谢分享!thank share
回复

使用道具 举报

InSight 发表于 2014-10-7 22:42:17
这么快就用上了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条