大賽簡介
目前互聯(lián)網(wǎng)領(lǐng)域有很多公司都在做APP領(lǐng)域的“用戶行為分析”產(chǎn)品呢蛤,與Web時代的行為分析相類似讨便,其目的都是幫助公司的運營、產(chǎn)品等部門更好地優(yōu)化自家產(chǎn)品,比如查看日活和月活景描,查看渠道來源,提高留存秀撇、轉(zhuǎn)化超棺、活躍度等等。 在這個研發(fā)過程中呵燕,有個比較核心的需求棠绘,叫做“有序漏斗”。“有序漏斗”問題定義比較簡單氧苍,但計算過程比較復(fù)雜夜矗。市面上現(xiàn)有的解決方案在數(shù)據(jù)量較大的情況下,計算效率較低让虐。 為了更好的提升產(chǎn)品體驗紊撕,易觀決定將此需求作為比賽題目,廣招各路大牛赡突,共同解決对扶。大賽分為2組,開源組和商業(yè)組惭缰。開源組設(shè)置獎金池和排行榜浪南,商業(yè)組最后設(shè)置排行榜。
根據(jù)提供的應(yīng)用轉(zhuǎn)化和OLAP場景漱受,給出具體的方案络凿,先利用測試數(shù)據(jù)集在指定測試集群上運行給出測試結(jié)果, 最終易觀會用實際測試數(shù)據(jù)在測試集群上跑整體數(shù)據(jù)并給出用時排名昂羡。
開源排行榜喷众,第1名現(xiàn)金人民幣10萬(稅前)獎勵, 前3名易觀證書
商業(yè)排行榜紧憾,前3名易觀證書
問題定義
漏斗分析是幫助運營人員分析一個多步驟過程中每一步的轉(zhuǎn)化與流失情況到千。
假設(shè)我們在購買商品的過程中,需要觸發(fā)的事件包括 “啟動”赴穗,“登陸”憔四,“搜索商品”,“查看商品”般眉,“生成訂單”等了赵。 運營人員需要分析某段時間內(nèi)(比如2017年1月5號到2017年2月5號),在全部用戶中依次有序觸發(fā) “登陸”→“搜索商品”→“查看商品”→“生成訂單“ 事件的人群的轉(zhuǎn)化流失情況甸赃,即計算全部用戶中觸發(fā)了“登陸”事件的總?cè)藬?shù)A柿汛,A中觸發(fā)“搜索商品”事件的總?cè)藬?shù)B,B中觸發(fā)“查看商品”事件的總?cè)藬?shù)C埠对,以及C中觸發(fā)“生成訂單”事件的總?cè)藬?shù)D络断。展現(xiàn)形式如下:
同時,漏斗分析中包含“時間窗口”的概念项玛,即需要保證所有事件在同一個窗口期內(nèi)發(fā)生貌笨。比如時間窗口為1天,用戶001觸發(fā)“搜索商品”事件的時間和觸發(fā)“登陸”事件的時間間隔在一天內(nèi)襟沮,“搜索商品”事件才有效锥惋,否則視為無效昌腰。同理,用戶001觸發(fā)“查看商品”事件的時間和觸發(fā)“登陸”事件的時間間隔也必須在一天內(nèi)膀跌。時間窗口可以為1天遭商、3天、7天或者1小時捅伤、6小時等任意長時間段株婴。 最后,在漏斗分析中暑认,可以設(shè)置事件屬性困介。比如“搜索商品”事件,可以設(shè)置只計算“搜索商品”事件的屬性中“content”字段為“computer”的用戶蘸际。具體見詳細數(shù)據(jù)座哩。
測試數(shù)據(jù)
鏈接:http://pan.baidu.com/s/1dEHodih密碼:z3m8
數(shù)據(jù)為文本文件格式,具體包含字段有:
(1)用戶ID粮彤,字符串類型
(2)時間戳根穷,毫秒級別,Long類型
(3)事件ID导坟,Int類型屿良,包含10001到10010十個事件
(4)事件名稱,字符串類型惫周,包含啟動尘惧、登陸、搜索商品等十個事件
(5)事件屬性递递,Json串格式
(6)日期喷橙,字符串類型
數(shù)據(jù)總條數(shù)6億左右,日期范圍:2017/01/01到2017/02/28登舞。
比賽評判說明
所有提交的方案都必須可行贰逾,開源組須公開思路及源代碼,商業(yè)組只須公開思路菠秒,具體使用哪些軟件可自行設(shè)定疙剑。 評委會隨機設(shè)定漏斗需求,所有參賽方案根據(jù)具體需求計算結(jié)果践叠,在結(jié)果準確的基礎(chǔ)上言缤,耗時最少者獲勝。漏斗需求舉例如下:
(1)計算2017年1月份中酵熙,依次有序觸發(fā)“搜索商品”轧简、“查看商品”驰坊、“生成訂單”的用戶轉(zhuǎn)化情況匾二,且時間窗口為1天。
(2)計算2017年1月和2月份中,依次有序觸發(fā)“登陸”察藐、“搜索商品”皮璧、“查看商品”、“生成訂單”分飞、“訂單付款”的用戶轉(zhuǎn)化情況悴务,且時間窗口為7天,“搜索商品”事件的content屬性為Apple譬猫,“瀏覽商品”事件的price屬性大于5000讯檐。
目前通用算法與實例
目前通用60分的算法如下,給各位參賽者做參考染服,同時源代碼稍后公布别洪,大家可以基于這個算法或者自建更好的算法優(yōu)化。
(1)底層存儲用HDFS
(2)建立Hive表柳刮,并以應(yīng)用標識挖垛、日期、事件名稱為分區(qū)
(3)查詢用presto秉颗,并自定義UDAF痢毒,或者利用Spark core自定義相同邏輯
硬件系統(tǒng)配置
centos7、16核|16G內(nèi)存蚕甥、SSD數(shù)據(jù)盤300G的ucloud云主機4臺
目前易觀在以上配置的4臺機器上測試漏斗耗時統(tǒng)計如下:
1哪替、查詢2017年1月份,時間窗口為7天菇怀,事件順序為10001夷家、10004、10008的漏斗敏释,結(jié)果為[3999974, 3995900, 3608934]库快,24秒
2、查詢2017年1月份钥顽,時間窗口為3天义屏,事件順序為10004、10008蜂大、10010的漏斗闽铐,結(jié)果為[3999422,3573367,697506],13秒
3奶浦、查詢2017年1月份兄墅,時間窗口為3天,事件順序為10004澳叉、10007隙咸、10009沐悦、10010,并且10004事件的brand屬性為’Apple’的漏斗五督,結(jié)果為[3639301, 2449480, 559517, 35795]藏否,13秒
合作媒體
賽事咨詢/合作:sushuai@analysys.com.cn