86 网站点击流数据分析案例(统计分析-访客分析)

简介: 86 网站点击流数据分析案例(统计分析-访客分析)
1.独立访客

需求描述:按照时间维度比如小时来统计独立访客及其产生的pvCnts;

对于独立访客的识别,如果在原始日志中有用户标识,则根据用户标识即很好实现。

此处,由于原始日志中并没有用户标识,以访客IP来模拟,技术上是一样的,只是精确度相对较低。

时间维度:时

drop table dw_user_dstc_ip_h;
create table dw_user_dstc_ip_h(
remote_addr string,
pvs      bigint,
hour     string);
insert into table dw_user_dstc_ip_h 
select remote_addr,count(1) as pvs,concat(month,day,hour) as hour 
from ods_weblog_detail
Where datestr='2013-09-18'
group by concat(month,day,hour),remote_addr;

在此结果表之上,可以进一步统计出,每小时独立访客总数,每小时请求次数topn访客等

如每小时独立访客总数:

select count(1) as dstc_ip_cnts,hour from dw_user_dstc_ip_h group by hour;

时间维度:月

select remote_addr,count(1) as counts,month 
from ods_weblog_detail
group by month,remote_addr;

间维度:日

select remote_addr,count(1) as counts,concat(month,day) as day
from ods_weblog_detail
Where dd='18/Sep/2013'
group by concat(month,day),remote_addr;

注:还可以按来源地域维度、访客终端维度等计算

2.每日新访客

需求描述:将每天的新访客统计出来。

实现思路:创建一个去重访客累积表,然后将每日访客对比累积表。

时间维度:日

--历日去重访客累积表
drop table dw_user_dsct_history;
create table dw_user_dsct_history(
day string,
ip string
) 
partitioned by(datestr string);
--每日新用户追加到累计表
drop table dw_user_dsct_history;
create table dw_user_dsct_history(
day string,
ip string
) 
partitioned by(datestr string);
--每日新用户追加到累计表
insert into table dw_user_dsct_history partition(datestr='2013-09-19')
select tmp.day as day,tmp.today_addr as new_ip from
(
select today.day as day,today.remote_addr as today_addr,old.ip as old_addr 
from 
(select distinct remote_addr as remote_addr,"2013-09-19" as day from ods_weblog_detail where datestr="2013-09-19") today
left outer join 
dw_user_dsct_history old
on today.remote_addr=old.ip
) tmp
where tmp.old_addr is null;

验证:

select count(distinct remote_addr) from ods_weblog_detail;
-- 1005
select count(1) from dw_user_dsct_history where prtflag_day='18/Sep/2013';
--845
select count(1) from dw_user_dsct_history where prtflag_day='19/Sep/2013';
--160

时间维度:月

类似日粒度算法


目录
相关文章
|
8月前
|
数据采集 人工智能 算法
“脏数据不清,分析徒劳”——聊聊数据分析里最容易被忽视的苦差事
“脏数据不清,分析徒劳”——聊聊数据分析里最容易被忽视的苦差事
300 34
|
7月前
|
数据采集 SQL 监控
“你分析个锤子啊,米都没洗净”——数据采集和数据分析的底层逻辑真相
“你分析个锤子啊,米都没洗净”——数据采集和数据分析的底层逻辑真相
161 0
|
机器学习/深度学习 数据采集 DataWorks
数据分析经典案例重现:使用DataWorks Notebook 实现Kaggle竞赛之房价预测,成为数据分析大神!
Python是目前当之无愧的数据分析第一语言,大量的数据科学家使用Python来完成各种各样的数据科学任务。本文以Kaggle竞赛中的房价预测为例,结合DataWorks Notebook,完成数据加载、数据探索、数据可视化、数据清洗、特征分析、特征处理、机器学习、回归预测等步骤,主要Python工具是Pandas和SKLearn。本文中仅仅使用了线性回归这一最基本的机器学习模型,读者可以自行尝试其他更加复杂模型,比如随机森林、支持向量机、XGBoost等。
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
409 3
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
371 2
|
数据挖掘
ChatGPT在常用的数据分析方法中的应用(分组分析)
ChatGPT在常用的数据分析方法中的应用(分组分析)
319 2
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
428 0
|
数据挖掘 UED
ChatGPT数据分析——探索性分析
ChatGPT数据分析——探索性分析
205 1
|
数据可视化 数据挖掘 数据处理
ChatGPT数据分析应用——热力图分析
ChatGPT数据分析应用——热力图分析
620 1
|
数据挖掘 数据处理
ChatGPT在常用的数据分析方法中的应用(交叉分析)
ChatGPT在常用的数据分析方法中的应用(交叉分析)
321 1

热门文章

最新文章