python分析商店销售数据,python数据分析案例 药店销售数据分析
本文主要介绍使用Python对零售商品进行数据分析和详细讲解。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
00-1010 1.主要内容:2。使用工具3、数据源4、字段含义5、数据清洗1、查看整体数据特征2、修改列名3、检查缺失数据4、查看和转换数据类型5、查看异常值和删除6、数据分析1、整体销售数据2、商品维度分析3、店铺维度分析4、销售情况分析5、相关性分析6等等。
目录
1.清理数据。统一修改列名,处理缺失数据、异常数据、折算日期等数据类型。
2.查看整体销售情况。
3.分析商品维度。分析的主要内容有:商品价格分析、商品销量分析、销售情况分析和商品相关性分析。
4.分析商店维度。主要分析内容包括:店铺销量、销售方式分析、店铺促销分析、店铺销售时间分析、周平均消费次数分析、客单价分析等。
5.相关性分析:利用相关表和相关矩阵图初步分析变量之间的关系。
6.分析用户维度。分析的主要内容包括:分析用户基本购买情况,按时间(周)分析用户购买情况,分析用户购买力,分析用户复购率,RFM区分用户。
一、主要内容:
大蟒
二、使用工具
该数据集包含2018年6月1日至2018年7月5日公司零售的交易信息。
三、数据来源
SDATE(订单日期)STORE_CODE(店铺编号)POSID(POS机编号)BASK_CODE(用户编号)PROD_CODE(商品编号)ITEM_QUANTITY(商品数量)ITEM_SPEND(商品实际价格)NORMAL_PRICE(商品单价)DISCOUNT_TYPE(折扣类型)DISCOUNT_AMOUNT(
四、字段含义
五、数据清洗
从图中可以初步看出,数据集中可能存在异常数据,需要初步处理的地方如下:
1)数据表中的SDATE字段需要转换成日期类型,以便后续计算;
2)数据表中ITEM_SPEND字段出现负值,即商品实际支付金额为负,属于异常数据;
3)数据表中的ITEM_QUANTITY字段出现负值,即商品数量为负,属于异常数据;
4)数据表中的DISCOUNT _ AMOUTN字段数据有正值,即折扣后的金额高于折扣前的金额,这是异常数据。
5)为了方便阅读和查看,更改了列名以符合驼峰命名法。
1、查看总体数据特征
item.columns=[shop_date , store_id , pos_id , user_id , prod_id , item_quantity , item_spend , normal_price , discount_type , discount_amount]
2、修改列名
item . apply(lambda x : sum(x . is null())/len(x),axis=0)
3、检验缺失数据
(1)检查数据表类型
如图,数据中没有缺失数据,所以不需要进行缺失值处理。
(2)转换
数据类型
数据类型中的object表示如果一列中含有多个类型,则该列的类型会是object,同样字符串类型的列也会被当成object类型,因此object类型中SDATE数据类型应为日期类型,此外数值类型由于涉及零售的金钱问题,也应都调整为两位小数。
因此最终数据表数据类型需要调整的地方主要有以下几点:
- 1)调整日期数据类型
- 2)将金钱调整为两位小数
- 3)查看调整后数据类型
#日期数据类型item.shop_date = pd.to_datetime(item.shop_date)
#金钱保留两位小数
pd.set_option(display.float_format, lambda x: %.2f % x)#将所有数据转换为两位小数
(3)查看修改后数据表数据类型
5、查看异常值并删除
根据上一小节对数据的初步查看发现的问题进行操作,在上一小节中发现数据表中商品数量、订单总金额、商品实付金额均有负值,且折扣金额为正,折扣金额的计算可能受到金额为负的影响,此外,数据也可能存在空值。因此,异常值的删除主要有以下几个操作:
1)将商品数量、订单总金额、商品实付金额为负值的调整为正值;
2)新建销售总金额字段:销售总金额=单价*数量根据修改后的数据进行折扣金额的计算:折扣金额=销售总金额-实际付款金额(ITEM_SPEND),与实际折扣金额不同的可以判定为异常数据,进行删除操作;
3)删除过后分析是否还存在折扣金额为正的数据,若存在,也进行删除操作。
最后发现不存在折扣金额与实际折扣不同的数据,可以判定无异常值。
六、数据分析
1、总体销量数据
由总体销售情况分析可知,商店在2018年6月1日-2018年7月5日共有280878个用户进店购买过商品,总销售额为22216624.17元,有流水的商品数共19261个。
2、商品维度分析
(1)商品价格分析
由初步价格箱型图可知,客户比较青睐店铺内的低价商品,且由此图无法很明显的看出商品价格具体情况,因此下面将商品价格为0-50的价格提取出来进行分析
#求商品价格的四分位数df_1 = pd.to_numeric(item_normal[normal_price])
q = [df_1.quantile(i) for i in [0,.25,.5,.75,1]];q[-1] += 1
q
[0.5, 3.6, 7.0, 13.8, 51.0]
由最后的箱型图可知,商品价格最多的在3.6元~13.8元之间,也符合消费者在零售商店购买的商品价格会比较低,店家可以根据消费者的消费情况对商品进行调整,多上架一些平价、常用的商品供消费者选择。
(2)查看销量排名前十和最后的商品
本小节分析了商品销售量前10和商品销售量最后的商品数量,此外将商品销售量前10的商品绘制柱状图进行分析。
由图表可知,前3销售量的商品很明显比后面商品销量多,差别至少为2000以上,而商品销量最后的商品在计算过程中发现有很多商品销量为1,将所有销量为1的商品提取出来,共有2673个,这2673个商品在这一段时间只销售了1个商品,可能为商品为不常用商品,也可能是商品本身有其他问题。
(3)查看销售额排名前十和后十的商品
本小节主要分析了商品销售额前10和商品销售量后10的商品,此外将商品销售量前10的商品绘制柱状图进行分析。由图表可知,前3销售量的商品很明显比后面商品销售额多,差别至少为50000以上,而商品销量最后的商品仅仅在1元左右,这些商品无论是数量还是销售额都很少,商品可能存在问题。
(4)查看销售量与销售额关系
由于商品销售量最后的销售量为1,数量共2673个,因此查看销售量最后2673个商品中同时销售额在后10的商品,发现销售额最后的商品均为销量为1的商品,本小节查看了销售额和销售量最后的商品编号,找出之后根据具体的商品,找出原因,考虑如何优化或者是否要下架。
(5)商品关联度分析
从以上的结果可以总结出:
从总体上看,所有组合商品中支持度数值偏低,这是由于平台销售的商品种类繁多,也可能是用户同时购买两个商品的可能性低,需要进一步进行分析;
商品组合[1570] --> [1557]的置信度最高,表示支持率在1%的情况下购买商品编号1570的用户中有70%会购买商品编号1557,可以对这两种商品进行捆绑销售;
3、店铺维度分析
进行店铺维度的分析可以分析各店铺销售情况,判断哪些店铺销售情况不好,考虑是否需要对店铺员工进行培训或裁员。
(1)店铺销售量情况分析
本小节分析了商品销售量前10的店铺,可以发现商品销售数量前2的店铺销售量远超过后面的店铺,超过150000个商品,说明D002和A001两个店铺商品数量销售情况很好。
本小节分析了商品销售额前10的店铺,进行图表分析,可以发现A001和D002两个店铺销售额远超其他店铺,至少超过了2000000元,根据上小节分析,这两个店铺销售量与销售额均远超其他店铺,说明两个店铺销售情况良好。
(2)店铺促销情况分析
4、销售情况分析
(1)下单时间分析
(2)销售额分析
由于数据表中时间仅有日期,没有具体的销售时间,且数据量由2018年6月1日-2018年7月5日,仅有约一个月的时间,因此分析月销售量没有很大的意义,因此首先对每周周一至周日的销售情况进行分组计算,求出一周内不同天的销售情况,分析每周哪一天销售情况最好。
由图表可以看出,周一至周五的下单量在一条线上下波动,没有很大的起伏,周六和周日两天的下单量远远高于周一至周五的下单量,高出了至少50000单,销售额也是同样的趋势,超出了至少400000元,可以看出一般周末用户的下单量与交易额会远远高于工作日的下单情况,商家可以考虑在周末多上一些商品供用户选择。
(3)每日销售额/销售量分析
本小节分组计算了日销售额与日销售量的数据,并绘制了折线图进行趋势对比分析,由图中可知,销售量与销售额的趋势几乎相同,且均在2018年6月16日达到最高,。
(4)周均消费次数/金额
总订单数 280878 次
周数 6 周
周均消费次数 46813 次
周均消费金额为: 3702770.0 元
(5)客单价
商场(超市)每一个顾客平均购买商品的金额,客单价也即是平均交易金额。
客单价为: 79.0 元
由于数据表中数据量由2018年6月1日-2018年7月5日,仅有约一个月的时间,因此分析月销售量没有很大的意义,因此首先对每周周一至周日的销售情况进行分组计算,求出不同周的大致销售情况,最终结果可知总订单数为280878次,共有6周的数据,周均消费次数为46813次
5、相关性分析
查看数据相关性
我们可以查看数据的相关性,值越接近1,说明相关性越强。也可以把相关性信息进行可视化,颜色越接近黄色相关性越高,越接近紫色相关性越低。由相关性图可知,商品销售总额与商品数量、折扣金额和商品销售总额相关性相对强,周数和销售额相关性最弱
6、用户分析
(1)用户角度分析
从用户角度看,每位用户平均购买8.83单位的商品,最多的用户购买了6581个商品,属于狂热用户。用户的平均消费金额(客单价)79.1元,标准差是291.24,结合分位数和最大值看,平均值和50~75分位之间的接近,肯定存在小部分的高额消费用户。
(2)按周维度分析
按周统计每周的商品销量和销售额。从图中可以看到,销售量和销售额趋势相同,没有什么异常的地方,前几周销量比较平稳,甚至有些下降,而后面几周销量逐渐高涨,可能是商店逐渐被用户所认可。
(3)观察用户消费购买力
左边的直方图的x轴代表item_spend的分组,一共30组。y轴代表item_spend中对应到各个分组的频数。从直方图看,大部分用户的消费能力确实不高,高消费用户在图上几乎看不到。这也确实符合消费行为的行业规律。
(4)分析用户的复购率
复购率 = 单位时间内,消费两次及以上的用户数 / 购买总用户数
图上复购率可知复购率一直在62%以上,可能因为是零售商店,用户会经常购买商品,尤其到最后几周复购率更高,可能因为用户已经开始信任店铺
(5)用户RFM分析
通过RFM方法,我们根据用户购买商品的数据进行分析,对用户进行了归类。在促销等很多过程中,可以更加精准化,针对不同类别的用户进行不同的符合其特点的促销方式和销售方式,不至于出现用户反感的情景。
以上就是使用Python对零售商品进行数据分析的详细内容,更多关于Python数据分析零售商品的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。