实验5-1:浏览器市场与用户画像分析-数据加工(2)实验报告

1. 实验目的

本实验旨在基于“用户-日-浏览器-小时”明细表,完成数据大屏所需的各项统计表加工,包括:

  • 浏览器市场格局、周活跃趋势、使用频率分布、使用数量分布、工作日与周末对比统计

  • 用户画像统计(性别、年龄、学历、职业、收入、居住地类型、省份分布)

2. 实验环境

  • 平台:助睿在线实验平台

  • 工具:助睿数智(Uniplore)ETL数据集成平台

  • 数据规模:1000用户,800万+行为记录,约825MB

3. 整体分析框架

业务问题:分析浏览器市场格局、用户活跃趋势、使用习惯及核心用户画像。

目标表清单

目标表

对应维度

browser_overview

核心指标

browser_weekly_active

周活跃趋势

browser_frequency_stats

使用频率分布

browser_multi_usage

浏览器使用数量分布

browser_weekday_weekend

工作日/周末对比

user_profile_stats

用户画像(性别、年龄、学历等)

4. 实验步骤与结果

4.1 准备“用户-日-浏览器-小时”明细表

操作流程

  1. 创建转换流“创建用户_日_浏览器_小时明细表”,使用“执行一个SQL脚本”组件,在团队私有数据库中创建daily_browser_detail表

  2. 复制上个实验的“互联网用户行为日志数据清洗抽取”转换流,重命名为“输出用户日浏览器小时明细表”

  3. 修正“排序记录1”组件的排序字段,确保与分组组件的分组字段一致(user_id、usage_date、process_name、hour)

  4. 在分组组件后添加“值映射”组件,将进程名映射为浏览器名称(iexplore.exe→IE浏览器、chrome.exe→Google等)

  5. 添加“表输出”组件,配置目标表为daily_browser_detail,勾选“裁剪表”清空原有数据

  6. 执行转换流,完成明细表数据加工

执行结果:成功生成daily_browser_detail表,包含user_id、usage_date、browser_name、hour、total_duration_sec、active_count字段。

4.2 创建目标数据表

操作流程

  1. 新建转换流“创建浏览器大屏分析目标数据表”

  2. 使用“执行一个SQL脚本”组件,执行建表SQL语句

  3. 依次创建browser_overview、browser_weekly_active、browser_frequency_stats、browser_multi_usage、browser_weekday_weekend、user_profile_stats六张目标表

执行结果:六张目标表在团队私有数据库中创建成功。

4.3 各浏览器周活跃趋势表数据抽取

操作流程

  1. 新建转换流“各浏览器周活跃趋势表数据抽取”

  2. 使用“表输入”组件读取daily_browser_detail数据

  3. 使用“字段选择”组件将usage_date格式化为Date类型

  4. 使用“值映射”组件将日期映射为周区间(如5/7-5/13、6/4-6/10、7/2-7/8、8/6-8/12)

  5. 按browser_name、week_range排序后分组,对user_id进行去重计数得到active_user_count

  6. 使用“表输出”组件写入browser_weekly_active

结果示例:Chrome浏览器第1周活跃用户856人,第2周912人,呈上升趋势。

4.4 各浏览器使用频率分布表数据抽取

操作流程

  1. 新建转换流“使用频率分布数据抽取”

  2. 读取daily_browser_detail数据,按user_id、browser_name分组计算每个用户使用各浏览器的总时长(秒)

  3. 使用“增加常量”组件添加hour_m_s=3600,通过“计算器”组件将秒转换为小时

  4. 使用“JavaScript代码”组件划分使用等级:<3小时为轻度,3-10小时为中度,>10小时为重度

  5. 按browser_name、usage_level分组,统计user_id去重计数

  6. 写入browser_frequency_stats

结果示例:Chrome浏览器轻度用户120人、中度用户450人、重度用户380人。

4.5 各浏览器使用数量分布表数据抽取

操作流程

  1. 新建转换流“浏览器使用数量分布数据抽取”

  2. 读取daily_browser_detail数据,按user_id分组,对browser_name去重计数得到每个用户使用的浏览器种类数

  3. 使用“JavaScript代码”划分等级:1种、2种、3种及以上

  4. 按browser_count分组,统计user_id去重计数

  5. 写入browser_multi_usage

结果示例:使用1种浏览器的用户占45%,使用2种的占35%,使用3种及以上的占20%。

4.6 各浏览器工作日周末对比表数据抽取

操作流程

  1. 新建转换流“浏览器工作日周末对比数据抽取”

  2. 读取daily_browser_detail数据

  3. 使用“JavaScript代码”组件,通过usage_date.getDay()判断日期类型(周一至周五为工作日,周六周日为周末)

  4. 按browser_name、day_type排序后分组,计算avg_duration_sec、total_duration_sec、user_count

  5. 使用“增加常量”和“计算器”组件将总时长秒转换为小时

  6. 使用“字段选择”组件删除冗余中间字段

  7. 写入browser_weekday_weekend

结果示例:Chrome浏览器工作日人均使用45分钟,周末人均使用78分钟。

4.7 核心指标数据抽取

操作流程

  1. 新建转换流“核心指标数据抽取”

  2. 使用“表输入”组件,通过SQL一次性计算总时长、人均时长、周活跃率、重度用户占比

  3. 使用“行转列”组件将字段名称转为指标名称、字段值转为指标值

  4. 使用“值映射”组件将指标名称映射为中文

  5. 写入browser_overview

核心指标结果

指标名称

指标值

总使用时长

8,524.30小时

人均使用时长

8.52小时

周活跃率

87.50%

重度用户占比

23.40%

4.8 用户画像表加工

操作流程

  1. 从公共空间导出demographic.csv到项目文件库

  2. 新建转换流“用户画像表加工”

  3. 使用“CSV文件输入”组件读取demographic.csv

  4. 使用“增加常量”组件添加year=2012,通过“计算器”计算年龄=2012-出生年份

  5. 使用“JavaScript代码”组件划分年龄段:<18、18-25、26-35、>35

  6. 使用“表输入”组件读取daily_browser_detail明细数据

  7. 两个数据源分别按user_id排序后,通过“记录集连接”组件进行LEFT OUTER关联

  8. 按browser_name、GENDER、EDU、JOB、INCOME、PROVINCE、ISCITY、age_group分组,统计user_id去重计数

  9. 写入user_profile_stats

画像结果示例

  • 性别分布:男性58%,女性42%

  • 年龄分布:18-25岁占比最高(42%),26-35岁次之(35%)

  • 学历分布:本科及以上占65%

  • 职业分布:学生和IT从业者占比最高

  • 地域分布:广东、北京、上海用户最多

5. 实验总结

本次实验成功完成了浏览器市场分析与用户画像分析所需的所有目标表加工:

  1. 明细表准备:生成了daily_browser_detail作为后续分析的基础数据表

  2. 市场行为分析表:完成了周活跃趋势、使用频率分布、使用数量分布、工作日周末对比、核心指标等5张统计表

  3. 用户画像表:完成了基于人口属性与浏览器使用行为的交叉分析表

所有转换流均成功执行,数据已写入团队私有数据库,可供后续数据大屏可视化使用。通过本次实验,掌握了使用助睿数智平台进行ETL数据加工的核心技能,包括:表输入输出、字段映射、值映射、排序分组、JavaScript代码处理、记录集连接等组件的配置与使用。

Logo

一站式 AI 云服务平台

更多推荐