英国在线零售商数据分析

前言:

数据分析的一般流程,首先确定问题,再带着问题进行下面的分析步骤

分析流程.png

0、分析问题

一份数据可以分析很多维度,为了分析的效率,首先需要明确此次分析的目的(问题)及深度,避免陷入盲目无尽的分析

  1. 订单维度:笔单价和连带率是多少?订单金额与订单内商品件数的关系如何?

  2. 客户维度:客单价是多少?客户消费金额与消费件数的关系如何?

1.理解数据

理解业务指标

我们的问题中有许多业务指标,首先需要理解这些指标的含义

  1. 订单维度:

    • 笔单价

      指每笔交易记录(一张水单)对应的平均交易金额,一般以消费金额除以消费笔数来计量

      商品总额/总笔数

    • 连带率

      指顾客每次购物购买了几件商品

      商品总数量/总笔数

    • 订单金额

      订单单价*订单内商品件数

    • 订单内商品数

      同一笔订单的所有商品件数

  2. 客户维度:

    • 客单价

      销售额/客户数

    • 客户消费金额

      按客户分组的总金额

    • 消费件数

      按客户分组统计的总件数

再理解原始数据,数据共541,909条记录,8个字段

原始数据.png

这些字段的含义分别是发票编号、产品货号、描述、件数、发票时间、单价、订单来源国家

数据探索

查看数据集的情况,可以看到 Description约有1.5k个值缺失,CustomerID字段有13.7w个值缺失

数据集情况
# 增加一个总金额字段
data['sumPrice'] = data['Quantity'].astype(float) * data['UnitPrice'].astype(float)

看一下数值数据的概况


数值数据

可以看到商品数量和单价居然有负值,查看一下这些异常值

异常数据

可以看到发票号是C开头的,得知这是cancel取消的意思,也就是说这些订单被取消了

最大被取消的一单有8万件商品,共有10624条这样的数量为负的记录,后续需要将这些数据做数据清洗

2.数据清洗

  • 空值

  • 异常值

前面数据探索发现Description字段和CustomerID字段有部分数据缺失,无法填充值,所以做删除处理

#删除用户ID字段有缺失的记录
data = data[-data['CustomerID'].isnull()]

异常数据包括数量字段为负值以及单价为负的情况,由于缺失的数据相对于总的记录来说较小,所以这里直接丢弃这部分记录。

# 清洗掉数量为负或者单价<=0的记录
df_success = data[data['sumPrice']>0]</pre>

清洗完的数据有397,884条记录。

3. 数据建模

订单维度

  • 笔单价

    笔单价=商品总额/总笔数,每条记录为一笔交易

# 商品总额/总笔数
    price_per_order = sum(df_success['sumPrice'])/df_success.shape[0]</pre>
得到**笔单价22.40元每单**
  • 连带率

    指顾客每次购物购买了几件商品,所以连带率=销售件数/交易次数

APR = df_success.shape[0]/(df_success['InvoiceNo'].nunique())

连带率约为21.47,连带率非常好!顾客平均每次购买21样商品,这应该是个超市批发数据

  • 订单金额

    每一个InvoiceNo对应一个订单,平均每张订单金额为:

price_per_order = sum(df_success['sumPrice'])/(df_success['InvoiceNo'].nunique())

平均每张订单金额为480.87

  • 订单内商品数

    同一笔订单的所有商品件数

n = sum(df_success['Quantity'])/(df_success['InvoiceNo'].nunique())</pre>

平均每个订单278.86件商品。

客户维度:

  • 客单价

    销售额/客户数

price_per_cust = sum(df_success['sumPrice'])/(df_success['CustomerID'].nunique())</pre>

平均每位顾客消费2054.27

  • 客户消费金额

    按客户分组的总金额

  • 消费件数

    按客户分组统计的总件数

    对于客户消费金额和消费件数,使用数据透视表计算每位顾客的消费金额和件数

# 使用数据透视表计算每位顾客金额和件数
    cust_pivot=pd.pivot_table(df_success,index = 'CustomerID', values = ['sumPrice', 'Quantity'],aggfunc=np.sum)</pre>
按客户分组透视

可以看到排名第一的大客户14646订购数量高达19万件

商品维度

  • 按商品货号分组,计算每种商品的售出数量和销售金额

4.数据可视化

  • 绘制客户的总购买数量及总购买金额(按总购买金额排序,这里仅展示前20名)


    顾客.png

可以看到花钱最多的14646顾客,购买数量及购买金额都是最多的,而购买金额排2、3、位的顾客,购买金额和购买数量比值较大,购买的是一些高价值商品

  • 绘制商品的总售出量和总售出金额

    商品.png

可以看出货号为23843的商品卖的钱最多,而23166的销量与23843几乎持平,销售总金额仅有一半,说明它的单价较低,但客户需求量较高,要保证库存

5. 进一步分析

  • 客户贡献度

  • 商品贡献度

  • 商品关联销售

  • 商品销售趋势

......

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • 订单是电商体系的核心,有了订单才有业绩和盈利。 订单中包含商品、优惠、用户、收货信息、支付信息等一系列实时数据。通...
    红豆知南国阅读 10,693评论 2 117
  • 前言:本文数据量来源于网上,是一份CD的消费数据,数据链接会放在文章最后,请需要者自取。本文分析的主要工具为:Py...
    黑哥666阅读 4,131评论 2 7
  • 前言:本文数据量来源于网上,是一份CD的消费数据,数据链接会放在文章最后,请需要者自取。本文分析的主要工具为:Py...
    雅_2f4f阅读 1,764评论 0 7
  • CREATE TABLE IF NOT EXISTS ecs_order_info (order_id mediu...
    cookie口阅读 15,630评论 0 16
  • CD消费分析自己已模仿练习了很多遍,也总结过2篇文章,但任然存在很多问题,主要原因是自己对业务不了解、对panda...
    夜希辰阅读 19,610评论 23 62