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 ...
随机推荐
- 查看jdk使用的是什么垃圾收集器
一.方法一 打印虚拟机所有参数 [root@localhost ~]# java -XX:+PrintFlagsFinal -version | grep : uintx InitialHeap ...
- 第二阶段Sprint冲刺会议10
进展:把所有功能整合到主界面,结果导致视频只能播放不能录制,闹钟加不进去,导致闹钟功能差点不能用,放弃整合.
- 项目Beta冲刺团队随笔集
博客集如下: Beta冲刺Day1:第一天冲刺记录 Beta冲刺Day2:第二天冲刺记录 Beta冲刺Day3:第三天冲刺记录 Beta冲刺Day4:第四天冲刺记录 Beta冲刺Day5:第五天冲刺记 ...
- thinkphp 学习1-模型
1.用M()方法创建模型类 $model = M("configsettings"); 2.使用find()方法或select()方法返回结果集 find()只返回一行记录,sel ...
- SQL Server 无法连接到本地服务器
未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接: 解决办法: 在服务中启动SQL Server (MSSQLSERVER)这个服务.
- [转]无需看到你的脸就能认出你——实现Beyond Frontal Faces: Improving Person Recognition Using Multiple Cues
转自:http://www.cnblogs.com/sciencefans/p/4764395.html
- wpf后台设置颜色(背景色,前景色)
有时候你是不是也会遇到要在wpf后台给某个控件设置背景色或者给文字设置前景色的情况? 本人最近看到一个从自定义的combobox读取系统字体和颜色的实例,该实例实现了随字体combobox选项改变而改 ...
- MySQL数据库中varchar与char类型的区别
在数据库中建表时,需要给数据定义一个数据库中的数据库类型,当需要给String类型定义一个数据库中的类型时,可以看见有两个选择,一个是varchar,另一个是char,有很多人不清楚两者的区别,包括自 ...
- Java多线程之ThreadLocal总结2
ThreadLocal是什么 早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地 ...
- MySQL的间隙锁
什么是间隙锁当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁:对于键值在条件范围内但不存在的记录,叫做“间隙(GAP)”,InnoDB也 ...