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

相关推荐
说私域1 分钟前
基于开源 AI 智能名片 S2B2C 商城小程序的视频号交易小程序优化研究
人工智能·小程序·零售
YRr YRr1 分钟前
深度学习:Transformer Decoder详解
人工智能·深度学习·transformer
知来者逆6 分钟前
研究大语言模型在心理保健智能顾问的有效性和挑战
人工智能·神经网络·机器学习·语言模型·自然语言处理
Shy96041810 分钟前
Bert完形填空
python·深度学习·bert
云起无垠15 分钟前
技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
人工智能·安全·语言模型
上海_彭彭21 分钟前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
老艾的AI世界29 分钟前
新一代AI换脸更自然,DeepLiveCam下载介绍(可直播)
图像处理·人工智能·深度学习·神经网络·目标检测·机器学习·ai换脸·视频换脸·直播换脸·图片换脸
3345543230 分钟前
element动态表头合并表格
开发语言·javascript·ecmascript
沈询-阿里34 分钟前
java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl
java·开发语言
zhongcx0137 分钟前
使用Python查找大文件的实用脚本
python