前言:为什么要折腾这个?

最近在做平台数据分析的时候,发现每次DAU(日活跃用户)出现异动,都要手动查各种数据表、看公告、刷热搜,找半天才能搞清楚是什么原因。这种重复性工作实在太消耗时间了,于是我就想着能不能用AI来自动化处理这些事情。

经过一段时间的折腾,现在有了一个还算满意的结果,分享给大家。

这个系统能干啥?

  • 自动发现异常:DAU有波动马上就能察觉

  • 智能找原因:自动分析是赛事、主播还是外部事件影响的

  • 生成报告:直接输出可以给老板看的分析报告

技术选型

现在主要用 Dify工作流 + n8n 这套组合,连接MySQL数据库,配合各种数据采集工具。


整体思路流程图

flowchart TD A[n8n定时任务触发] --> B[Dify主工作流启动] B --> C[4个子流程并行执行] C --> D1[平台数据流程] C --> D2[品类数据流程] C --> D3[主播数据流程] C --> D4[赛事数据流程] D1 --> E1[平台DAU异动分析] D2 --> E2[品类涨跌TOP10] D3 --> E3[主播异动TOP20] D4 --> E4[赛事影响分析] E1 --> F[数据整合流程] E2 --> F E3 --> F E4 --> F F --> G[AI关联分析] G --> H[外部信息收集] H --> I[综合归因判断] I --> J[生成分析报告] J --> K[推送企业微信] style A fill:#e1f5fe style C fill:#fff3e0 style F fill:#ffeb3b style K fill:#e8f5e8

核心工作流程

具体怎么实现的?

现在使用Dify工作流来处理,整个流程变得更加清晰:

数据提取阶段(4个并行流程)

  1. 平台数据流程 - 提取整体平台DAU变化情况

  2. 品类数据流程 - 分析各游戏品类的涨跌情况

  3. 主播数据流程 - 提取主播相关的异动数据

  4. 赛事数据流程 - 收集赛事排播和影响数据

数据整合阶段

  1. 大流程整合 - 将4个子流程的数据进行整合归因

  2. 智能分析 - AI对所有数据进行关联分析

  3. 报告生成 - 概括总结,生成最终分析报告

自动化推送

  1. 定时任务 - n8n每日定时调用整个工作流

  2. 消息推送 - 自动推送分析结果到企业微信

几个关键点

  • SQL要规范:数据准确性是基础,不能乱来

  • 多维度分析:平台、品类、主播、赛事都要覆盖

  • 时间维度:支持日、周、月不同粒度的分析


具体功能模块

1. 流量趋势分析

这部分主要是看平台的整体数据变化情况。

看趋势

-- 日趋势(最近半年的数据)
SELECT dt, app_dau FROM ai_report.daxiong_all_tag_dau_diff_d 
WHERE tag='active' AND game_id='huya' AND dt>='2025-01-01'

-- 周趋势  
SELECT dt, app_dau FROM ai_report.daxiong_all_tag_dau_diff_week 
WHERE tag='active' AND game_id='huya' AND dt>='2025-01-01'

-- 月趋势
SELECT dt, app_dau FROM ai_report.daxiong_all_tag_dau_diff_m 
WHERE tag='active' AND game_id='huya' AND dt>='2025-01-01'

看环比变化

-- 这个能看出来今天比昨天变化了多少
SELECT dt, app_dau, last_app_dau, app_dau_diff 
FROM ai_report.daxiong_all_tag_dau_diff_d 
WHERE tag='active' AND game_id='huya' AND dt='指定日期'

2. 找原因分析

流量都从哪来的?

平台的DAU其实可以分解成几个部分:

  • 赛事 - 看比赛的观众

  • 头部主播 - 大主播的粉丝

  • 官签主播 - 平台签约的主播

  • 轮播 - 自动播放的内容

  • 其他主播 - 各种小主播

-- 看看各部分的贡献情况
SELECT dt, att_tag, app_dau, last_app_dau, app_dau_diff 
FROM ai_report.daxiong_all_tag_dau_diff_d 
WHERE tag='attr' AND game_id='huya' AND dt='指定日期'

找出涨跌榜

-- 品类涨跌TOP10(看看哪个游戏火了或凉了)
SELECT dt, game_id, game_name, app_dau, app_dau_diff 
FROM ai_report.daxiong_all_tag_dau_diff_d 
WHERE tag='watch' AND dt='指定日期' 
AND (app_dau_diff_desc_rn <=10 OR app_dau_diff_asc_rn <=10) 
AND game_id<>'huya'

-- 主播涨跌TOP20(看看哪个主播突然火了)
SELECT dt, ayyuid, game_name, nickname, app_dau, live_hours 
FROM ai_report.daxiong_ayyuid_dau_diff_d 
WHERE dt='指定日期' 
AND (app_dau_diff_desc_rn <=20 OR app_dau_diff_asc_rn <=20)

3. 外部信息收集

官方公告

AI会自动去爬虎牙官方博客(https://blog.huya.com/),看看有没有:

  • 活动公告

  • 赛事预告

  • 合作消息

  • 其他重要通知

热搜监控

同时会去各大平台看热搜:

  • 微博热搜 - 看看有没有相关话题

  • 抖音热点 - 短视频平台的热度

  • B站排行 - UP主和游戏相关内容

4. 赛事分析

-- 看看当天有什么比赛
SELECT match_dt, match_name, app_dau 
FROM ai_report.daxiong_match_dau_d 
WHERE match_dt='指定日期' AND room_type='all' 
AND game_name='all' AND match_name <> 'all'

比赛对流量的影响其实挺大的,特别是一些大型赛事。


目前的效果怎么样?

已经完成的部分

Dify工作流搭建 - 4个数据提取子流程已经搭建完成
数据拆解优化 - 按平台、品类、主播、赛事进行了模块化拆分
大流程整合 - 数据整合归因的主流程已经跑通
n8n定时任务 - 每日自动触发分析已经部署
企业微信推送 - 分析报告可以自动推送到群里

正在迭代的内容

🔄 外部信息收集 - 在优化热搜和公告信息的准确性
🔄 报告格式 - 在调整推送到企业微信的报告格式

踩过的坑

Dify工作流调试
刚开始各个子流程之间的数据传递有问题,调试了很久:

  • 统一了数据格式规范

  • 优化了流程间的参数传递

  • 现在基本稳定了

  • dify的并发有各种问题,控制并发量和速度取个平衡点,主要看你公司服务器咋样

n8n定时任务
定时任务的时区和触发逻辑搞了很久:

  • 大数据模型跑的很慢,使用http请求会出现超时,这里准备手搓一个dify的定时任务插件

重点优化的内容

工作流模块化设计
将原来的大流程拆分成4个独立的子流程,各自负责不同维度的数据提取,这样:

  • 调试更容易定位问题

  • 可以并行处理提高效率

  • 维护起来更方便

数据格式标准化
不同子流程输出的数据格式必须统一,否则整合阶段会出问题:

  • 定义了统一的JSON格式规范

  • 每个字段都有明确的数据类型

  • 添加了格式验证机制

智能归因算法
最核心的部分是如何让AI准确分析各种因素的影响权重:

  • 优化了Prompt的逻辑结构

  • 增加了历史数据对比

  • 引入了置信度评分机制


使用心得

分析流程总结

实际使用下来,基本就是这个套路:

  1. 先看数据

    • 看看DAU到底变化了多少

    • 哪些品类、主播、赛事有明显变化

  2. 找外部原因

    • 看看官方有没有搞活动

    • 刷刷热搜有没有相关话题

    • 分析一下竞品是不是也有动作

  3. 综合分析

    • 把内部数据和外部信息对比

    • 判断哪个因素影响最大

    • 理清楚整个因果关系

  4. 出报告

    • 写成人话,别太技术化

    • 最好有图表支撑

    • 给出一些建议

后续优化方向

实时监控
希望能做到异常数据出现的时候自动报警,不用每天手动跑。

预警机制
根据历史数据设定一些阈值,提前预测可能出现的问题。

准确性提升
继续优化算法,让分析结果更准确。


总结

这套AI数据分析系统用下来感觉还不错,至少把我从重复性的查数据工作中解放出来了。日报基本都能自动生成,周报还在优化中。

下一步计划

  • 实时分析 - 目前是每日定时分析,希望能做到实时异动检测

  • 多平台支持 - 现在主要分析平台数据,计划扩展到其他平台

  • 预警机制 - 建立异常数据的提前预警系统

  • 报告优化 - 让AI生成的报告更加专业和易读

  • 历史趋势 - 增加更长时间维度的趋势分析

现在这套基于Dify+n8n的方案运行还挺稳定的,每天早上都能收到前一天的分析报告。AI确实能大大提升数据分析的效率,特别是这种有标准流程的重复性工作。

如果你也在做类似的数据分析,推荐试试Dify工作流的方案,比纯代码的方式要灵活很多。