Ⅰ 大数据处理在实际生活中有哪些应用
现在越来越多的行业和技术领域需要用到大数据分析处理系统。说到大数据处理,首先我们来好好了解一下大数据处理流程。
1.数据采集,搭建数据仓库,数据采集就是把数据通过前端埋点,接口日志调用流数据,数据库抓取,客户自己上传数据,把这些信息基础数据把各种维度保存起来,感觉有些数据没用(刚开始做只想着功能,有些数据没采集, 后来被老大训了一顿)。
2.数据清洗/预处理:就是把收到数据简单处理,比如把ip转换成地址,过滤掉脏数据等。
3.有了数据之后就可以对数据进行加工处理,数据处理的方式很多,总体分为离线处理,实时处理,离线处理就是每天定时处理,常用的有阿里的maxComputer,hive,MapRece,离线处理主要用storm,spark,hadoop,通过一些数据处理框架,可以吧数据计算成各种KPI,在这里需要注意一下,不要只想着功能,主要是把各种数据维度建起来,基本数据做全,还要可复用,后期就可以把各种kpi随意组合展示出来。
4.数据展现,数据做出来没用,要可视化,做到MVP,就是快速做出来一个效果,不合适及时调整,这点有点类似于Scrum敏捷开发,数据展示的可以用datav,神策等,前端好的可以忽略,自己来画页面。
大数据处理在各行业的渗透越来越深入,例如金融行业需要使用大数据系统结合 VaR(value at risk) 或者机器学习方案进行信贷风控,零售、餐饮行业需要大数据系统实现辅助销售决策,各种 IOT 场景需要大数据系统持续聚合和分析时序数据,各大科技公司需要建立大数据分析中台等等。
Ⅱ 神策数据是用python写的吗
先对我们团队做个简单的介绍:团队核心成员均来自网络大数据部,从零构建了网络的日志分析大数据处理平台,有多年的大数据处理经验,以往的技术也基本构建于开源社区之上。目前,我们主要针对互联网企业提供大数据分析产品和完整解决方案,以及针对传统企业提供大数据相关咨询和完整解决方案。目前,针对互联网创业公司推出了深度数据分析产品Sensors Analytics(神策分析),支持私有部署、任意维度的交叉分析,并帮助客户搭建数据仓库基础,客户包括爱鲜蜂、多盟、AcFun、快快鱼、PP租车、51offer等。
对于 Sensors Analytics (神策分析)这个产品,主要用到了一些主流的开源社区技术,例如Hadoop/Spark/Kafka/Mysql/Redis/jQuery/Impala等,并在其中部分组件上进行了源码级的修改,当然,我们自己也开发了一些核心的业务组件。
整个 Sensors Analytics (神策分析)的技术体系,或者说技术点,可以从如下几个层面进行介绍:
数据采集:我们一直认为,采集的数据的质量是整个数据平台构建以及后续一系列数据应用的大的前提,因此,与传统的网络统计、友盟等统计工具不同,我们坚持私有化部署与全端采集,提供了PHP、python、JAVA、JavaScript、iOS和安卓等多种语言的数据采集SDK,以及 LogAgent 和批量工具等多样化的导入工具供使用者使用。不仅能够采集客户端数据,也能采集后续的服务端日志和业务数据。出于数据完整性、数据安全性、数据时效性等多个角度的考虑,更推荐使用者采集后端数据,如服务端的日志、业务数据库的数据等。同时,也按照我们对于用户行为数据的理解,对于使用者应该采集哪些数据、应该关注哪些字段,都提供了一套产品化的解决方案。
数据传输:Sensors Analytics 提供秒级的时效性保证,也即一条新传入的数据,一般几秒后就会体现在前端的查询结果中,并且这条数据中新增加的字段,也会几秒后就在前端的筛选和分组选择中体现出来,因此,如何在数据不重不漏的基础上保证数据流的时效性,也是 Sensors Analytics的一个技术难点。
数据建模:正如 Sensors Analytics的文档(数据模型 | Sensors Analytics 使用手册)上提到的那样,为了保证产品在不同行业的适应性,团队根据以往在用户行为数据方面的多年经验,抽象出了 Profile 和 Event 两个数据实体,分别描述“用户”本身的长期不变的属性,以及“用户”在某时某刻以某种形式做了某件事情。从我们目前十几个客户的经验来看,这个数据模型的抽象还是能够满足绝大部分产品对用户数据分析的需求的。
数据存储:在产品层面,我们 给使用者提供了最细力度数据上的完整的多维分析(OLAP)、漏斗、留存、回访等较为高阶的实时查询能力,并且支持 Event 数据和 Profile 数据的 join 分析,因此,为了保证查询的速度,在数据存储上,如何最好地利用列存储、分布式存储、压缩/编码等方式,加快查询速度,减少存储空间等,也是一个很大的技术挑战。
数据计算:一方面,为了保证查询的速度,后台会有一些例行的数据的预处理计算以及后续会逐步推出的数据预测计算,另一方面, Sensors Analytics 也将所有的存储和计算资源开放给了使用者,因此,计算的调度、管理等方面,也是我们一个必须要考虑的技术点。
数据可视化:作为一个数据分析产品,我们希望能够提供“自驱式”的数据分析体验,让使用者能够快速地验证、尝试自己对数据的各种猜测和假设。因此,除了计算和查询的速度必须尽可能得块以外,如何保证使用上的流畅,以及展现查询结果和数据概览时最大程度地让使用者“一眼”就能够从图表中“看到”数据的含义和价值,是一个非常大的挑战,因此,数据可视化也是我们技术攻关的重点。
权限管理:作为一个企业产品,必须能够适应企业中不同角色的使用者的使用需求,例如:有些角色,如管理员,具有完整的数据察看能力,并且可以分配其它角色的权限;有些角色,如数据分析师,有完整的数据察看和分析能力,但是并不能修改其他人的权限;有些角色,如地推经理,则只能察看分配给自己的数据概览的数据。为了满足这方面的需求,权限管理,也是我们一个重要的技术点。
数据API:从 产品 的定位可以看出,我们是将使用者的一切数据开放给使用者的,这些数据,包括使用者接入的数据,也包括经过 平台分析后的结果,因此,如何设计一套友好的数据API,与使用者的业务系统对接,让使用者方便地能够基于这些数据进行后续的数据挖掘和机器学习计算,也是对我们的一个技术挑战。
以上是我对这个问题的答复,再次感谢对我们产品和团队的关注,如果想有进一步的了解,欢迎和我们进一步联系。
Ⅲ 网站分析工具GrowingIO免费试用期后,会限制功能吗
随着移动互联网时代的兴起和数据量的大规模爆发,越来越多的互联网企业开始重视数据的质量。在我创业的这一年里,接触了 200 多家创业型公司,发现如今的企业对数据的需求已经不仅仅局限于简单的 PV、UV,而是更加重视用户使用行为数据的相关分析。
做数据的同学都知道,在数据分析的道路上,数据采集是重中之重。数据采集的质量直接决定了你的分析是否准确。而随着企业对数据的要求越来越高,埋点技术也被推到了“风口浪尖”。所谓,埋的好是高手,埋不好反倒伤了自己。而在数据采集的道路上大家经常会遇到各种各样的问题,今天我们就来分析一下埋点是否需要。
首先我把数据采集的问题归结为三类:
1、不知道怎么采,包括采集什么数据以及用什么技术手段采集;
2、埋点混乱,出现埋错、漏埋这样的问题;
3、数据团队和业务工程团队配合困难,往往产品升级的优先级大于数据采集的优先级。
上面这三类问题让数据团队相当痛苦,进而幻想弃用数据采集,而尝试新方案后,进而迎来的是更大的失望。这里我对这三类问题的现状及应对之策做一下分析。
► 不知道怎么采
一般创业公司的数据采集,分为三种方式:
第一种直接使用友盟、网络统计这样的第三方统计工具,通过嵌入 App SDK 或 JS SDK,来直接查看统计数据。这种方式的好处是简单、免费,因此使用非常普及。对于看一些网站访问量、活跃用户量这样的宏观数据需求,基本能够满足。
但是,对于现在一些涉及订单交易类型的产品,仅仅宏观的简单统计数据已经不能满足用户的需求了,他们更加关注一些深度的关键指标分析,例如:用户渠道转化、新增、留存、多维度交叉分析等。这个时候才发现第三方统计工具很难满足对数据的需求,而出现这样的问题并不是因为工具的分析能力薄弱,而是因为这类工具对于数据采集的不完整。 通过这种方式 SDK 只能够采集到一些基本的用户行为数据,比如设备的基本信息,用户执行的基本操作等。但是服务端和数据库中的数据并没有采集,一些提交操作,比如提交订单对应的成本价格、折扣情况等信息也没有采集,这就导致后续的分析成了“巧妇难为无米之炊”。
通过客户端 SDK 采集数据还有一个问题就是经常觉得统计不准,和自己的业务数据库数据对不上,出现丢数据的情况。这是前端数据采集的先天缺陷,因为网络异常,或者统计口径不一致,都会导致数据对不上。
第二种是直接使用业务数据库做统计分析。一般的互联网产品,后端都有自己的业务数据库,里面存储了订单、用户注册信息等数据,基于这些数据,一些常用的统计分析都能够搞定。这种方式天然的就能分析业务数据,并且是实时、准确的。
但不足之处有两点:一是业务数据库在设计之初就是为了满足正常的业务运转,给机器读写访问的。为了提升性能,会进行一些分表等操作。一个正常的业务都要有几十张甚至上百张数据表,这些表之间有复杂的依赖关系。这就导致业务分析人员很难理解表含义。即使硬着头皮花了两三个月时间搞懂了,隔天工程师又告诉你因为性能问题拆表了,你就崩溃了。另一个不足之处是业务数据表的设计是针对高并发低延迟的小操作,而数据分析常常是针对大数据进行批量操作的,这样就导致性能很差。
第三种是通过 Web 日志进行统计分析。这种方式相较于第二种,完成了数据的解耦,使业务数据和统计分析数据相互分离。然而,这种方式的问题是“目的不纯”。Web 日志往往是工程师为了方便 Debug 顺便搞搞,这样的日志对于业务层面的分析,常常“缺斤少两”。并且从打印日志到处理日志再到输出结果,整个过程很容易出错,我在网络就花了几年的时间解决这一问题。
所以,以上三种方式虽然都多多少少解决了一部分数据采集的问题,但又都解决的不彻底。
► 埋点混乱
聊完采集方法,再来说说关于埋点的管理。我曾经接触了一家做了七八年的老牌互联网公司,他们的数据采集有 400 多个点。每次数据产品经理提出数据采集的需求后,工程师就会按照要求增加埋点,然后交给数据产品经理去验证。数据产品经理在试用的时候也感觉不到异常,可等产品上线之后,才发现埋的不对,再进行升级发版操作,整个过程效率极低。我们发现,一个公司发展到了一定程度,没有专人去负责埋点管理工作,数据采集就完全没有准确性可据采集就完全没有准确性可言。甚至有时产品上线之后,才发现数据采集的工作没有做,也就是漏埋了。
于是数据团队又开始幻想,既然埋点这么容易出问题,有没有可能不埋点?这就像寻找可以祈求风调雨顺的神灵。
在 2010 年,网络 MP3 团队曾经做了一个叫 ClickMonkey 的产品,只要页面上嵌入 SDK,就可以采集页面上所有的点击行为,然后就可以绘制出用户点击的热力图,这种方式对于一些探索式的调研还是比较有用的。到了2013 年,国外有家数据分析公司 Heap Analytics,把这种方式更近一步,将 App 的操作尽量多的采集下来,然后通过界面配置的方式对关键行为进行定义,这样便完成了所谓的“无埋点”数据采集。使用这种方案,必须在产品中嵌入 SDK,等于做了一个统一的埋点,所以“无埋点”的叫法实际上是“全埋点”的代名词。
另外,这种方式同样也只能采集前端数据,后端服务器和数据库中的数据,依旧是无可奈何的。并且,即便进行前端数据采集,也无法深入到更细粒度。比如提交订单操作,订单运费、成本价格之类的维度信息,都丢失掉了,只剩下“提交”这一个行为类型。
对于非技术人员,容易被这种方式的名称和直接优势所吸引,但很快又会发现许多深度数据分析需求无法直接满足,进而有种被忽悠的感觉,会感到失望。其实不止是非技术人员,即使是技术人员,也都会让我解释一下“可视化埋点”的原理,说明“无埋点”真是个有迷惑性又不甚清晰的概念,难以细究。
这里说一下关键点:一是事先在产品上埋一个 SDK,二是通过可视化的方式,生成配置信息,也就是事件名称之类的定义,三是将采集的数据按照配置重命名,进而就能做分析了。
► 数据团队和业务工程团队的配合问题
最后,我们再聊一聊数据采集中遇到的非技术性问题。一般来说,公司到了 A 轮以后,都会有专门的数据团队或者兼职数据人员,对公司的一些业务指标负责。即使为了拿到这些基本的业务指标,一般也要工程团队去配合做一些数据采集工作。这个时候雷军的“快”理念就起到作用了,天下武功唯快不破。于是所有事情都要给产品迭代升级让路,快的都没有时间做数据采集了。殊不知没有数据指标的支撑,又怎么衡量这个功能升级是不是合理的呢?互联网产品并不是功能越多就越好,产品是否经得起用户考验,还是要基于数据说话的,然后学习新知识,用于下一轮的迭代。
数据团队和业务工程团队是平级的团队,而数据团队看起来总是给业务工程团队增加麻烦事儿,似乎也不能直接提升工程团队的 KPI,所以就导致需求不被重视,总是被更高优先级的事情挤掉,数据的事情难有进展。
解决之道
前面给大家抛出了数据采集中常见的三类问题,下面我们来看一下应对之道。
对于不知道数据怎么采的问题,首先从意识上要重视数据采集工作。数据的事情归结起来就两点:数据采集和数据分析。可不能只看到数据分析而忽略了数据采集。事实上我个人在网络做数据的几年里,最大的心得就是数据这个事情要做好,最重要的是数据源,数据源收集得好,就成功了一大半。数据采集的基本原则是全和细。全就是把多种数据源都进行采集,而不只是客户端的用户数据。细就是强调多维度,把事件发生的一系列维度信息,比如订单运费、成本价格等,尽量多的记录下来,方便后续交叉分析。
其次,要有一个数据架构师,对数据采集工作负责,每次数据采集点的增加或变更,都要经过系统化的审核管理,不能顺便搞搞。最后,我这里要推荐 Event 数据模型(有兴趣的可阅读:数据模型 | Sensors Analytics 使用手册),针对用户行为数据,简化成一张宽表,将用户的操作归结为一系列的事件。
对于埋点混乱的问题,前面提到的数据架构师的角色,要对这块的管理负责。如果前面完成对 Event 的梳理,这里的埋点就会清晰很多。另外还要推荐尽量从后端进行埋点,这样便无需多客户端埋点了。当然,如果有行为只在客户端发生,还是要在客户端进行埋点的。对于业务复杂的情况,只有负责人还不够。目前我们神策分析针对这个问题,推出了埋点管理功能,对于每个采集点的数据收集情况,都能够做到全盘监控,并且可以针对一些无效采集点进行禁用。总之是希望把这个问题尽量好的解决掉。
对于数据团队和工程团队的配合问题,我这里是想说给创业公司的创始人听的。两个平行部门间的推动,是很难的。数据的事情一定要自上而下的推动,也就是创始人一定要重视数据,把数据需求的优先级提升,这样在项目排期时,能够把数据的需求同时做了。我们知道两军对战,情报收集工作的重要性。做产品也是一样,数据收集工作的重要性不言而喻。
Ⅳ 数据处理方式
什么是大数据:大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据的5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性),网络随便找找都有。
大数据处理流程:
1.是数据采集,搭建数据仓库,数据采集就是把数据通过前端埋点,接口日志调用流数据,数据库抓取,客户自己上传数据,把这些信息基础数据把各种维度保存起来,感觉有些数据没用(刚开始做只想着功能,有些数据没采集, 后来被老大训了一顿)。
2.数据清洗/预处理:就是把收到数据简单处理,比如把ip转换成地址,过滤掉脏数据等。
3.有了数据之后就可以对数据进行加工处理,数据处理的方式很多,总体分为离线处理,实时处理,离线处理就是每天定时处理,常用的有阿里的maxComputer,hive,MapRece,离线处理主要用storm,spark,hadoop,通过一些数据处理框架,可以吧数据计算成各种KPI,在这里需要注意一下,不要只想着功能,主要是把各种数据维度建起来,基本数据做全,还要可复用,后期就可以把各种kpi随意组合展示出来。
4.数据展现,数据做出来没用,要可视化,做到MVP,就是快速做出来一个效果,不合适及时调整,这点有点类似于Scrum敏捷开发,数据展示的可以用datav,神策等,前端好的可以忽略,自己来画页面。
数据采集:
1.批数据采集,就是每天定时去数据库抓取数据快照,我们用的maxComputer,可以根据需求,设置每天去数据库备份一次快照,如何备份,如何设置数据源,如何设置出错,在maxComputer都有文档介绍,使用maxComputer需要注册阿里云服务
2.实时接口调用数据采集,可以用logHub,dataHub,流数据处理技术,DataHub具有高可用,低延迟,高可扩展,高吞吐的特点。
高吞吐:最高支持单主题(Topic)每日T级别的数据量写入,每个分片(Shard)支持最高每日8000万Record级别的写入量。
实时性:通过DataHub ,您可以实时的收集各种方式生成的数据并进行实时的处理,
设计思路:首先写一个sdk把公司所有后台服务调用接口调用情况记录下来,开辟线程池,把记录下来的数据不停的往dataHub,logHub存储,前提是设置好接收数据的dataHub表结构
3.前台数据埋点,这些就要根据业务需求来设置了,也是通过流数据传输到数据仓库,如上述第二步。
数据处理:
数据采集完成就可以对数据进行加工处理,可分为离线批处理,实时处理。
1.离线批处理maxComputer,这是阿里提供的一项大数据处理服务,是一种快速,完全托管的TB/PB级数据仓库解决方案,编写数据处理脚本,设置任务执行时间,任务执行条件,就可以按照你的要求,每天产生你需要数据
2.实时处理:采用storm/spark,目前接触的只有storm,strom基本概念网上一大把,在这里讲一下大概处理过程,首先设置要读取得数据源,只要启动storm就会不停息的读取数据源。Spout,用来读取数据。Tuple:一次消息传递的基本单元,理解为一组消息就是一个Tuple。stream,用来传输流,Tuple的集合。Bolt:接受数据然后执行处理的组件,用户可以在其中执行自己想要的操作。可以在里边写业务逻辑,storm不会保存结果,需要自己写代码保存,把这些合并起来就是一个拓扑,总体来说就是把拓扑提交到服务器启动后,他会不停读取数据源,然后通过stream把数据流动,通过自己写的Bolt代码进行数据处理,然后保存到任意地方,关于如何安装部署storm,如何设置数据源,网上都有教程,这里不多说。
数据展现:做了上述那么多,终于可以直观的展示了,由于前端技术不行,借用了第三方展示平台datav,datav支持两种数据读取模式,第一种,直接读取数据库,把你计算好的数据,通过sql查出,需要配置数据源,读取数据之后按照给定的格式,进行格式化就可以展现出来
@jiaoready @jiaoready 第二种采用接口的形式,可以直接采用api,在数据区域配置为api,填写接口地址,需要的参数即可,这里就不多说了。
Ⅳ 对网站的pv进行数据统计数据的来源是网站服务器的log日志吗
网站的统计数据来源于服务器的log日志?
这个问题,牵扯太多,我整理下思路说下吧。(关于技术的发展史,是需要很长的一个篇幅了,由于我现在没有整理好...所以呢先发下面的)
0.简要回答
首先,网站的统计数据一部分是来源于 静态服务器的log做日志分析的,但它是原始方法,为什么说是原始方法呢,因为日志分析局限性很多,而且由于互联网信息化的高速发展,多样化的需求统计的出现,导致日志做分析很难去实现特定的统计,再加上大数据的推波助澜,让我们可以相对容易的处理海量数据;
网站统计架构的发展简单史;
从而发展到现在,一般前端(PC、手机、小程序等)统计使用埋点去统计数据,后端使用 主流的大数据集群架构 来实现 数据的统计、处理、筛选、归类等,再加上web框架的展示层做大数据可视化屏幕、前端展现, 中间加上 各种中间件做润滑;(介绍大数据架构也是需要单独的篇幅来说明的,结构如下,这个架构称之为lambda+架构 经典架构)
2、网站统计的经典架构
目前也有一些新型架构的出现了Kappa之类;本片不做延展了.
5、数据收集脚本执行
数据收集脚本(ga.js)被请求后会被执行,这个脚本一般要做如下几件事:
1、通过浏览器内置javascript对象收集信息,如页面title(通过document.title)、referrer(上一跳url,通过document.referrer)、用户显示器分辨率(通过windows.screen)、cookie信息(通过document.cookie)等等一些信息。
2、解析_gaq收集配置信息。这里面可能会包括用户自定义的事件跟踪、业务数据(如电子商务网站的商品编号等)等。
3、将上面两步收集的数据按预定义格式解析并拼接。
4、请求一个后端脚本,将信息放在http request参数中携带给后端脚本。
6、后端执行数据收集、清洗、筛选、处理等 生成需求数据(也就是我们要看的数据);
下面有个表 就是 一般收集时候的基本数据;
名称 途径 备注
访问时间 web server Nginx $msec
IP web server Nginx $remote_addr
域名 javascript document.domain
URL javascript document.URL
页面标题 javascript document.title
分辨率 javascript window.screen.height & width
颜色深度 javascript window.screen.colorDepth
Referrer javascript document.referrer
浏览客户端 web server Nginx $http_user_agent
客户端语言 javascript navigator.language
访客标识 cookie
网站标识 javascript 自定义对象
业务特征值我们自有业务的特殊需求.
后端的处理流程,由最开始的 大数据统计架构 已经展示了。
好了 整体 介绍了个大概, 具体的话 就是需要详细阐述 大数据统计架构的介绍了...
我整理完会发布关于 大数据统计架构.
但是现在 应该很少人需要自己去处理 这么庞大而复杂的架构了,一般选择都使用 现有的
网络统计、友盟统计、诸葛io、神策、极光、Growingio 等。
Ⅵ 数据埋点是什么设置埋点的意义是什么
所谓埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括访问数(Visits),访客数(Visitor),停留时长(Time On Site),页面浏览数(Page Views)和跳出率(Bounce Rate)。
这样的信息收集可以大致分为两种:页面统计(track this virtual page view),统计操作行为(track this button by an event)。
埋点的主流有两种方式:
第一种:自己公司研发在产品中注入代码统计,并搭建起相应的后台查询。
第二种:第三方统计工具,如友盟、神策、Talkingdata、GrowingIO等。
如果是产品早期,通常会使用第二种方式来采集数据,并直接使用第三方分析工具进行基本的分析。而对于那些对数据安全比较重视,业务又相对复杂的公司则通常是使用第一种方式采集数据,并搭建相应的数据产品实现其数据应用或是分析的诉求。
埋点的内容
看完关键的这些指标后,其实埋点大致分为两部分,一部分是统计应用页面访问情况,即页面统计,随页面访问动作发生时进行上报;另外一部分是统计应用内的操作行为,在页面中操作时进行上报(例如:组件曝光时,组件点击时,上滑,下滑时)。
为了统计到所需要的指标,应用中的所有页面,事件都被唯一标记,用户的信息,设备的信息,时间参数以及符合业务需要的参数具体内容被附加上报,就是埋点。
关于埋点的数据的注意事项不要过分追求完美
关于埋点数据有一点至关重要,埋点是为了更好地使用数据,不要试图得到精准的数据要得到的是高质量的埋点数据,前面讨论跳出率就是这个例子,得到能得到的数据,用不完美的数据来达成下一步的行动,追求的是高质量而不是精确。这是很多数据产品容易入坑的地,要经常提醒自己。
Ⅶ 互联网采集数据有哪几种常见的方法
通过日志获取数据的,一般是服务器,工程类的,这类型数据一般是人为制定数据协议的,对接非常简单,然后通过日志数据结构化,来分析或监测一些工程类的项目通过JS跟踪代码的,就像GA,网络统计,就属于这一类,网页页尾放一段JS,用户打开浏览网页的时候,就会触发,他会把浏览器的一些信息送到服务器,基于此类数据做分析,帮助网站运营,APP优化。通过API,就像一些天气接口,国内这方面的平台有很多,聚合就是其中一个,上面有非常多的接口。此类的,一般是实时,更新型的数据,按需付费通过爬虫的,就像网络蜘蛛,或类似我们八爪鱼采集器,只要是互联网公开数据均可采集,这类型的产品有好几款,面向不同的人群,各有特色吧。而说能做到智能的,一般来说,也就只有我们这块的智能算法做得还可以一点。(利益相关)比如自动帮你识别网页上的元素,自动帮你加速等。埋点的,其实跟JS那个很像,一般是指APP上的,像神策,GROWINGIO之类的,这种的原理是嵌套一个SDK在APP里面。如果对某项采集需要了解更深再说吧,说白就是通过前端,或自动化的技术,收集数据。
Ⅷ 关于大数据分析的四个关键环节
关于大数据分析的四个关键环节
随着大数据时代的到来,AI 概念的火热,人们的认知有所提高。为什么说大数据有价值 这是不是只是一个虚的概念 大家怎么考虑数据驱动问题 为什么掌握更多的数据就会更有效 这些问题很难回答,但是,大数据绝不是大而空洞的。
信息论之父香农曾表示,信息是用来消除不信任的东西,比如预测明天会不会下雨,如果知道了今天的天气、风速、云层、气压等信息,有助于得出更准确的结论。所以大数据是用来消除不确定性的,掌握更多的有效数据,可以驱动企业进行科学客观的决策。桑文锋对大数据有着自己的理解,数据采集遵循“大”、“全”、“细”、“时”四字法则。“大”强调宏观的“大”,而非物理的“大”。大数据不是一味追求数据量的“大”。比如每天各地级市的苹果价格数据统计只有 2MB,但基于此研发出一款苹果智能调度系统,就是一个大数据应用,而有些数据虽然很大,却价值有限;“全”强调多种数据源。大数据采集讲求全量,而不是抽样。除了采集客户端数据,还需采集服务端日志、业务数据库,以及第三方服务等数据,全面覆盖,比如美国大选前的民意调查,希拉里有70%以上胜算,但是川普成为了美国总统,因为采样数据有偏差,支持川普的底层人民不会上网回复。“细”强调多维度数据采集,即把事件的维度、属性、字段等都进行采集。如电商行业“加入购物车”的事件,除了采集用户的 click 数据,还应采集用户点击的是哪个商品、对应的商户等数据,方便后续交叉分析。“时”强调数据的时效性。显然,具有时效性的数据才有参考价值。如国家指数,CPI 指数,月初收集到信息和月中拿到信息,价值显然不同,数据需要实时拿到,实时分析。从另一个视角看待数据的价值,可以分为两点,数据驱动决策,数据驱动产品智能。数据的最大价值是产品智能,有了数据基础,再搭建好策略算法,去回灌产品,提升产品本身的学习能力,可以不断迭代。如今日头条的新闻推荐,网络搜索的搜索引擎优化,都是数据驱动产品智能的体现。
数据分析四个关键环节 桑文锋把数据分析分为四个环节,数据采集、数据建模、数据分析、指标。他提出了一个观点,要想做好数据分析,一定要有自底向上的理念。很多公司的数据分析自顶向下推动,用业务分析指标来决定收集什么数据,这是需求驱动工程师的模式,不利于公司长久的数据采集。而一个健康的自底向上模式,可以帮助公司真正建立符合自己业务的数据流和数据分析体系。 一、数据采集 想要真正做好大数据分析,首先要把数据基础建好,核心就是“全”和“细”。 搜集数据时不能只通过 APP 或客户端收集数据,服务器的数据、数据库数据都要同时收集打通,收集全量数据,而非抽样数据,同时还要记录相关维度,否则分析业务时可能会发现历史数据不够,所以不要在意数据量过大,磁盘存储的成本相比数据积累的价值,非常廉价。 常见的数据采集方式归结为三类,可视化/全埋点、代码埋点、数据导入工具。
第一种是可视化/全埋点,这种方式不需要工程师做太多配合,产品经理、运营经理想做分析直接在界面点选,系统把数据收集起来,比较灵活。但是也有不好的地方,有许多维度信息会丢失,数据不够精准。第二种是代码埋点,代码埋点不特指前端埋点,后端服务器数据模块、日志,这些深层次的都可以代码埋点,比如电商行业中交易相关的数据可以在后端采集。代码埋点的优势是,数据更加准确,通过前端去采集数据,常会发现数据对不上,跟自己的实际后台数据差异非常大。可能有三个原因:第一个原因是本身统计口径不一样,一定出现丢失;第二点是流量过大,导致数据丢失异常;第三点是SDK兼容,某些客户的某些设备数据发不出去,导致数据不对称。而代码埋点的后台是公司自己的服务器,自己核心的模拟可以做校准,基本进行更准确的数据采集。第三种是通过导入辅助工具,将后台生成的日志、数据表、线下数据用实时批量方式灌到里面,这是一个很强的耦合。数据采集需要采集数据和分析数据的人共同参与进来,分析数据的人明确业务指标,并且对于数据的准确性有敏感的判断力,采集数据的人再结合业务进行系统性的采集。二、数据建模很多公司都有业务数据库,里面存放着用户注册信息、交易信息等,然后产品经理、运营人员向技术人员寻求帮助,用业务数据库支持业务上的数据分析。但是这样维护成本很高,且几千万、几亿条数据不能很好地操作。所以,数据分析和正常业务运转有两项分析,数据分析单独建模、单独解决问题。数据建模有两大标准:易理解和性能好。数据驱动不是数据分析师、数据库管理员的专利,让公司每一个业务人员都能在工作中运用数据进行数据分析,并能在获得秒级响应,验证自己的新点子新思维,尝试新方法,才是全员数据驱动的健康状态。多维数据分析模型(OLAP)是用户数据分析中最有效的模型,它把用户的访问数据都归类为维度和指标,城市是维度,操作系统也是维度,销售额、用户量是指标。建立好多维数据分析模型,解决的不是某个业务指标分析的问题,使用者可以灵活组合,满足各种需求。三、数据分析数据分析支持产品改进产品经理在改进产品功能时,往往是拍脑袋灵光一现,再对初级的点子进行再加工,这是不科学的。《精益创业》中讲过一个理念,把数据分析引入产品迭代,对已有的功能进行数据采集和数据分析,得出有用的结论引入下一轮迭代,从而改进产品。在这个过程中大数据分析很关键。Facebook 的创始人曾经介绍过他的公司如何确定产品改进方向。Facebook 采用了一种机制:每一个员工如果有一个点子,可以抽样几十万用户进行尝试,如果结果不行,就放弃这个点子,如果这个效果非常好,就推广到更大范围。这是把数据分析引入产品迭代的科学方法。桑文锋在 2007 年加入网络时,也发现了一个现象,他打开邮箱会收到几十封报表,将网络知道的访问量、提问量、回答量等一一介绍。当网络的产品经理提出一个需求时,工程师会从数据的角度提出疑问,这个功能为什么好 有什么数据支撑 这个功能上线时如何评估 有什么预期数据 这也是一种数据驱动产品的体现。数据驱动运营监控运营监控通常使用海盗模型,所谓的运营就是五件事:触达是怎么吸引用户过来;然后激活用户,让用户真正变成有效的用户;然后留存,提高用户粘性,让用户能停留在你的产品中不断使用;接下来是引荐,获取用户这么困难,能不能发动已有的用户,让已有用户带来新用户,实现自传播;最后是营收,做产品最终要赚钱。要用数据分析,让运营做的更好。数据分析方法互联网常见分析方法有几种,多维分析、漏斗分析、留存分析、用户路径、用户分群、点击分析等等,不同的数据分析方法适用于不同的业务场景,需要自主选择。举个多维分析的例子,神策数据有一个视频行业的客户叫做开眼,他们的软件有一个下载页面,运营人员曾经发现他们的安卓 APP 下载量远低于 iOS,这是不合理的。他们考虑过是不是 iOS 用户更愿意看视频,随后从多个维度进行了分析,否定了这个结论,当他们发现某些安卓版本的下载量为零,分析到屏幕宽高时,看出这个版本下载按钮显示不出来,所以下载比例非常低。就这样通过多维分析,找出了产品改进点。举个漏斗分析的例子,神策数据的官网访问量很高,但是注册-登录用户的转化率很低,需要进行改进。所以大家就思考如何把转化漏斗激活地更好,后来神策做了小的改变,在提交申请试用后加了一个查看登录页面,这样用户收到账户名密码后可以随手登录,优化了用户体验,转化率也有了可观的提升。四、指标如何定义指标 对于创业公司来说,有两种方法非常有效:第一关键指标法和海盗指标法。第一关键指标法是《精益数据分析》中提出的理论,任何一个产品在某个阶段,都有一个最需要关注的指标,其他指标都是这个指标的衍生,这个指标决定了公司当前的工作重点,对一个初创公司来说,可能开始关注日活,围绕日活又扩展了一些指标,当公司的产品成熟后,变现就会成为关键,净收入(GMV)会变成第一关键指标。