2017易观OLAP算法大赛
大赛简介
目前互联网领域有很多公司都在做APP领域的“用户行为分析”产品,与Web时代的行为分析相类似,其目的都是帮助公司的运营、产品等部门更好地优化自家产品,比如查看日活和月活,查看渠道来源,提高留存、转化、活跃度等等。 在这个研发过程中,有个比较核心的需求,叫做“有序漏斗”。“有序漏斗”问题定义比较简单,但计算过程比较复杂。市面上现有的解决方案在数据量较大的情况下,计算效率较低。 为了更好的提升产品体验,易观决定将此需求作为比赛题目,广招各路大牛,共同解决。大赛分为2组,开源组和商业组。开源组设置奖金池和排行榜,商业组最后设置排行榜。
根据提供的应用转化和OLAP场景,给出具体的方案,先利用测试数据集在指定测试集群上运行给出测试结果, 最终易观会用实际测试数据在测试集群上跑整体数据并给出用时排名。
开源排行榜,第1名现金人民币10万(税前)奖励, 前3名易观证书
商业排行榜,前3名易观证书

问题定义

假设我们在购买商品的过程中,需要触发的事件包括 “启动”,“登陆”,“搜索商品”,“查看商品”,“生成订单”等。 运营人员需要分析某段时间内(比如2017年1月5号到2017年2月5号),在全部用户中依次有序触发 “登陆”→“搜索商品”→“查看商品”→“生成订单“ 事件的人群的转化流失情况,即计算全部用户中触发了“登陆”事件的总人数A,A中触发“搜索商品”事件的总人数B,B中触发“查看商品”事件的总人数C,以及C中触发“生成订单”事件的总人数D。展现形式如下:
测试数据
链接: http://pan.baidu.com/s/1dEHodih 密码: z3m8
数据为文本文件格式,具体包含字段有:
(1)用户ID,字符串类型
(2)时间戳,毫秒级别,Long类型
(3)事件ID,Int类型,包含10001到10010十个事件
(4)事件名称,字符串类型,包含启动、登陆、搜索商品等十个事件
(5)事件属性,Json串格式
(6)日期,字符串类型
数据总条数6亿左右,日期范围:2017/01/01到2017/02/28。
比赛评判说明
(1)计算2017年1月份中,依次有序触发“搜索商品”、“查看商品”、“生成订单”的用户转化情况,且时间窗口为1天。
(2)计算2017年1月和2月份中,依次有序触发“登陆”、“搜索商品”、“查看商品”、“生成订单”、“订单付款”的用户转化情况,且时间窗口为7天,“搜索商品”事件的content属性为Apple,“浏览商品”事件的price属性大于5000。
目前通用算法与实例
(1)底层存储用HDFS
(2)建立Hive表,并以应用标识、日期、事件名称为分区
(3)查询用presto,并自定义UDAF,或者利用Spark core自定义相同逻辑
1、查询2017年1月份,时间窗口为7天,事件顺序为10001、10004、10008的漏斗,结果为[3999974, 3995900, 3608934],24秒
2、查询2017年1月份,时间窗口为3天,事件顺序为10004、10008、10010的漏斗,结果为[3999422,3573367,697506],13秒
3、查询2017年1月份,时间窗口为3天,事件顺序为10004、10007、10009、10010,并且10004事件的brand属性为’Apple’的漏斗,结果为[3639301, 2449480, 559517, 35795],13秒
合作媒体
赛事咨询/合作:sushuai@analysys.com.cn
参赛报名 |
2017易观OLAP算法大赛的更多相关文章
- 易观OLAP算法大赛结果揭晓,开源组黑马放大招!
100+天激烈赛程,40+国内顶级技术豪门对决,历经研发内部测试.正式环境测试和易观数据正式环境跑benchmark三大阶段.10月28日,易观OLAP算法大赛优胜名单出炉! 40+技术门派比武 易观 ...
- 2019腾讯广告算法大赛 Rank23
由于官方审核代码,代码将在2019年6月28号后开源 写在前面 这次腾讯的第三届广告算法大赛,是我第一次参加,取得了初赛与复赛均为23名的成绩,毕竟我只是初打比赛不久的小白.我想在此分享下我的基本解题 ...
- 2016年上半年金融类App成绩单,手机银行优势尽显! (转自Analysys易观(ID:enfodesk))
2016已悄然时过大半,金融各领域经过了开年大战,二季度末尾的6月更是几家欢喜几家愁,其中频繁出现的黑马更是足够让人惊喜.我们基于易观千帆6月移动应用大数据,筛选了百款金融类App为您揭晓TOP100 ...
- 首届全球RTB(实时竞价)广告DSP算法大赛
首届全球RTB(实时竞价)广告DSP算法大赛 竞赛指南 RTB (Real Time Bidding, 实时竞价) 是近年来计算广告领域最激动人心的进展之一. 它增加了展示广告的透明度与效率, ...
- 智慧航空AI大赛-阿里云算法大赛总结 第一赛季总结
[以前的文章]最后一公里极速配送 - 阿里云算法大赛总结 总结一下新的教训 1.由于都是NP难题,获得最优解用常规的方法非常困难,对于不是算法科班出身的人来说,首先应该到网络上寻找一下论文,是否有一些 ...
- 2017"百度之星"程序设计大赛 - 复赛1005&&HDU 6148 Valley Numer【数位dp】
Valley Numer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- 2017"百度之星"程序设计大赛 - 复赛1003&&HDU 6146 Pokémon GO【数学,递推,dp】
Pokémon GO Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- 2017"百度之星"程序设计大赛 - 复赛1001&&HDU 6144 Arithmetic of Bomb【java大模拟】
Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 2017"百度之星"程序设计大赛 - 复赛 01,03,05
Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
随机推荐
- 解读Python编程中的命名空间与作用域
变量是拥有匹配对象的名字(标识符).命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典.一个Python表达式可以访问局部命名空间和全局命名空间里的变量.如果一个局部变量和一个全局 ...
- 【每日scrum】第一次冲刺day5
请教以前做过类似软件的同学,受益匪浅,启发自己
- Python写一个根据日期计算是星期几的模块
import datetimedef get_week_day(date): week_day = { 0: '星期一', 1: '星期二', 2: '星期三', 3: '星期四', 4: '星期五' ...
- 炸弹人NABCD分析
团队项目NABCD分析结果 N(Need 需求):现在安卓手游比较热门,所以我们想要编写这样一款软件应用于学生,让学生可以在课余时间放松心情,缓解学习压力. A (Approach 做法):使用Coc ...
- react+webpack+wepack-dev-server的环境中ant design图标离线的方法
1.首先说说我老姜对官方提供的demo的理解, 在理解的过程也学到了不少知识. 上图(图0)展示的官网demo的目录结构,node_modules是自己用node下载的, iconfont中是自己的离 ...
- Beta Scrum Day 2 — 听说
听说
- 我是一名IT小小鸟
我是一只it小小鸟 书中介绍了it界大牛们大学期间的学习方法和对未来的职业规划,相比他们,自我感觉相距甚远,对这学科的热情程度也远远比不上他们. 就拿目前数据结构这门高深的课程,应通过更多的课外扩展来 ...
- 关于Eclipse上使用可视化设计界面(Java EE 使用可视化界面设计)
Eclipse下可视化界面实现——WindowBulider安装 第一步: WindowBuilder官方下载安装说明地址:http://www.eclipse.org/windowbuilder/d ...
- js 杂项(一)函数篇
你还应该知道箭头函数( => )可以用来保留上下文.这个方法也可以:
- ejb与javabean的区别总结
EJB的英文全称是企业级的JavaBean 两者是完全不同的 JavaBean是一个组件,而EJB就是一个组建框架 JavaBean面向的是业务逻辑和表示层的显示,通过编写一个JavaBean,可以将 ...