流量作弊弥漫在互联网广告行业中,已经成为公开的秘密。
黑格尔的哲学命题”存在即合理“,往往被人滥用,其原意是“合理即合符某种规律”,通过黑格尔辩证法,不存在不变的东西,这个命题也可以解释成“凡是存在的,都是应该会灭亡的”。 不知道虚假流量什么时候会灭亡,那时这篇文章就失去意义了,不过既然这篇文章现在存在,那么就是合理的(rational)。
今天的话题集中在移动流量作弊上面,作弊(反作弊)形式和技术与PC作弊不尽相同。PC的用户标识通常使用浏览器的Cookie;而移动的标识通常是IDFA(苹果),Google Ads ID(海外Android),IMEI(国内Android)。移动App有更多信号(机会)辨别真伪,PC浏览器的限制会比较多。
这篇文章就肤浅介绍一下虚假流量后的一些潜规律,很多分析都很浅显,因此叫做浅潜规则。
1. 虚假流量的术语
本文聊的作弊流量,有好多种说法,侧重点也不尽相同。
作弊流量(Fraud Traffic) :大白话,容易明白,就是骗人的流量
非人为流量(No-Human Traffic ): 这种流量特指一些Bot流量,机器模拟的;对于一些劫持的流量,有些灰色地带,因此不够准确。
非激励正常流量(No-Incentive Traffic):有些流量虽然是人为流量,但常常是由某种诱惑而来(例如不合理页面设计,奖券,红包,游戏点卡等),因此激励流量通常转化效果比较差。
无效流量(Invalid Traffic) :为了规避过于敏感的作弊(Fraud)而使用的术语,这样不容易得罪人,无效流量中既有故意为之,也有无意为之的。
异常流量(Abnormal Traffic) :类似于无效流量,强调流量的异常性。
这些术语之间并没有太多包含关系(或没必要严格细分),更多的是用在不同的场景和角色。例如,有些研发人员关注No-Human Traffic(Bot Traffic) ;有些效果监测的公司更加关注计费的流量,因此愿意使用invalid traffic;早期,这些流量都称为Fraud Traffic,因此作弊流量也是一种常用说法。
2. 移动广告的业务模式图:
有钱的就地方就是作弊,常在河边走,哪有不湿鞋?看看钱是如何流动的就可以理解其中利益关系。钱流的上游是付钱的主,下游的机构总想放大收入,那么在付钱主的所能容忍范围内最大化收入就是各个环节优化的目标。这是一个在限制条件下,单优化目标的问题。
常见流量作弊的动机:
1.媒体:制造虚假流量,提升收入
2.广告代理/销售:运营虚假流量,保证合同,提升收入
3.交易平台:对虚假Supply审查不严格,提升收入
4.用户:为获得激励(红包,点卡等)而产生低(无)效果流量
5.广告主:恶意消耗竞争对手的预算
3. 移动广告目前的虚假流量比例
由于虚假流量过于复杂和敏感,大家在报数的时候都是非常谨慎小心的。尽管如此,最后大家报的数字千差万别,因此无法考证各个数据的置信度,大家参考一下就好。
1.ANA( Association of National Advertisers): “声誉差的交易平台作弊流量达到25-50%,声誉好的通常低于10%”。
2.AppFlyer:2016年,AppLift的报告指出34%的移动流量为有风险的虚假流量(Risk of fraud, 22%可疑,12%高风险) 。Android虚假流量比例大于iOS,系统版本约高,虚假比例越低。
2.秒针:2016年垂直网站与网盟媒体异常流量占比最高。其中,垂直类媒体曝光异常大幅增至 24.93%,点击异常中网盟类媒体最为明显,占比高达 71.07%。
3.AdMaster :2016年全年无效流量整体占比为30.2%;下半年出现小幅度恶化现象,无效流量增加3.7%;
4.移动虚假流量的分类
虚假流量有很多种分类,各种分类都会有灰色的领域,下面我试图用作弊的基本原理方式来分类,而且主要是针对移动的场景。更加全面和系统的分类,可以参考刘鹏老师的《互联网广告作弊十八般武艺》。
另外一种分类可以按照设备和人为的四象限分类
5. 移动反虚假流量的模型
在讨论如何对付移动虚假流量的方法之前,我们先看看移动作弊的一些主要黑技术,做到知己知彼。
移动作弊中涉及很多黑技术,其中包括一下一些:
模拟器:BlueStacks, AndyWin, GenyMotion
Spoofer: 不断的修改机器的IP , IMEI, MAC等
Proxy: 网关,修改ISP, IP, UA , 设备类型等
苹果: 没有模拟器,主要通过硬件和软件模拟
激励流量(incent Traffic ): 真实人流量,但是转化率差的流量
...
对于如何防范移动虚假流量,这确实是一个复杂的问题。并非没有防范作弊的高端技术,也不是因为这个问题不够严重,最主要的原因有三个。
精准打击反作弊的成本比较高
各种玩家的利益分配原因
作弊者的受益高和风险低,大部分情况下,作弊者不会受到任何惩罚。
例如,最近友盟+在法院起诉某家App刷量公司,理由是影响了友盟统计计算的正确性和公正性。目前法院并没有判定,我也不得知其诉讼的合理性。打个比方,有一个刷墙公司把路上所有广告牌都刷成某家公司,然后有一个品牌影响力排名公司去控告这个刷墙公司,严重影响了它的品牌排名公正性。总感觉这个逻辑,不算太对。我也确实非常讨厌App刷量公司,但是从哪个角度去批判和惩罚他们,确实值得法律法规上更多的讨论。
不聊伦理和法规,聊聊技术吧,我觉得技术上可以按照如下模型来对付虚假流量,这里特指移动端。
硬件:手机拥有更多的硬件信息,因此通过硬件信息进行虚假流量的防范,可以防范通过非手机(即Bot,服务器等)的虚假流量。虽然,现在手机系统提供了有一些标准函数可以获得硬件信息,例如IMEI,MAC等,但这些函数很容易被一些通用软件工具所攻破。另外,这个硬件标识的信息,也无法在服务器端得到有效校验。因此,在虚假流量的斗争中,第一步往往就是识别流量的来源,是真实手机,还是模拟器,服务器模拟等工具。
规则策略:规则往往是最简单有效的防范机制,例如,对于第一次访问全新流量,将虚假流量的可能性设置为高。对于每天多余X次的有规律访问,坚决抵制等等。规则有很多很多,不断的增加,修改,发展到最后,规则的匹配次序也成了一门艺术了。对于一些初级的造假者,往往会落到这些规则中。
机器学习:机器学习就是通过一些训练数据集合训练出一个分类器,对于一些特征,训练出一些权重信息,而后用于流量的分类识别上。做虚假识别的团队很多时候在这个方向会越做越深,使用更多的特征,使用更多数据,使用更加及时的数据,尝试更多的模型。这个领域工作很“苦”,做严格了,收入可能受影像,做宽松了,广告主投诉ROI下降,这种平衡有点里外不是人。
智勇双全:有些作弊并非一定通过死板的技术手段完成的,其实有很多五花八门的方法。举例来说,通过加大对于媒体的惩罚力度,可以提高媒体的作弊成本,从而降低作弊率。另外,还有一种有趣的反作弊方法,叫做Honey Ad(有时也叫Bluff Ad),这些广告有些特点(例如,预期点击率很低),通过观察点击率是否和预期一样,可以判断流量是否是机器流量(机器流量无法判断这些广告的贴点)。
6 识别虚假流量的技术流派
这一部分主要是集中在通过机器学习的办法辨识虚假流量的技术,有一大部分内容可以在相关的论文中找到。
6.1 分类方法
大部分算法工程师在处理虚假流量都是从分类技术开始的,构造一个分类器,找各种各样的特征,找到一些虚假流量的(例如转化率异常)训练数据。这种方法对于对于虚假流量的样本非常依赖,不同的样本很容易训练出不同的模型,容易过渡拟合。 对于新的虚假流量模式,不容易及时发现。
常见的有逻辑回归和贝叶斯方法,可以参考如下论文
《Measuring and Fingerprinting Click-Spam in Ad Networks》Vacha Dave etc.
6.2异常检查(Anomaly-Based Detection)
学术上有很多论文,讨论通过聚类的方案识别异常流量,在移动端,可以通过跟踪某一个用户标识的历史行为,各种上网行为,广告请求行为,浏览行为,特别是跨媒体的使用情况,以辨别这个流量是否是正常手机的使用轨迹。
基于历史信息和行业平均水平进行异常分析
基于时间的变化,发现一些突变点
这一技术在金融和交易的反欺诈,用的非常多,技术也非常繁多
常用方法可以聚类,分类或者内容分析;
《Using Co-Visitation Networks For Classifying Non-Intentional Traffic》 Ori Stitelman et al. Dstillery 2013.
6.3 APP的广告作弊的自动化检查
市面上有很多APP,那些APP是制作虚假流量的来源?有没有什么自动的检查方法? 微软有一篇论文就是介绍这方面的工作,通过自动运行APP,分析APP的广告情况:太多广告,广告大小过小,重叠广告等等。
2014,《DECAF: Detecting and Characterizing Ad Fraud in Mobile Apps》
6.4. 审计(Audit)
审计是一种传统的反欺诈方法,也是有效的,对于调查一些刷量问题也是有直接帮助的。
当有些在某些媒体(publisher) 点击发生点击
广告平台/广告主向媒体发送一些审计的请求,确认之前受到的点击的有效性(时间点,基本信息),而后进行对比。
6.5 伪广告验证(Honey Ads)
广告平台发送一些小比例的广告,例如一些信息提示,按道理,这些提示内容并没有让用户Click的意图。
如果这些伪广告的点击率,仍然很高,像其它的广告点击率一样高,说明这些流量有问题。
6.6 设备ID的真伪辨别
在移动设备上,对于设备ID的辨别可以极大的帮助识别虚假流量。有两件事需要确认,第一,这个ID是有效的ID,第二,这个广告请求确实是来自这个ID所在的设备。
移动设备ID也比较多,国内安卓以IMEI的MD5/SHA256为主;IMEI通常也会带有制造商的一些基础信息。
如何确定这个ID是来源于真实的设备,这就需要利用硬件的技术,或则通过历史数据的一些分析来看。例如有一个IMEI ,请求的IP来源忽悠不定,上午的IP在郑州,下午在杭州和南宁等,或则不熟悉的地方,那么这些广告请求中,通常有虚假的成分。因此,对ID进行辨别,对常见ID可以采用辅助的技术进行识别,包括访问频率,IP范围,浏览行为,搜索行为,APP事情情况等等,访问时间等,而且可以通过数据链的方式来判定请求的真实性。
6.7 分享一些反欺诈的论文
这里推荐老东家的一篇论文,《Click Fraud Detection: Adversarial Pattern Recognition over 5 Years at Microsoft》,这篇文章介绍了微软2014年之前的一些心路总结,从RuleBitmap 到 Model Fighting,如何定义Metric (Value per Click)。我有幸与部分作者一起工作,期间真心感到反欺诈的工作的无冕之艰辛。
我收集了一些Papers,有兴趣的同学可以到我的主页上下载
http://www.ouyangchen.com/download
7 反作弊技术公司
1) Integral Ad Science
2009年成立的反作弊公司,保护品牌安全等,这家公司和尼尔森有很多合作, 详情可见integralads.com
2. Solve Media
专业提供CAPTCHA( "Completely Automated Public Turing test to tell Computers and Humans Apart")的服务,也就是验证是否是人操作,而不是机器访问。
3.Double Verify
主要从事视频的可见性的检测,它和Facebook和Youtube都有合作,经过MRC的认真。
4. Forensiq
专业处理虚假流量的技术公司,在投前,投中,投后都能够提供解决方案。
8.最后不得不说的话
打击异常流量,是一件苦劳总是多于功劳的事情,处理不利常常遭到广告主的投诉以及平台的信誉度下降,如果过于激进,广告主消耗可能会显著减少,交易平台流水也会减少。反欺诈算法的同学通常需要保守各种算法规则的秘密,很多时候,一些新的规则上线,也不能大肆宣扬,只能暗中观察效果,与非正常流量开始一波又一波的拉锯战斗。
最后,为长期打击反欺诈的同学鼓掌加油!
我的相关参考文章
广告技术:
互联网广告的归因分析(Attribution Analysis) (新!)
MarTech是广告主视角的的营销,技术和管理
广告点击率预估是怎么回事?
“自由即奴役”的Google AMP
两分钟搞明白Beacon,iBeacon和EddyStone
预算平滑(Budget Smooth)是怎样花钱的?
互联网广告CPM,CPC,CPA的魔咒和圣杯
拒绝垄断,走向开放的Header Bidding
自由之设备,独立之人格:从设备识别到跨屏营销
DSP的繁华和伤心
移动DeepLink的前生今世
谈谈广告平台的竞价原理:GFP,GSP,VCG
聊一聊小米广告平台的构建、底层模块和坑
Java技术:
Java 9的模块化--壮士断"腕"之涅槃
致青春,Java 20年!
大数据分析:
逆流而上,独辟蹊径的Oracle Exadata数据库
彪悍开源的分析数据库-ClickHouse
作者介绍:
欧阳辰,小米MIUI商业产品部 架构师/主管,超过16年的互联网老兵,负责广告平台架构和数据平台,曾负责微软移动Contexual Ads广告平台,参与Bing搜索引擎IndexServe的核心模块研发,有空也会在个人微信公众号“互联居”中,分享一些互联网技术心得,订阅“互联居”公众号,与作者直接交流。