
1.3 研究主要内容本研究围绕超市客户购物习惯分析需求开发基于Flask框架的零售数据分析系统。研究内容包含四个核心模块基础统计分析模块实现总交易数、销售额趋势等核心指标的图表展示销售趋势分析模块通过移动平均算法识别日销趋势与时段销售规律热销商品分析模块统计商品销量排名与购买频次分布关联规则分析模块采用Apriori算法挖掘商品组合规律。系统使用Python语言开发采用Pandas进行数据处理Matplotlib生成静态图表通过Flask实现前后端数据交互。研究重点解决中小超市数据量有限场景下的算法优化问题开发过程中着重处理原始交易数据的异常值清洗、时间字段格式转换等预处理任务最终构建包含可视化看板与规则解释功能的轻量化Web系统为超市经营者提供直观的数据分析支持。2.3Streamlit框架Streamlit框架是本课题实现数据分析可视化的重要工具其最大特点是能够快速将数据分析结果转化为交互式网页应用。与传统的Web开发框架不同Streamlit不需要编写复杂的前端代码使用者只需通过Python脚本即可创建动态页面。例如在项目中需要展示月度销售趋势图时直接调用Matplotlib或Plotly库生成图表再通过Streamlit的st.pyplot()或st.plotly_chart()函数即可将图表嵌入网页。这种“边写代码边生成界面”的方式大大简化了开发流程特别适合数据分析场景中需要快速验证和展示结果的需求。在具体功能实现上Streamlit提供了丰富的交互组件。例如通过st.slider()组件可以添加滑动条方便用户动态调整关联规则分析中的支持度参数实时查看不同阈值下的规则变化利用st.selectbox()组件创建下拉菜单实现不同分析模块的切换如基础统计与热销商品分析。此外Streamlit支持多页面布局和主题定制功能能够将销售趋势、商品关联等多个分析维度整合到统一界面中提升用户体验。对于数据量较大的情况Streamlit还提供了缓存机制通过st.cache装饰器避免重复计算显著提高页面加载速度。这些特性使得即使没有网页开发经验的学生也能高效完成数据分析系统的搭建。2.4 Apriori算法Apriori算法是本课题研究商品关联规则的核心方法主要用于发现顾客购物篮中频繁共同出现的商品组合。该算法的核心思想是通过多次扫描交易数据逐步找出满足最小支持度的商品组合称为频繁项集再基于这些组合推导出关联规则。例如当分析发现“面包和牛奶”经常被同时购买时算法会计算该组合的支持度出现频率、置信度买面包后买牛奶的概率等指标帮助超市制定商品摆放策略或促销方案。这种分析方法不需要复杂的数学推导适合处理零售交易这类结构化明显的数据。在实际应用过程中Apriori算法的实现依赖于Python的Mlxtend库。该库封装了算法的主要计算步骤使用者只需调用apriori()函数并设置最小支持度参数即可自动生成频繁项集。例如处理超市交易数据时首先将原始订单数据转换为算法需要的二元矩阵格式每行代表一个订单每列表示商品是否出现然后通过库函数快速得到所有可能的商品组合及其支持度。对于生成的关联规则进一步筛选提升度大于1的规则表示商品间存在正相关关系最终输出如“购买薯片的顾客有65%概率同时购买可乐”的实用结论。这种“数据准备-算法调用-结果筛选”的标准化流程显著降低了关联规则分析的技术门槛使研究者能够更专注于业务逻辑的解读而非算法实现细节。4.1 系统架构设计系统采用分层架构设计分为数据层、业务逻辑层和展示层三个主要部分如图4-1所示。数据层负责存储原始交易数据与预处理后的分析数据集通过CSV文件形式本地保存使用Pandas库完成数据清洗与格式转换。业务逻辑层包含核心分析模块基础统计模块计算销售额、订单量等指标趋势分析模块生成时间维度的图表数据关联规则模块调用Apriori算法处理商品组合。展示层整合Flask框架与Streamlit工具Flask负责基础网页路由和数据处理接口Streamlit构建交互式仪表板通过可视化组件动态展示分析结果。各层之间通过函数调用传递数据例如用户在前端调整支持度参数时参数值传递至算法模块重新计算更新后的结果再返回前端渲染图表。如下图4-1所示5.1基础统计右侧单选框选择基础统计左侧零售数据分析仪表板显示基础统计信息的图表信息展示的基础统计数据信息包括总交易数、总商品数、总销售额 和平均订单金额信息月度销售趋势按月份以折线图的当时展示销售额的趋势。如下图5-1所示图5-1 基础统计_1基础统计信息仪表板中每日交易数量分布柱状图中展示每日交易数和频率的关系。如下图5-2所示图5-2 基础统计_2基础统计信息仪表板中销售额分布以每目销售额分布和销售额分布密度展示分分析。如下图5-3所示图5-3 基础统计_3基础统计信息仪表板中季节性分析分为季度销售额占比和月度销售额分布。季度销售额占比以饼状图展示月度销售额分布以柱状图方式展示月份和销售额关联。如下图5-4所示图5-4 基础统计_45.2销售趋势右侧单选框选择销售趋势左侧零售数据分析仪表板显示销售趋势分析信息的图表信息其中每日销售额趋势图中分析每日日期和销售额的趋势变化。如下图5-5所示图5-5 销售趋势分析_1基础统计信息仪表板中每小时平均销售额柱状图展示各小时的平均销售额的数据展示按星期几统计的销售额柱状图展示各星期的平均销售额的数据展示。如下图5-6所示图5-6 销售趋势分析_2基础统计信息仪表板中时间模式详细分析中展示每小时订单数量折线图和每小时平均订单金额折线图。展示每小时的订单数量和平均订单金额数量数据分布。如下图5-7所示图5-7 销售趋势分析_3基础统计信息仪表板中销售趋势分解按日期展示日销售额、7天移动平均和30天移动平均的销售额数据变化。如下图5-8所示图5-8 销售趋势分析_45.3热销数据右侧单选框选择热销商品左侧零售数据分析仪表板显示热销商品分析信息的图表信息最上方的选择显示的商品数量滑动框选择显示商品数量。通过选择的数量下方展示销售前的商品和销售额前的商品的柱状图。如下图5-9所示图5-9 热销商品_1基础统计信息仪表板中以表格的形式展示热销商品的详细信息包括商品描述、总销量、总销售额和交易次数信息。如下图5-10所示图5-10 热销商品_2基础统计信息仪表板中商品购买频次分析图展示购买频次和商品数量的数据分布。如下图5-11所示图5-11 热销商品_35.4关联规则分析右侧单选框选择关联规则分析左侧零售数据分析仪表板显示关联规则分析信息的图表信息先选择通过滑动框选择最小支持度和最小提升度的值。再点击生成关联规则生成关联规则信息图表。如下图5-12所示图5-12 关联规则分析_1关联规则生成后以表格的形式展示关联规则包括前置商品信息、后置商品信息、支持度、置信度和提升度信息。如下图5-13所示图5-13 关联规则分析_2关联规则散点图展示支持度、置信度和提升都的关系和分布信息如下图5-14所示图5-14 关联规则分析_3T5最强关联规则解释以文本的形式解释信息文本规范为规则数k:如果顾客购买了商品m那么有多少的概率会购买商品n这些商品同时出现的概率为多少提升度为h为如下图5-15所示图5-15 关联规则分析_4