一、项目开发背景意义
生成式AI软件服务快速迭代,用户规模与交互频次激增,算力消耗成为运营成本的核心组成部分。为精准掌握用户行为特征与算力使用规律,开发基于大数据的生成式AI软件服务用户行为与算力消耗数据分析与可视化系统。该系统整合海量用户日志与算力消耗日志,旨在解决算力配额异常、付费转化路径模糊、用户活跃分层不清等业务痛点。通过深入分析用户会话时长、重新生成频次、提示词量、采纳率等核心指标,辅助运营团队优化资源调度,提升付费墙触发效率,保障平台稳定运行与商业价值持续增长。系统通过数据挖掘与机器学习技术,从多维度剖析用户行为模式,为产品迭代和精细化运营提供科学的数据支撑,从而实现算力资源的高效利用与用户体验的全面提升。
二、项目开发技术
系统采用前后端分离与大数据处理相结合的架构。底层依托Hadoop分布式文件系统与Spark计算引擎,实现海量用户行为日志与算力消耗数据的分布式存储与并行计算。利用Python作为核心开发语言,结合数据挖掘与机器学习算法(如K-Means聚类)对用户进行行为分群与模式识别。MySQL数据库承担元数据与业务结果数据的持久化存储。前端采用Vue.js框架构建响应式单页应用,结合ECharts可视化图表库,生动渲染热力图、折线图、环形图、矩形树图等丰富图表。各技术组件协同工作,保障系统的高并发读取能力、可扩展性与数据实时处理性能,满足大屏可视化对高渲染性能与流畅交互的要求。
三、项目开发内容
系统围绕用户结构与活跃、算力与Token、质量与反馈、挖掘结果四大维度构建数据看板,全面呈现业务运行状态。通过多维交叉分析,揭示不同套餐(免费版、专业版、企业版)用户的使用差异,结合K-Means聚类挖掘用户行为模式,为精准运营提供数据支撑。系统集成了从数据采集、清洗、存储到可视化展示的全链路流程,帮助管理者直观洞察异常算力配额、付费墙触发分布、互动反馈等关键业务环节。通过引入机器学习算法对用户行为进行分群画像,有效识别高价值转化节点与潜在流失风险。整体开发内容涵盖实时数据监控、历史趋势回溯、异常检测预警以及智能决策支持等核心功能。
针对系统内的具体分析模块说明如下:
- 异常算力配额:展示正常与异常状态下的用户数及配额数值,辅助定位资源异常分配情况。
- 会话时长分层:对比专业版、企业版、免费版的平均会话分与中位会话分,反映用户深度使用差异。
- 重新生成频次:统计不同频次区间(如35%及以上、低于10%等)的用户数,揭示模型生成质量与用户满意度。
- 付费墙触发分布:呈现总触发与人均触发趋势,评估免费版到企业版的付费引导效率。
- 输入消耗排行:以矩形树图展示免费版、专业版、企业版的输入Token消耗占比。
- 提示词量对比:呈现各套餐的人均提示词数量,衡量用户交互活跃度。
- 用户行为分群热力:通过热力图展示不同活跃度群体在活跃天、会话分、输入/输出Token、采纳率及配额%上的分布特征。
- 行为模式关联:利用关联规则(如“采纳=低且付费”、“付费墙=多且配额=触顶”)挖掘用户行为之间的强关联。
- 活跃天数分布:统计不同活跃区间(1-7天、15-21天等)的用户人数分布。
- 采纳率套餐对比:通过环形图展示各套餐在采纳率中的占比(免费版61.1%、专业版29.3%、企业版9.6%)。
- 输出Token构成:展示各套餐在输出Token消耗中的比例结构。
- 互动反馈对比:通过柱状图展示不同套餐的平均点赞等互动反馈指标。
- 重新生成分布:统计用户在重新生成行为上的频次占比分层。
- 采纳率套餐差:折线图对比平均采纳率与中位采纳率随套餐的变化趋势。
- 付费墙触发次:统计各套餐的人均触发次数(免费版1.16、企业版0.50、专业版0.46)。
- 异常算力识别:对异常与正常状态下的算力数值进行分类统计与识别。
- 用户活跃类型分布:柱状图展示低活、中活、高活、超高活跃型用户规模。
四、项目展示
五、项目相关代码
const initCharts = () => {
// 1. 异常算力配额(折线/柱状混合)
const quotaChart = echarts.init(quotaChartRef.value);
quotaChart.setOption({
title: { text: '异常算力配额', textStyle: { color: '#fff' } },
tooltip: { trigger: 'axis' },
xAxis: { type: 'category', data: ['异常', '正常'], axisLabel: { color: '#aaa' } },
yAxis: { type: 'value', axisLabel: { color: '#aaa' } },
series: [
{ name: '用户数', type: 'bar', data: [490.00, 9310.00], itemStyle: { color: '#f4c542' } },
{ name: '配额', type: 'line', data: [12000, 9000], itemStyle: { color: '#00d2d3' } }
]
});
// 2. 用户行为分群热力图
const heatmapChart = echarts.init(heatmapChartRef.value);
heatmapChart.setOption({
title: { text: '用户行为分群热力', textStyle: { color: '#fff' } },
tooltip: { position: 'top' },
grid: { height: '60%', top: '10%' },
xAxis: { type: 'category', data: ['活跃天', '会话分', '输入k', '输出k', '采纳率', '配额%'], axisLabel: { color: '#aaa' } },
yAxis: { type: 'category', data: ['超高活跃型', '高活跃型', '中活跃型', '低活跃型'], axisLabel: { color: '#aaa' } },
visualMap: { min: 0, max: 500, calculable: true, orient: 'horizontal', left: 'center', bottom: '0%', textStyle: { color: '#fff' } },
series: [{
name: '行为指标', type: 'heatmap',
data: [
[0,0,24.1],[1,0,30.6],[2,0,152],[3,0,434],[4,0,0.7],[5,0,57.7],
[0,1,20.7],[1,1,29.7],[2,1,122],[3,1,358],[4,1,0.5],[5,1,59.4],
[0,2,10.2],[1,2,30.3],[2,2,57.3],[3,2,163],[4,2,0.8],[5,2,59.5],
[0,3,6.2],[1,3,29.8],[2,3,35.1],[3,3,100],[4,3,0.6],[5,3,56.0]
],
label: { show: true, color: '#000' }
}]
});
// 3. 付费墙触发分布(折线图)
const paywallChart = echarts.init(paywallChartRef.value);
paywallChart.setOption({
title: { text: '付费墙触发分布', textStyle: { color: '#fff' } },
tooltip: { trigger: 'axis' },
legend: { data: ['总触发', '人均触发'], textStyle: { color: '#aaa' } },
xAxis: { type: 'category', data: ['免费版', '专业版', '企业版'], axisLabel: { color: '#aaa' } },
yAxis: [{ type: 'value', name: '总触发', axisLabel: { color: '#aaa' } }, { type: 'value', name: '人均触发', axisLabel: { color: '#aaa' } }],
series: [
{ name: '总触发', type: 'line', data: [1200, 800, 300], itemStyle: { color: '#f4c542' } },
{ name: '人均触发', type: 'line', yAxisIndex: 1, data: [1.16, 0.46, 0.50], itemStyle: { color: '#00d2d3' } }
]
});
六、最后
更多大数据毕设项目分享、选题分享可以点击下方