导读 本文将分享 37手游在 AI 智能分析方面的探索与应用。
1. 异常诊断与根因分析
2. QBI 波动分析与智能洞察
3. 智能搭建与智能问数
4. AI 数据分析报告
5. Q&A
分享嘉宾|史飞翔 37手游 技术部 大数据平台资深开发工程师
编辑整理|唐唐
内容校对|李瑶
出品社区|DataFun
异常诊断与根因分析
1. 前言
随着人工智能技术的飞速发展,人工智能在数据分析领域的应用也日益深入和广泛。
智能分析平台功能由最开始的问数、出图表和做报表,逐渐发展出智能总结、波动归因等洞察分析能力。本次分享就将聚焦于分析部分。
一个优秀的可以投入正式生产使用的智能化 BI,需要具备以下三方面的能力:
丰富完备的 BI 功能
极速的交互,查询效率快,达到秒级
结果 100% 准确可信赖,能达到业务的预期
鉴于产品最终要给业务方使用,需要聆听业务侧的声音,所以针对 BI 智能问数功能,我们做了一个调研。调研结果显示,大部分人对 BI 智能问数并不感兴趣,另有一部分人认为不需要,还有一部分人表示只有移动端需要此功能。此外,调研结果还显示,业务方并不期望通过问答的形式展示结果,毕竟这样的操作效率还不如直接查询报表查询;而是更关心 AI 的分析能力,即通过数据得到分析结果,方便数据有异常的时候可以洞察是什么原因导致,或者是基于当前的数据进行解读并输出分析报告。
2. 生活案例
接下来通过一个例子,介绍如何进行异常根因分析,给业务提供更多的价值。
夏天的时候,树叶会变绿,气温会升高,而蚊子也会变多。那么,如果我们基于「树叶会变绿」+「气温升高」两个因子,对「蚊子变多」进行预测,虽然结果准确,但是蚊子变多的根本原因并不是「树叶会变绿」+「气温升高」两个因子直接导致的,比如某些极端的地方,树叶常年都不会变绿,但是气温也会升高,这种场景下该模型就失效了。
也就是说,如果仅基于传统的相关性分析,可能会得出错误的结论「树叶变绿」是导致「蚊子变多」的一个因素。而通过因果分析可以发现,「蚊子变多」的根本原因是「气温升高」。
3. 数据异常排查现状
对于业务的应用场景,都是基于发现,从结果去找原因。而数据异常排查的现状如下:
在日常工作中,业务方发现异常的数据之后,假设游戏某一天的大盘数据 DAU 突然下降,业务方会基于不同的游戏、不同的渠道等等进行多维度交叉分析推演,需要人工手动分析,成本高。
依赖分析人员的主动性、预警及时性,容易产生预警不及时的问题,并且有些人分析洞察不够,得到的结果就会不够准确。
比如 1 个游戏项目,需 1 个人力每天花费数小时进行数据监控,但仍有监控不到位的情况。
4. 分析思路
针对如何提升业务的效率,如何快速定位出核心影响因素,我们制定了一些策略。
沟通确认要监控哪些指标及维度,比如监控 DAU 还是 ROI,监控哪些游戏、哪些渠道等。
通过贡献率数学模型,定位指标异动的根因,最后对影响因素进行汇总。
针对多个维度进行剪枝,比如「树叶变绿」并不是「蚊子变多」的影响因素,所以先把「树叶变绿」这个影响因素剪掉,剪完之后定位出核心的影响因素。
对维度「广告组」、「渠道」进行拆解,拆解完之后,定位到某些广告组、渠道的影响因素比较大。
基于广告组、渠道维度贡献度校大的维值组合,进一步拆解维度,即对细维度继续进行拆解,比如拆解到出价工具,定位到某出价工具是核心影响因素。如果定位结果发现三种出价工具对指标异常的影响几乎相等,此时可以进行上卷,比如定位到其实是某些广告主跟渠道,而跟出价工具无关。即基于广告组、渠道、出价工具维度,提取贡献度较大的维值组合。
定位出来维度后,可以进一步对指标做分析。基于异常的维值组合,折解 ROI 指标(设备成本、LTV),即可能是设备成本导致,也可能是 LTV 导致。如果 LTV 影响占比较高,则可以继续进行拆解(付费率、付费 arpu),最终定位到核心的影响因素以及核心指标。
比如监控大盘指标,发现某天的指标异常,首先基于游戏进行维度的拆解,这里有很多维度,比如从游戏 1、游戏 2,拆解到广告,看是哪个广告导致的,接着再进一步拆解到渠道,层层拆解。对于游戏 1,三个渠道对大盘异常的贡献度几乎相等,则定位渠道不是核心影响因素,此时进行剪枝,直接定位到是广告组带来的影响。对于游戏 2,拆解到确实渠道 1 影响最大,那么定位就是广告组 B、渠道 1。
其次进行指标的拆解。指标 A 是复合指标,A=A1/A2。假设 A 指标异常,指标 A1 的变化率是 10%,A2 的变化率是 50%,那么指标 A 的异常可以定位到是指标 A2 导致,A2 又是一个衍生指标,可以进一步拆解到 C 和 D,再看 C、D 变化率,如果其变化率相同,则归因到指标 A2,如果变化率差别大,则可以直接定位到那个指标。
5. 贡献率计算
计算组内贡献度、组间贡献度,通过这两种贡献度叠加来计算最终的贡献度。
实际应用场景中,通过看板展示每天的数据是否有异常,如果有异常,核心的影响因素是哪些,具体的指标是多少。另外,每天还会推送数据异常诊断报告给业务,可以定位到是哪个游戏、哪个广告组等。
同时业务方还可以基于分析结果进行 AI 问询,系统会生成分析报告,告知业务方异常是由哪几个指标影响,核心影响的维度是哪些,并给出分析结论。如果让业务方直接问询 DAU 是多少、环比同比是多少,这只是很基础的问数,对业务方意义不大。业务方更关心分析结果,比如数据的核心影响因素是什么,数据到底出了什么问题,有什么影响,所以这也是我们开发的方向。
根因分析不只限于广告的场景,而是适用于各个业务线,比如游戏运营、风控、用户画像等。以广告分析为例,有展现、点击、跳转、下载等各个环节,假设点击率突然很低,此时业务方并不是想看点击率从多少变到多少,而是想知道点击率为什么变低,是什么因素影响导致。
QBI 波动分析与智能洞察
接下来介绍我们结合 Quick BI 支撑的业务应用场景。
使用 Quick BI 波动分析功能来分析波动原因,展示分析结果,以及具体的影响因素,比如哪些维度影响比较大。如果某天数据变化,比如 8 月 7 号对比 8 月 6 号,数据上涨 7%,通过波动分析功能,可以定位到核心的影响因素是某个游戏导致的,然后基于该游戏继续进行波动分析。
2. 数据解读
业务方每天都可以看到报表上的数据,而他们更关心的则是对于数据的解读,一个分析的结果,比如导致数据异常的原因。数据解读是基础的解读总结,即告知业务方统计周期是多少天,最大值最小值出现在什么时候,明显的突变点、异常点等。
智能搭建与智能问数
我们利用了 Quick BI 的智能搭建功能,比如想要基于某些数据集生成一张报表,系统就可以自动生成一个包含多个维度、多种表现形式的看板。我们结合 Quick BI 的智能问数功能,构建了自己的一套智能问数能力,可以通过简单的问题,得到想要的数据。
AI 数据分析报告
1. 多代理模式
分析报告使用多代理模式,流程如下:首先用户查询,提出想要分析的内容,将内容提交后,通过搜索器连接互联网(gpt-researcher),基于互联网查找相关的行业内数据。拿到数据之后,后续每步均由不同的 Agent 进行处理,即多 Agent 模式。
主编 Agent 负责列出大纲;
研究员 Agent 基于大纲,输出草稿;
审稿人 Agent 验证数据报告是否正确,是否遵循大纲撰写;
修订者 Agent 梳理哪里有问题,如何改写;
研究员 Agent 继续改写,重新走审核流程,直至审核通过;
撰稿人 Agent 负责编写报告,包括引用的参考文献等;
发布者 Agent 负责将撰稿人写的报告生成 PDF。
Agent 可以理解为公司里的一个员工,首先给 Agent 一个角色定位,比如研究员、数据分析师、写手等等。接着再给 Agent 一个目标及上下文背景。
分配并告知 Agent 要做什么任务,提供执行所需的细节,包括任务描述、具体的 Agent、期望输出的内容。
支持引用外部的工具,如网络搜索、数据分析、内容生成等,通过将工具无缝集成到 Agent 的工作流程中来增强代理能力。
通过流程协调 Agent 执行任务,类似于团队中的项目管理,这些流程确保任务按照预定义的策略高效分配和执行。
把几个 Agent 封装组合到一起,代表一个团队,下面有撰写人、分析师等,通过多 Agent 按 workflow 使用多个工具完成特定任务。
2. 基于 CrewAI+GPT
Research 生成分析报告
针对 query「请写一篇关于游戏的用户声音的分析报告」,如果需要大模型生成分析报告,只告诉他这个 query,生成的结果肯定是不符合预期的。所以需要把写报告的分析逻辑清晰地告诉大模型。例如,写一篇关于游戏客服服务质量分析报告,首先要写整体的效果,结论性的内容,比如大客户整体的服务效果是好还是差。接着是具体分析,比如客服达标率、客服未回复次数等,还可以进一步分析客服的响应时间长,对客服响应时间、服务人数、未回复次数等进行交叉分析。
分析报告的生成效果如上图所示,包括大客户的整体效果、客服达标率、未回复人数等,后面还有一些趋势性、结论性的内容,以及建议。对于建议部分,我们还要进一步优化,告诉大模型更多的知识。
Q&A
Q:要把报告提纲告诉大模型才可以吗?
A:这取决于对分析报告的完整度要求。如果期望大模型分析得更好,那么就需要把分析逻辑告诉大模型。如果只告诉大模型一句话,那么大模型就写得不太好。所以提出分析报告需要一定的数据分析能力。