零售商超数据分析
一、背景介绍和分析目的
移动互联网、大数据、人工智能、物流等技术的快速发展,传统零售业态与电商平台的深度融合,催生出新兴的业态和新商业模式。同时消费者发生了变化,80、90后成消费主力,他们对高质量商品的需求快速增强,对服务性消费的需求潜力也在不断释放,购物时越来越追求方便快捷,购物渠道从割裂走向融合。人们的消费观念不断转变,为迎合消费者新需求,线上线下融合成为商超行业发展趋势,众多新兴技术运用到商超零售的各个环节,商超零售全链条实现数据智能化升级,提升效率,优化体验。在此背景下,传统线下零售商如何更好地提升顾客购物体验?线上零售商如何增加顾客消费粘性?深度挖掘用户价值变得越来越重要,需要我们从数据角度深度挖掘出它的价值,为商业提供决策。
提出问题:
1. 最近几个月运营效果如何?有什么异常处吗?
2. 针对某一个专题点进行分析,用户行为有什么特征,且如何来划分?
二、分析数据
2.1 数据来源
两家零售商超店铺2016-2017两年真实数据
2.2 熟悉数据
2.3 数据清洗
零售数据相对其他行业数据来说还相对干净,我们先看一下订单表(orderlist)信息,其他表同理
2.3.1 缺失值处理:
可以看到,只有memberid字段有 null , 这是由于有些客户没有注册会员。SQL清洗数据太不方便了, 我们改用Python快速查看数据描述。
查看一下memberinfo 表中信息
1 # 将 demo 数据库中 goods 表前 1000 条记录导出为.xlsx 文件保存到电脑本地、 然后再导入到 Python 中。 2 import pymysql 3 import pandas as pd 4 sql_cmd = "SELECT * FROM demo.MemberInfo ; " # 大小写敏感 5 db = pymysql.connect(host = "xxxxx", user = "xxxxx",password = "xxxx",db = "demo" ,charset = "utf8") 10 # host:数据库地址/本机使用localhost 11 # user:用户名 12 # password:密码 13 # db:数据库名 14 # charset:数据库编码,一般为UTF-8 15 #注:如果用户名或密码中包含特殊符号@、%等符号时,需要修改密码方可链接 16 df = pd.read_sql(sql_cmd, db) 17 df.info()
可以看到没有任何字段有缺失值 而且都是非空数据, 一共有12187条纪录
2.3.2 重复值处理
可以看到没有重复值,根据订单id 来筛选
2.4 数据分析并可视化
2.4.1 2017年每月份两家店的利润和销售额。
1 -- 2017年每月的利润和销售额 3 SELECT A.ShopID 4 ,year(A.SDate) as '年' 5 ,MONTH(A.SDate) as '月' 7 ,sum(A.SaleValue) as '销售额' 8 ,sum(A.SaleValue)-sum(A.CostValue) as '利润' 9 FROM demo.OrderItem as A 10 WHERE year(A.SDate)= 2017 11 GROUP BY A.ShopID 12 ,year(A.SDate) 13 ,MONTH(A.SDate) 14 ,day(A.SDate) 15 ORDER BY year(A.SDate) 16 ,MONTH(A.SDate) 17 ,day(A.SDate);
上传中。。。。。
三、结论与建议