大資料專案之dmp使用者畫像
一、網際網路廣告精準投放介紹
(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