【电商API接口项目实战分享】项目实战案例一:电商平台零售数据分析

本文以真实案例,带领大家一起学习如何搭建电商零售的用户画像。

"项目介绍"


此次项目数据来自Kaggle,包含了2010年12月1日至2011年12月9日在英国注册的非实体网上零售发生的所有交易。

字段如下:

  • Invoice: 订单编号,每笔交易有6个整数。

  • StockCode: 产品编号,由5个整数组成。

  • Description: 产品描述。

  • Quantity: 产品数量,有负号的表示退货。

  • InvoiceDate: 订单日期和时间。

  • Price: 单价(英镑),单位产品的价格

  • Customer ID:客户编号,每个客户编号由5位数字组成。

  • Country:国家的名称,每个客户所在国家/地区的名称。

"RFM模型介绍"


RFM模型是一种用户分类模型,通过对比分析不同用户群体在时间、地区等维度下的交易量、交易金额指标,并根据分析结果提出优化建议。

  • R(Recency):最近一次消费时间(最近一次消费到参考时间的长度)

  • F(Frequency):消费的频次(单位时间内消费了多少次)

  • M(Money):消费的金额(单位时间内总消费金额)

下面是项目实战的代码实现过程:

01 导入库


本例所需的库包括pandas、numpy、matplotlib、seaborn、datetime、os六个模块。

  • Pandas:Pandas有两种结构,分别是Series和DataFrame。其中Series拥有Numpy的所有功能,可以认为是简单的一维数组;而DataFrame是将多个Series按列合并而成的二维数据结构,每一列单独取出来是一个Series。

  • Numpy:Numpy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

  • Matplotlib:Matplotlib用于在 Python 中创建静态、动画和互动的可视化

  • Seaborn:Seaborn是一种开源的数据可视化工具,它在Matplotlib的基础上进行了更高级的API封装,因此可以进行更复杂的图形设计和输出。Seaborn是Matplotlib的重要补充,可以自主设置在Matplotlib中被默认的各种参数,而且它能高度兼容Numpy与Pandas数据结构以及Scipy与statsmodels等统计模式。

  • Datetime:datetime是Python处理日期和时间的标准库。

  • os:os.chdir() 方法用于改变当前工作目录到指定的路径。

02 数据准备


此处使用Pandas的read_excel方法读取数据文件,并使用info函数查看数据类型。

03 数据预处理


  • (1)缺失值处理

利用lambda函数对缺失值进行统计。

结果如下图:

可以发现Description和Customer ID字段存在缺失值。Description字段对本项目分析意义不大,可以直接删除;对Customer ID字段的缺失部分进行填充,用'U'表示缺失。

  • (2)日期处理

提取日期、时间、年、月、日。

结果如下图:

  • (3)重复值处理

使用drop_duplicates函数对重复值进行删除。

  • (4)异常值处理

使用describe函数对数据进行探索性分析。

可以发现对Price(单价)列有负数,因此需要对Price列的异常值进行处理。

首先计算异常值比例:

查看具体的异常值:

共2512条异常记录,其中单价为负数有2条,单价为0有2510条,单价为0可能是促销产品,因此我们只对负数进行剔除:

为了后续分析,需要增加amount列:

结果如下图:

04 数据分析


  • (1)退货率计算

利用数据透视表计算退货金额。

结果如下图:

再利用数据透视表计算成功交易订单总金额。

结果如下图:

最后计算退货率:

绘制2011年各月份退货率折线图:

结果如下图:

  • (2)RFM模型分析

计算R、F、M三个指标的值。

对R进行探索性分析:

可以发现客户最近一次消费到参考时间的最大时间间隔为373天,平均时间间隔92天。

绘制柱状图如下:

结果如下图:

对F进行探索性分析:

绘制柱状图如下:

M指标的柱状图如下:

客户等级划分

结果如下图:

绘制柱状图:

绘制饼图:

05 结论和建议


(1)针对退货订单,2011年1月与12月退货率存在异常,我们需要了解是外部因素还是内部因素所导致的,从产品、渠道、价格、促销四个方面来分析具体的原因加以改进。

(2)根据用户分层得到八类客户,针对不同的客户需要采取不同的营销手段。根据数据可知,客户最多的类别是重要价值客户和重要发展客户,这类客户是为公司创造价值的主力军。对于重要发展客户,由于最近消费频次较少,建议公司获取相关信息来挽回客户;对于一般挽留客户和一般发展客户,获取用户的详细数据分析用户画像,了解客户的消费需求,进行精准的营销,即时推送产品信息;对于重要保持客户和重要挽留客户,以赠送优惠券或推送折扣等活动来增加客户活跃度。

相关推荐
the3clipse几秒前
H.265熵编码核心:CABAC自适应二进制算术编码详解——如何将语法元素高效压缩为比特流
人工智能·算法·视频编码·h.265·hevc·cabac·cavlc
alonglong1 分钟前
用 744 行替代 Open WebUI:llama.cpp + 本地 Qwen3 聊天栈实录
人工智能
jinyishu_2 分钟前
RAG 文本分块:七种 Chunking 策略与选型方法
人工智能
海绵宝宝转agent2 分钟前
LeetCode100 LRU缓存思路讲解
java·开发语言·缓存
youdexiang9 分钟前
AI 生成会议纪要好用吗?多款 APP 功能分析
java·人工智能·音视频
外收内放9 分钟前
08 | 优化篇③ 60 张动作立绘和 50 张特效贴图是怎么进游戏的
python·游戏·pygame
阡陌数智11 分钟前
大模型领域自适应微调:小样本场景下过拟合抑制与数据构建方法论
人工智能·深度学习·机器学习
计算机毕业设计杰瑞12 分钟前
【2027精品大数据项目】基于大数据的全球太空探索数据分析与可视化,附源码_数据可视化_数据分析_毕设选题_SPark_Hadoop_文档指导ppt
大数据·信息可视化·数据挖掘·课程设计
AI创界者21 分钟前
【开源实战】MiniMax-H3 本地离线高自由度 ComfyUI 工作流搭建指南(含规则松绑与提示词映射)
人工智能·aigc·音视频