加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

一边吃粽子,一边思考流量数据分析!

发布时间:2019-06-11 04:18:53 所属栏目:教程 来源:CD5656
导读:前戏 粽子节了嘛,突然想吃粽子了,咋办,买粽子呗!现在情景转换一下,假设你是某饮食网的数据分析师,现在某粽子界大亨想拿钱砸你老板(打广告)。 老板:宝器过来一下 宝器:好的老板 老板:有个粽子界土豪要砸我们 宝器:谁敢砸你?老板等着我叫人 老板:
副标题[/!--empirenews.page--]

前戏

粽子节了嘛,突然想吃粽子了,咋办,买粽子呗!现在情景转换一下,假设你是某饮食网的数据分析师,现在某粽子界大亨想拿钱砸你老板(打广告)。

老板:“宝器过来一下“

宝器:“好的老板”

老板:“有个粽子界土豪要砸我们”

宝器:“谁敢砸你?老板等着我叫人”

老板:“我问的是咱如何收费!”

宝器:“好嘞老板,下周给你出个报价报告”

(背景吹比结束)

作为数据分析师你可能想到的是CPC、CPS这一类的关键字,但到底是用CPC还是其他方式计费,如何计费,给哪条渠道线推广?什么样的用户可能适合粽子大亨?这些问题都需要你对公司网站流量数据从采集到到分析有全面深刻的理解。

目录概览

以下内容为个人现阶段业务分析与学习理解,内容将从数据采集到用户分析(绩效指标KPI)这条线路展开。主要内容目录如下:

一边吃粽子,一边思考流量数据分析!

流量数据分析

数据采集

何为“埋点“?

说白了就是收集数据,首先你想到可能可能是爬虫爬取,但你要搞清楚,现在是在公司的产品线,难道你能通过爬虫爬到“宝器点开了××搜素框”这样的行为事件吗?很明显这是不现实的。

那类似于这样的用户行为事件怎样采集数据呢?答案是通过“埋点”,所谓埋点,指的就是针对用户行为事件捕获、处理和发送的相关技术及实施过程。

举个栗子:如果京东内部运营人员想看一下如下图“粽情端午节”这个活动的效果,研发人员可以通过在下图红色箭头所指地方“埋点”,当用户点击这一栏的时候,后台将会触发并上报这样一条用户点击行为数据。

一边吃粽子,一边思考流量数据分析!

埋点作用?

  1. 用于流量监测(在线情况、PV、UV指标等等分析)
  2. 便于构建用户行为路径(通过埋点获取用户的行为数据链路)
  3. 通过对买点数据的分析,判断产品和活动等效果及未来走向
  4. 监控应用运行状态,方便问题定位和追踪
  5. 为营销决策提供数据支持
  6. 实施AB Testting

流量数据采集底层表与字段

埋点时为了收集数据,但不是所有的数据都需要采集上来。首先得知道业务需求是什么,比如现在BOSS想看一下近7天的的DAU走势,这时候分析师就要思考怎么计算DAU,之后再和产品人员讨论如何埋点可以得到某个“字段”用于计算DAU(可以在用户启动APP的时候埋点上报一条日志标识)。

在实际的操作中,有以下的几个方面的数据可以被采集:

用户的系统属性特征

  • 操作系统
  • 浏览器
  • 域名
  • 访问速度
  • 网络状态(2G、3G、4G等等)
  • 其他

用户的访问特征

  • 开始访问时间
  • 结束访问时间、
  • 第一次访问、最后一次访问
  • 点击的URL

用户来源特征

  • 网络的内容信息类型
  • 内容分类
  • 来访URL

产品特征

  • 产品编号
  • 产品类别
  • 产品颜色
  • 产品价格
  • 产品数量等等

所以综上可能流量数据采集底层表如下(这里只做简单的列举,更多请自行查阅思考):

一边吃粽子,一边思考流量数据分析!

数据处理(ETL)

目的:根据后续的指标统计需求,过滤分离出各种不同主题(不同栏目path)的基础数据(创建不同的中间表表示)。

方法:一般直接通过HQL按维度和指标提取数据(可能从原始底层采集表提取比较困难,原始表也需要经过ETL将业务系统的数据经过抽取、清洗转换之后加载到数据仓库)。之后可能根据业务需求将基础性指标脚本固化,推送到内部BI平台制作报表展示。

举个栗子,计算一下近7日UV、登录用户及访问IP等指标:

  1. SELECT  dt,   
  2. COUNT(DISTINCT deviceid) AS uv ,   
  3. COUNT(DISTINCT CASE WHEN length(trim(user_id)) > 0 THEN user_id else NULL end) AS login_users , 
  4. COUNT(DISTINCT ip) AS ip_num , 
  5. COUNT(session_id)  AS session_num  
  6. FROM  dwd_caiji_table  
  7. WHERE  dt between sysdate(-7) and sysdate() 
  8. GROUP BY  dt 

问题:

可能很多朋友想问前面提到的通过HQL来提取数据而不是用SQL,实际上HIVE-SQL设计的目的就是想让会SQL而不会MapReduce编程的人也能使用Hadoop进行数据处理(毕竟公司实际的数据量都是TB、PB甚至更大)。

目前流行的大数据相关的计算框架能处理大量的数据和计算,基本是依赖于分布式计算框架(比如MapReduce),而分布式计算,是一个集群共同承担计算任务,理想状态下是每个计算节点应当承担相近数据量的计算任务,但实际情况可能因为数据分配的严重不均衡导致数据倾斜。

所以在做ETL的时候需要考虑数据倾斜的问题,相关内容过多请自行查阅。

指标统计与用户分析

说明:限于篇幅,将目录3、4串在一起。

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读