浏览器市场与用户画像分析-数据加工(2)

发布时间:2026/6/8 14:26:11

浏览器市场与用户画像分析-数据加工(2) 平台全称助睿数智Uniplore一站式数据科学实验平台平台定位覆盖数据接入、ETL处理、机器学习建模到可视化分析的全链路Agentic零代码数据智能产品官网Uniplore iDIS-大数据智能全流程服务平台-BI数据可视化工具实验平台地址https://lab.guilian.cn/特别说明本实验是在“互联网用户行为日志数据清洗抽取”实验的基础上完成的前置实验链接如下前置实验https://blog.csdn.net/qq_55485949/article/details/161567217?fromshareblogdetailsharetypeblogdetailsharerId161567217sharereferPCsharesourceqq_55485949sharefromfrom_link1. 实验目的本实验基于“用户-日-浏览器-小时”明细表完成数据大屏所需的各项统计表加工主要包括浏览器市场格局统计覆盖率、使用时长浏览器周活跃趋势统计浏览器使用频率分布统计用户浏览器使用数量分布统计浏览器工作日与周末使用对比统计用户画像统计性别、年龄、学历、职业、收入、居住地类型、省份分布通过数据加工为后续浏览器市场大屏和用户画像大屏提供可直接使用的聚合数据避免大屏直接查询原始明细表导致性能问题2. 实验环境工具助睿数智Uniplore在线实验平台https://lab.guilian.cn/本次实验主要用到助睿ETL数据集成平台、助睿AI人工智能平台以及MySQL数据库。数据规模1000用户800万条行为记录约825MB。实验设备计算机支持助睿平台运行具备数据库连接权限3. 实验数据本次实验基于上一个实验《浏览器用户行为分析与流失预测-数据加工》产出的数据以及原始数据demographic用户属性表。上一个实验已输出的数据包括daily_browser_detail用户-日-浏览器-小时明细表将在本实验第4.1节中输出browser_coverage浏览器市场覆盖率统计表browser_hourly浏览器时段活跃统计表本实验需要额外加工的目标表如下目标表对应维度数据来源browser_overview核心指标daily_browser_detailbrowser_weekly_active周活跃趋势daily_browser_detailbrowser_frequency_stats使用频率daily_browser_detailbrowser_multi_usage浏览器使用数量daily_browser_detailbrowser_weekday_weekend工作日vs周末daily_browser_detailuser_profile_stats用户画像demographic daily_browser_detail4. 实验步骤本实验在助睿ETL平台中完成主要包含以下环节准备明细表创建daily_browser_detail表并导入数据创建目标表在团队私有数据库中创建所有目标表数据抽取与加工依次加工周活跃趋势、使用频率分布、使用数量分布、工作日周末对比、核心指标、用户画像等表4.1 准备“用户-日-浏览器-小时”明细表4.1.1 创建明细表结构进入实验平台打开上个实验创建的项目“互联网用户行为日志”新建转换流“创建用户_日_浏览器_小时明细表”拖入“执行一个SQL脚本”组件数据库连接选择“团队私有数据库”输入以下SQLsqlCREATE TABLE IF NOT EXISTS daily_browser_detail ( user_id VARCHAR(50) NOT NULL COMMENT 用户ID, usage_date DATE NOT NULL COMMENT 使用日期, browser_name VARCHAR(50) NOT NULL COMMENT 浏览器名称, hour TINYINT NOT NULL COMMENT 小时, total_duration_sec INT NOT NULL COMMENT 总使用时长(秒), active_count INT NOT NULL COMMENT 活跃次数 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT用户_日_浏览器_小时明细表;保存后运行转换流完成表创建4.1.2 复制并修改转换流找到上一个实验中的“互联网用户行为日志数据清洗抽取”转换流右键复制粘贴后重命名为“输出用户日浏览器小时明细表”注意事项确保“排序记录1”组件的排序字段与分组组件的分组字段一致user_id、usage_date、process_name、hour否则会出现重复数据在分组组件后添加“值映射”组件将进程名映射为浏览器名称例如iexplore.exe → IE浏览器chrome.exe → Google等分组组件中聚合字段的聚合类型需改为“统计不同值的数量(N)”在分支A的“分组1”组件前添加排序记录组件按process_name升序排序复制后的转换流中计算器的公式要重新选择拖拽“表输出”组件到画布值映射组件连接到表输出。配置如下数据库连接团队私有数据库目标表daily_browser_detail勾选“裁剪表”清空原有数据勾选“指定数据库字段”建立字段映射点击“运行”执行转换流完成明细表数据导入。4.2 创建目标数据表新建转换流“创建浏览器大屏分析目标数据表”拖入“执行一个SQL脚本”组件输入以下SQL包含DROP TABLE IF EXISTS避免重复建表报错sql-- 1. 核心指标概览表 DROP TABLE IF EXISTS browser_overview; CREATE TABLE browser_overview ( metric_name VARCHAR(50) NOT NULL COMMENT 指标名称, metric_value DECIMAL(12,2) NOT NULL COMMENT 指标值 ) COMMENT核心指标概览表; -- 2. 各浏览器周活跃趋势表 DROP TABLE IF EXISTS browser_weekly_active; CREATE TABLE browser_weekly_active ( browser_name VARCHAR(50) NOT NULL, week_range VARCHAR(20) NOT NULL, active_user_count INT NOT NULL ) COMMENT各浏览器周活跃趋势表; -- 3. 浏览器使用频率分布表 DROP TABLE IF EXISTS browser_frequency_stats; CREATE TABLE browser_frequency_stats ( browser_name VARCHAR(50) NOT NULL, usage_level VARCHAR(10) NOT NULL, user_count INT NOT NULL ) COMMENT浏览器使用频率分布表; -- 4. 用户使用浏览器数量分布表 DROP TABLE IF EXISTS browser_multi_usage; CREATE TABLE browser_multi_usage ( browser_count VARCHAR(10) NOT NULL, user_count DECIMAL(5,2) NOT NULL ) COMMENT用户使用浏览器数量分布表; -- 5. 浏览器工作日周末对比表 DROP TABLE IF EXISTS browser_weekday_weekend; CREATE TABLE browser_weekday_weekend ( browser_name VARCHAR(50) NOT NULL, day_type VARCHAR(10) NOT NULL, avg_duration_sec INT NOT NULL, total_duration_hour BIGINT NOT NULL, user_count INT NOT NULL ) COMMENT浏览器工作日周末对比表; -- 6. 用户画像统计表 DROP TABLE IF EXISTS user_profile_stats; CREATE TABLE user_profile_stats ( browser_name VARCHAR(50) NOT NULL, gender VARCHAR(10), age_group VARCHAR(10), edu VARCHAR(50), job VARCHAR(50), income VARCHAR(50), city_type VARCHAR(10), province VARCHAR(50), user_count INT NOT NULL ) COMMENT用户画像统计表;运行该转换流完成所有目标表的创建4.3 各浏览器周活跃趋势表数据抽取目标统计每个浏览器在第1-4周的每周活跃用户数新建转换流“各浏览器周活跃趋势表数据抽取”按以下步骤配置表输入选择团队私有数据库获取daily_browser_detail所有字段字段选择将usage_date字段类型设为Date格式yyyy-MM-dd值映射将日期映射为周区间如2012-05-07→5/7-5/132012-06-04→6/4-6/10等目标字段名week_range。只用映射四周5/7-5/13、6/4-6/10、7/2-7-8、8/6-8/12排序记录按browser_name、week_range升序排序分组分组字段为browser_name、week_range聚合字段active_user_count对user_id进行去重计数统计不同值的数量(N)表输出目标表browser_weekly_active勾选“裁剪表”并建立字段映射执行转换流完成周活跃数据加工4.4 各浏览器使用频率分布表数据抽取目标按轻/中/重度划分用户使用频率轻度3小时中度3-10小时重度10小时。新建转换流“使用频率分布数据抽取”表输入读取daily_browser_detail排序记录按user_id、browser_name升序排序分组分组字段user_id、browser_name聚合字段total_seconds对total_duration_sec求和增加常量新增字段hour_m_s类型Integer值3600usage_level类型String其余空着计算器计算total_hours total_seconds / hour_m_s保留2位小数JavaScript代码划分使用等级写好代码后点击获取变量后点击确认javascriptvar total_hours total_hours; var usage_level ; if (total_hours 3) { usage_level 轻度; } else if (total_hours 3 total_hours 10) { usage_level 中度; } else { usage_level 重度; }排序记录按browser_name、usage_level升序排序。分组分组字段browser_name、usage_level聚合user_count对user_id去重计数。表输出目标表browser_frequency_stats。执行转换流4.5 各浏览器使用数量分布表数据抽取目标统计用户使用1种、2种、3种及以上浏览器的用户数新建转换流“浏览器使用数量分布数据抽取”表输入读取daily_browser_detail排序记录按user_id升序排序分组分组字段user_id聚合browser_cnt对browser_name去重计数JavaScript代码划分浏览器数量等级javascriptvar browser_cnt browser_cnt; var browser_count ; if (browser_cnt 1) { browser_count 1种; } else if (browser_cnt 2) { browser_count 2种; } else { browser_count 3种及以上; }排序记录按browser_count升序排序分组分组字段browser_count聚合user_count对user_id去重计数表输出目标表browser_multi_usage执行转换流4.6 各浏览器工作日周末对比表数据抽取目标统计各浏览器工作日与周末的人均使用时长、总时长及用户数新建转换流“浏览器工作日周末对比数据抽取”表输入读取daily_browser_detailJavaScript代码判断日期类型javascriptvar date usage_date; var dayOfWeek date.getDay(); var day_type ; if (dayOfWeek 1 dayOfWeek 5) { day_type 工作日; } else { day_type 周末; }排序记录按browser_name、day_type升序排序。分组分组字段browser_name、day_type聚合avg_seconds平均使用时长秒total_seconds总使用时长秒user_count对user_id去重计数增加常量新增hour_m_s3600计算器计算total_duration_hour total_seconds / hour_m_s字段选择删除中间字段total_seconds、hour_m_s只保留browser_name、day_type、avg_seconds、total_duration_hour、user_count表输出目标表browser_weekday_weekend执行转换流4.7 核心指标数据抽取目标计算全局核心指标总使用时长、人均时长、周活跃率、重度用户占比存入键值对表新建转换流“核心指标数据抽取”表输入输入SQL一次性计算出所有指标sqlSELECT ROUND(SUM(total_duration_sec) / 3600, 2) AS total_hours, ROUND(SUM(total_duration_sec) / 3600 / COUNT(DISTINCT user_id), 2) AS avg_hours, ROUND( (SELECT COUNT(DISTINCT user_id) FROM daily_browser_detail WHERE usage_date BETWEEN 2012-08-06 AND 2012-08-12) * 100.0 / COUNT(DISTINCT user_id), 2 ) AS active_ratio, ROUND( (SELECT COUNT(*) FROM ( SELECT user_id FROM daily_browser_detail WHERE usage_date BETWEEN 2012-05-07 AND 2012-07-08 GROUP BY user_id HAVING SUM(total_duration_sec) / 3600 30 ) t) * 100.0 / COUNT(DISTINCT user_id), 2 ) AS heavy_ratio FROM daily_browser_detail行转列将字段名转为metric_name字段值转为metric_value。配置映射total_hours → metric_name total_hoursavg_hours → avg_hoursactive_ratio → active_ratioheavy_ratio → heavy_ratio值映射将英文指标名映射为中文如total_hours → 总使用时长(小时)avg_hours → 人均使用时长(小时)active_ratio → 周活跃率(%)heavy_ratio → 重度用户占比(%)表输出目标表browser_overview执行转换流4.8 用户画像表加工目标统计每个浏览器按性别、年龄、学历、职业、收入、居住地类型、省份的用户分布。4.8.1 获取人口属性信息表在实验平台“公共空间”的“数据资源”中找到demographic.csv点击“更多”-“导出”选择导出到项目根目录确定后刷新文件库即可看到该文件4.8.2 CSV文件输入新建转换流“用户画像表加工”拖入“CSV文件输入”组件浏览选择demographic.csv编码UTF-8获取字段后确认。字段包括USERID、BIRTHDAY、GENDER、EDU、JOB、INCOME、PROVINCE、ISCITY等4.8.3 年龄分段增加常量新增字段year值设为2012计算器计算age year – BIRTHDAYJavaScript代码划分年龄段javascriptvar age_group ; if (age 18) { age_group 18; } else if (age 25) { age_group 18-25; } else if (age 35) { age_group 26-35; } else { age_group 35; }4.8.4 表输入读取明细表拖入“表输入”组件读取团队私有数据库的daily_browser_detail表获取所有字段4.8.5 关联用户属性分别对明细表和CSV数据按用户ID排序明细表按user_id升序CSV按USERID升序使用“记录集连接”组件连接类型LEFT OUTER连接字段明细表的user_id ↔ CSV的USERID获得连接字段后仅保留连接字段其他字段自动带入4.8.6 统计用户数排序记录按browser_name、GENDER、EDU、JOB、INCOME、PROVINCE、ISCITY、age_group升序排序分组以上述字段为分组字段聚合user_count对user_id去重计数4.8.7 表输出配置表输出组件目标表user_profile_stats裁剪表指定数据库字段映射将CSV中的字段对应到目标表的字段名如GENDER→genderEDU→eduJOB→jobINCOME→incomePROVINCE→provinceISCITY→city_typeage_group→age_groupbrowser_name→browser_nameuser_count→user_count4.8.8 执行转换流点击运行完成用户画像表加工4.9 查看结果数据在ETL平台的“元数据”选项卡中右键团队私有数据库点击“加载元数据”然后点击“数据探查”查看以上生成的目标表是否符合预期。各表应包含正确的字段和数据记录5. 实验总结本实验基于助睿ETL平台完成了从原始行为日志到多张分析目标表的完整数据加工流程。主要成果包括明细表构建成功生成daily_browser_detail表为后续聚合奠定基础。市场格局分析通过browser_coverage等表可回答“哪个浏览器用户最多、用得最久”。趋势分析browser_weekly_active记录了各浏览器每周活跃用户数可观察产品生命周期。用户分层browser_frequency_stats区分了轻、中、重度用户browser_multi_usage揭示了用户同时使用浏览器的数量分布。场景对比browser_weekday_weekend展示了工作日与周末使用习惯差异。用户画像user_profile_stats关联人口属性数据为精准营销提供用户特征依据。核心指标browser_overview以键值对形式存储大屏顶部KPI便于前端调用。通过本次实验掌握了使用零代码ETL工具进行多表关联、数据清洗、聚合统计、行转列等常见数据加工操作的方法。加工后的各表可直接用于助睿BI大屏展示避免大屏查询原始明细表带来的性能问题实现了“数据前置聚合”的最佳实践

相关新闻