文章目录

  • 前言
  • 一、项目介绍
  • 二、实验环境
  • 三、分析思路
  • 四、数据预处理
    • 1. 将csv文件导入MySQL数据库中
    • 2. 缺失值处理
    • 3. 异常值处理
    • 4. 重复值处理
  • 五、数据分析
    • 1. 描述性统计分析
    • 2. 总体销售情况
    • 3. 周、日销售情况
    • 4. 产品价格
    • 5. 地区分析
    • 6.转化率分析
  • 总结

前言

该项目来自和鲸社区天猫订单数据分析
该项目本来使用的是Python语言,但因自身的SQL+Excel实战经验较少,使用SQL+Excel进行分析。
分享给大家,如有错误,烦请指出!

一、项目介绍

对2020年2月份的真实天猫订单成交数据(共28010条记录)进行数据分析,阐述销售现状、挖掘潜在规律、发现存在问题、提出可行性建议。

数据集介绍:
数据集来自和鲸,包含了天猫2020年2月份的共28010条订单数据,有以下7个字段:

  • 订单编号:共28010条
  • 总金额:该笔订单的总金额
  • 买家实际支付金额:实际成交金额。分为已付款和未付款两种情况:
    已付款:买家实际支付金额 = 总金额 - 退款金额
    未付款:买家实际支付金额 = 0
  • 收货地址:维度为省份,共包含31个省市
  • 订单创建时间:2020年2月1日 至 2020年2月29日
  • 订单付款时间:2020年2月1日 至 2020年3月1日
  • 退款金额:付款后申请退款的金额。没有申请退款或没有付过款,退款金额为0

二、实验环境

MySQL、VScode、Excel、Python

三、分析思路

分析目的:天猫2月份的订单情况,给出策略以提高销售额
思路:因为该数据只有订单的信息,首先使用多维度拆解分析方法把订单拆解为付款金额、付款时间、付款地区,并根据付款的业务流程,分析提交订单、付款以及退款的转化率。
1、根据付款金额区间将订单进行分组,查看每个区间的订单量分布。使用对比方法分析不同区间的数据指标。例如不同区间的销售额、销量、退款率。
2、根据付款金额将订单进行分组,查看月、周、日销售额、销量的变化趋势
3、根据付款地区将订单进行分组,查看每个地区的销售额和销量

四、数据预处理

优质的数据总是胜过优质的模型。

1. 将csv文件导入MySQL数据库中

参考:将CSV文件导入MySQL表

从和鲸社区下载order_report.csv 数据集,保存至mysql.ini文件规定的目录下

SQL语句创建表tmall

CREATE TABLE tmall(  order_id int NOT NULL PRIMARY KEY COMMENT 'Primary Key',total_amount float(9,1) NOT NULL COMMENT 'total amount',actual_amount float(9,1) NOT NULL COMMENT 'actual amount',address VARCHAR(255) NOT NULL COMMENT 'content',order_time DATETIME NOT NULL,pay_time DATETIME,refund_amount float(9,1)
) DEFAULT CHARSET UTF8 COMMENT 'newTable';

将数据从csv文件导入tmall表中

LOAD DATA INFILE 'C:/web/xxxx/uploads/order_report.csv'
INTO TABLE tmall
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

查看tmall表结构

desc tmall

2. 缺失值处理

用count函数计算每个字段不为NULL的行数

发现实际付款金额存在缺失值,但实际生活中存在下单但是不付款的情况,而且在建表时’订单付款时间’数据字段设置可空,因此没有出现错误数据,判断不需要对其进行处理。

3. 异常值处理

忽视异常值的存在是十分危险的,如果不加剔除地把异常值包括进数据的计算分析过程中,那么将对结果会带来不良影响。
参考知乎博客:异常值处理
计算数字的关键特征。可以运用五数概括法对每个变量进行分析:最小值(min)、下四分位数(第 25 个百分位数)、平均值(mean)或中位数(median)、上四分位数(第 75 个百分位数)和最大值(max)。并通过箱线图、直方图进行可视化分析。
使用python绘制了总金额的箱线图:

import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('C:/web/xxx/uploads/order_report.csv')
plt.boxplot((data['总金额']),labels=('x'))
plt.show()


发现有一个订单总金额超过了175000,并且通过查找该订单也没有实际付款,所以该订单被认为是异常值删除。
对实际支付金额、退款金额进行箱线图可视化,均为发现有异常值。

4. 重复值处理

验证使用count(distinct xx)计算的行数是否和总行数一致,如果一致说明没有出现重复值。
也可以通过group by查找重复的行


五、数据分析

1. 描述性统计分析

描述性分析的目的是展现样本的关键数字特征,它应该阐明可以概括数据内分布的关键数字
例如:最小值(min)、下四分位数(第 25 个百分位数)、平均值(mean)或中位数(median)、上四分位数(第 75 个百分位数)、最大值(max)、分布类型等等。

2. 总体销售情况

计算2月份每天的成交金额GMV和订单数。
GMV:成交金额,属于电商平台的成交类指标,主要指拍下订单的总金额,包含付款和未付款两部分。

select DATE_FORMAT(order_time,"%Y-%m-%d")  as day, sum(total_amount) as gmv,
count(*) as order_num
from tmall
group by day
order by day
into outfile 'C:/web/mysql-8.0.19-winx64/uploads/day_order.csv' fields terminated by ","  escaped by '' optionally enclosed  by ''   lines terminated by '\n' ;


信息获取
1、2.17日之前,销售额都很少
2、2.10-2.16销售额都仅在1000内
3、2.17日的销售额持续增长,且在2.25日达到了本月最高销售额33.9万

原因分析

3. 周、日销售情况

分析一周内的销售趋势
需要思考如何把时间类型转换为周,参考date_format函数
这里还需注意,每个月多少个周一、周二是不固定的,需要求平均

select week,
case week when 6 then order_num/5
else order_num/4 end as order_num,
case when week = 6 then total/5
else total/4 end as total
from (
select DATE_FORMAT(order_time,"%w") as week, count(*) as order_num,sum(actual_amount) as total
from tmall
group by week
order by week) t

观察到的信息:
1、每周周五销售额最高,其次是周二和周四
2、周末和周一销售额最低

分析
1、周五下班开启周末生活,大多数人可能会选择在周五购物来放松
2、周末大多数人会选择外出休闲,不会花费时间在电商购物
3、促销活动可以安排在周五

分析一天中每小时的销售趋势

# 日销售情况
select DATE_FORMAT(order_time,"%H") as hour, count(*) as order_num,sum(actual_amount) as total
from tmall
where actual_amount != 0
group by hour
order by hour


观察到的信息
1、从早上六点,销量开始提升,中午11点左右、16点左右、22点左右出现销售高峰
2、销量最高是晚上22点,销量最低是凌晨5点

分析
1、在三个销量高峰时期,可以多推送促销信息,增加销量

4. 产品价格

计算订单在每个区间的数量,和占比
使用interval()函数 和 elt()函数 对生成价格区间
使用窗口函数计算每个区间的订单量的占比

SELECT *,SUM(num)OVER(PARTITION BY price)/SUM(num)OVER() as rate
from (
SELECT ELT(interval(actual_amount,0,100,200,300,400,500),'0-100','100-200','200-300','300-400','400-500','>500') as price, count(*) as num
from  tmall
group by price) t

观察到的信息
1、用户每次提交订单的额度大多在0-200内
2、用户更喜欢在20-40内下单,订单量最多
3、20元以下和400以上的订单就很少了

建议:
产品推广以价格0-200的产品为主,尤其着重推广20-40元的产品,这个价格区间的产品的订单量是最多的。

5. 地区分析

select address, sum(actual_amount) as total, count(*) as order_num
from tmall
group by address
order by total desc


获得信息
销售额最高的省市是上海,其次是北京、江苏、广东、浙江;
销售额高的省市主要集中在东部和南部沿海,以及四川省;
销售额最少的省市为西藏、青海、湖北、新疆、宁夏, 主要为西部地区。
建议
西南、中部以及东北地区有很大的发展潜力,建议先从这些地区开始开展促销提高销量。

6.转化率分析

本项目中,用户行为路径为:创建订单 -> 订单付款 -> 订单成交 -> 订单全额成交
因此计算该业务流程中的转化率。思路:需要分别计算用户提交订单数量作为下单数,用户付款的数量作为付款数,用户实际支付不为空的数量作为成交数,用户实际支付不为空且没有退款的数量作为全成交数。(这里需注意付款数和成交数不一样,付款数包括用户虽然付款但是全额退款的数量)

select pay_order/order_num, actual/order_num, fullrich/order_num
from (
SELECT count(*) as order_num, count(if(pay_time, 1, null)) as pay_order, count(if(actual_amount!=0, 1, null)) as actual,
count(if(actual_amount !=0 and refund_amount=0, 1, null)) as fullrich
from tmall) t


观察的信息
1、从0.86到0.67说明有一部分用户提交订单但是全额退款了。
2、从0.67到0.66存在1%的客户部分退款
3、绝大部分的退款行为都是全额退款
建议
需要找出大部分全额退款的原因,例如质量不达标、实物与图片不符、尺寸与标注不符、包装不好导致商品破损、快递运输过慢、发货出错、价格高于其他店铺…

总结

2月总销售额为190.25万元。

为了增加销售,可以从以下几方面开展行动:

找到导致高退款率的原因并解决,这是目前最重要的事情;
促销活动可以安排在周五开始;
促销信息、产品推广广告的推送时间最好安排在晚上9点,其次是10点、15点;
产品推广以价格20-200的产品为主,尤其着重推广20-40元的产品;
保持优势省市的订单量,大力发展西南、中部以及东北地区的销量。

基于天猫订单的数据分析相关推荐

  1. 天猫订单之数据分析与挖掘——分类分析

    天猫订单之数据分析与挖掘--分类分析 文章目录 天猫订单之数据分析与挖掘--分类分析 0. 写在前面 1. 分类分析 1.1 决策树预测 1.2 随机森林 1.3 朴素贝叶斯算法 0. 写在前面 Wi ...

  2. Python数据分析实战 —— 天猫订单数据分析

    文章目录 项目介绍 数据介绍 导入部分库 数据预处理 数据格式整理 异常值分析 数据分析 描述性统计 周趋势.日趋势分析 产品价格分析 地区分析 转化率分析 总结 项目介绍 本项目将对2020年2月份 ...

  3. 大数据分析项目实战--天猫订单综合分析

    天猫订单综合分析 分析订单转化率.销量趋势.地域分布统计等. 文章目录 天猫订单综合分析 一.数据背景 二.分析目的 三.读取数据 导入相关包 读取并查看数据 四.处理数据 规范字段名称 重复值与缺失 ...

  4. Excel数据分析项目——天猫订单交易分析

    一.背景 天猫订单综合分析 为了解天猫交易的整体情况,以及各个省份订单的交易情况,对28010条数据进行分析. 二.数据理解 天猫订单交易分析数据共28010条数据.共7条字段分别如下: 订单编号:订 ...

  5. 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码

    [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 23页论文及实现代码 相关链接 (1)建模方案 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预 ...

  6. 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一

    相关链接 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 ...

  7. 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题二

    相关链接 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 ...

  8. 美团技术沙龙01 - 58到家服务的订单调度数据分析技术

    1. 2015.4.15 到家服务的订单调度&数据分析技术 58到家· 黄海斌 @xemoaya 2. agenda • 58到家介绍 • 订单管理系统介绍 • 数据分析技术的应用 3. 20 ...

  9. Atitit. 订单管理 收银单持久化 功能设计  基于ecshop订单结构

    Atitit. 订单管理 收银单持久化 功能设计  基于ecshop订单结构 1. 54.order_info  订单 数据结构1 2. Ecshop 的订单api1 2.1. 生成订单 code b ...

最新文章

  1. NE 题库 38个知识点总结
  2. Oracle 表空间数据文件迁移图解
  3. .net测试篇之Moq框架简单使用
  4. 迭代加深搜索 C++解题报告 :[SCOI2005]骑士精神
  5. 深度学习之卷积神经网络 VGGNet
  6. C++学习笔记-类定义的注意事项和C#的区别
  7. 跑通通过人脸测试心率程序
  8. Arcgis重分类无法赋新值为小数
  9. 科学计算机计算内插法,线性插值计算器
  10. 在线客服系统对接微信小程序(客服消息推送)
  11. linux crond定时任务,Linux之定时任务Crond使用
  12. 授权公众号第三方平台和开发者模式冲突吗?
  13. YuniKorn 介绍
  14. 【个人笔记】SIPp学习-注册,呼叫与超时
  15. 【Linux】vim全选,全部复制,全部删除
  16. L. Spicy Restaurant(bfs)
  17. 干电池升压IC,PW5100电路设计注意点
  18. Python课后作业 2. 旋转魔方阵(文件) ---- (第七次作业)
  19. kill -kill 20071125 20080101
  20. linux shell 执行存储过程,在shell中调用执行存储过程

热门文章

  1. 集成框架 -- 快手接入
  2. 团队的英文翻译缩写_动漫团队名称-团队英文名称~~人数不限的、 最好是** – 手机爱问...
  3. 二氧化硅纳米微球光子晶体乳液聚合聚苯乙烯核壳结构/中空二氧化硅/钛纳米微球的制备方法
  4. 剪映导出帧率选多少_剪映帧率是什么 剪映帧率在哪设置
  5. c语言学习周报(2020.11.21-11.28)
  6. 日积一步3(求解点到平面二次曲线的最近距离)
  7. python 对中文文件求交集、并集、差集
  8. Docker的中央仓库
  9. 顶刊实证复现:排污权交易机制是否提高了企业全要素生产率 (思路梳理+全数据源+python代码)
  10. java 异常恢复_Java学习之异常处理