一、互联网广告精准投放介绍
(1)dsp的展示原理:
① 用户浏览媒体网站,媒体网站通过添加的 SSP 代码向 AdExchange 发起广告请求。
② AdExchange 将这次请求的关键信息(如域名 URL、IP、Cookie 等)同时发送给多家 DSP,我们把这个请求称为 Bid Request。
③ DSP 收到请求后通过 Cookie、IP、URL 等信息决策是否参与竞价,DSP 可以通过 Cookie 来查询此用户在自己系统中的历史行为来推算人口属性和兴趣爱好,如果DSP没有这个能力,则可以通过第三方DMP的协助来判断用户特征,以便更合理地出价,如若出价,则向 AdExchange 返回价格、要展示的广告、跳转链接等信息,我们把这次信息返回称为 Bid Response。
④ AdExchange 选出出价最高的 DSP,通知这个 DSP 赢得了竞价,并告诉它此次展示的费用(由于在RTB中是采用二阶定价,即第二高出价,所以DSP并不知道实际的费用,需要AdExchang 再通知一次),于此同时,AdExchange返回给媒体要展示广告的html内容。
⑤ 广告的静态资源(图片、Flash 等文件)一般是存储在 DSP 的服务器,所以在加载广告代码的时候需要去 DSP 请求静态资源
⑥ DSP 返回静态资源,完成广告的渲染和展示。
(2)相关名词解释:
??DSP:DSP是一个系统,也是一种在线广告平台。它服务于广告主,帮助广告主在互联网或者移动互联网上进行广告投放,DSP可以使广告主更简单便捷地遵循统一的竞价和反馈方式,对位于多家广告交易平台的在线广告,以合理的价格实时购买高质量的广告库存。
??Ad Exchange:Ad Exchange即互联网广告交易平台,它联系着DSP(买方平台)和SSP(卖方平台),通过接入SSP汇集大量媒体流量,从而收集处理属于广告目标客户的数据,Ad Exchange是实现精准营销的交易场所。
??SSP:SSP(Suply Side Platform),供应方平台,即媒体方平台,也就是消费者看到广告的媒介。
??DMP:数据管理平台能够帮助所有涉及广告库存购买和出售的各方管理其数据、更方便地使用第三方数据、增强他们对所有这些数据的理解、传回数据或将定制数据传入某一平台,以进行更好地定位。
(3)DMP详细介绍:
?1)用户数据分类:
???- 第一方数据:需求方即广告主自有用户数据,包括网站/APP监测数据、 CRM(Custom Relation Management)数据、电商交易数据等。
???- 第二方数据:需求方服务提供者在广告投放过程中积累的业务数据,如DSP平台业务中积累的受众浏览广告、点击广告等相关数据。
???- 第三方数据:非直接合作方拥有的数据,如运营商数据等
?2)数据分析能力:
??其中用户画像是基础,即通过对用户信息的标签化,完美的抽象出一个用户的信息全貌,并为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息提供足够的数据基础。顾名思义,用户画像的焦点工作就是为用户打标签,而一个标签通常是认为规定的高度提炼的特征标识,例如年龄、性别、地域、用户偏好等,最后将用户的所有标签综合来看,就可以勾勒出该用户的立体画像了。
?3)DMP的作用:
??- 能快速查询、反馈和快速呈现结果
??- 能帮助客户更快进入到市场周期中
??- 能促成企业用户和合作伙伴之间的合作
??- 能深入的预测分析并作出反应
??- 能带来各方面的竞争优势
??- 能降低信息获取及人力成本
二、项目需求
(1)实现的需求:
? - 模拟从文件中读取数据,使用spark将数据清洗之后分装到dataframe,并且压缩之后,输出成parquet形式的文件。
? - 读取parquet文件,使用sparksql将其根据需求进行etl,并且输出到MySQL中(报表)
? - 读取parquet文件,通过userid,根据每一个用户,打相应的标签,最终放入hbase
(2)原始文件的字段介绍:
序号 属性名称 描述
1 Sessionid:String 会话标识
2 Advertisers:Int 广告主id
3 Adorderid:Int 广告id
4 Adcreativeid:Int 广告创意id(>=200000:dsp)
5 Adplatformproviderid:Int 广告平台商id(>=100000:rtb)
6 Sdkversion:String Sdk版本
7 Adplatformkey:String 平台商key
8 Putinmodeltype:Int 根据广告主的投放模式,1:显示量投放,2:点击量投放
9 Requesmode:Int 数据请求方式(1:请求,2:展示,3:点击)
10 Adprice:Double 广告价格
11 Adpprice:Double 平台商价格
12 Requestdate:String 请求时间格式为:yyyy-m-dd hh:mm:ss
13 Ip:String 设备用户的真实ip地址
14 Appid:String 应用IP
15 Appname:String 应用名称
16 Uuid:String 设备唯一标识
17 Device:String 设备型号,如:htc,iphone
18 Client:Int 设备类型(如:1:Android,2:IOS,3:wp)
19 Osversion:String 设备操作系统版本
20 Density:String 设备屏幕密度
21 Pw:Int 设备屏幕宽度
22 Ph:Int 设备屏幕高度
23 Long:string 设备所在经度
24 Lat:String 设备所在维度
25 Provincename:String 设备所在省份名称
26 Cityname:String 设备所在城市名称
27 Ispid:Int 运营商id
28 Ispname:String 运营商名称
29 Networkmannerid:Int 联网方式id
30 Networkmannername:String 联网方式名称
31 Iseffective:Int 有效标识(有效指可以正常计费的)(0:无效,1:有效)
32 Isbilling:Int 是否收费(0:未收费,1:收费)
33 Adspacestype:Int 广告位类型(1:banner2:插屏3:全屏)
34 Adspacetypename:String 广告位类型名称(banner横幅,插屏,全屏)
35 Devicetype:Int 设备类型(1:手机:2:平板)
36 Processnode:Int 流程节点(1:请求量ktp2:有效请求3:广告请求)
37 Apptype:Int 应用类型id
38 District:String 设备所在县的名称
39 Paymode:Int 针对平台商的支付模式1:展示量投放(CPM)2:点击(cpc)
40 Isbid:Int 是否rtp(1参与竞价 0不参与竞价)
41 Bidprice:Double Rtp竞价价格
42 Winprice:Double Rtp竞价成功价格
43 Iswin:Int 是否竞价成功
44 Cur:String Values:umd|rmb等
45 Rate:Double 汇率
46 Cnywinprice:Double Rtp竞价成功转换成人民币的价格
47 Imei:String Imei
48 Imac:string Mac
49 Idfa:String Idfa
50 Openudid:String Openudid
51 Androidid:String Androidid
52 Rtbprovice:String Rtb省
53 Rtbcity:String Rtb市
54 Rtbdistrict:String Rtb区
55 Rtbstreet:String Rtb街道
56 Storeurl:String App的市场下载地址
57 Realip:String 真实ip
58 Isqualityapp:Int 优选标识
59 Bidfloor:Double 低价
60 Aw:Int 广告位的宽
61 Ah:Int 广告位的高
62 Imeimd5:String Imei_md5
63 Macmd5:String Mac_md5
64 Idfamd5:String Idfa_md5
65 Openudidmd5:String Openudid_md5
66 Androididmd5:String Androidid_md5
67 Imeisha1:String Imei_sha1
68 Macsha1:String Mac_sha1
69 Idfasha1:String Idfa_sha1
70 Openudidsha1:String Openudid_sha1
71 Androididsha1:String Androidid_sha1
72 Uuidunknow:String Uuid_unknow tanx密文
73 Decuuidunknow:String 解密的tanx明文
74 Userid:String 平台用户id
75 Reqdate:String 日期
76 Reqhour:String 小时
77 Iptype:Int 表示ip类型
78 Initbidprice:Double 初始出价
79 Adpayment:Double 转换后的广告消费
80 Agentrate:Double 代理商利润率
81 Lomarkrate:Double 代理利润率
82 Adxrate:Double 媒介利润率
83 Title:String 标题
84 Keywords:String 关键字
85 Tagid:String 广告位标识(当视频流量时值为视频得ID号)
86 Callbackdate:String 回调时间,格式为YYYY/mm/dd hh:mm:ss
87 Channeid:String 频道ID
88 Megratype:Int 媒体类型1:长尾媒体2:视频媒体3:独立媒体,默认:1
(3)报表:
地域分布:
终端设备:
操作系统
媒体分析:
渠道报表:
(4)用户画像:
标签一:广告位类型(标签格式:LC03->1或者LC16->1)xx为数字,小于10 补0
标签二:APP名称(标签格式:APPxxxx->1)xxxx为APP的名称,使用缓存文件appname_dict进行名称转换
标签三:渠道(标签格式:CNxxxx->1)xxxx为渠道ID
标签四:设备:操作系统|联网方式|运营商
设备操作系统
1 Android D0001001
2 IOS D0001002
3 Winphone D0001003
4 其他 D0001004
设备联网方式
WIFI D0002001
4G D0002002
3G D0002003
2G D0002004
设备运营商方案
移动 D0003001
联通 D0003002
电信 D0003003
OPERATOROTHER D0003004
标签五:关键词(标签格式:Kxxx->1)xxx为关键字。关键词个数不能少于3个字符,且不能超过8个字符;关键字中如包含”|”,则分割成数组,转化成多个关键字标签
标签六:地域标签(省标签格式:ZPxxx->1,地市标签格式:ZCxxx->1)xxx为省或市名称
标签七:6)上下文标签:将数据打上上述6类标签,并根据【用户ID】进行当前文件的合并,数据保存格式为:userid K×××志:3 D00030002:1........
三、项目实现
由于这里的代码比较多而且复杂,我就放置在自己的博客资源中,提供下载!
指标表:http://down.51cto.com/data/2457798
原文地址:http://blog.51cto.com/14048416/2340045