2020年客户夏季品类购买路径分析

一、分析背景

对于电商公司来说,获取流量成本越来越高,而对老客户进行引流则可以很大程度上节约成本。对老客户的引流,一般可以分为同品类商品之间的复购不同品类商品之间的转化。经过多年的持续经营,公司目前已经打造了两个自有的小品牌,并积累了一定的客户量。分析品牌下的爆品对其他商品的引流能力,能为业务带来新的业务增长点。

二、分析目的与结论

1.分析目的

目前公司的商品品类,主要分为3c数码、生活品类和汽车用品。生活品类又分为夏季类产品和冬季类产品。随着夏季临近,分析2020年客户夏季品类(电风扇、灭蚊拍、电热蚊香和灭蚊灯)的购买路径,挖掘品类之间的引流能力,可以为新一年的夏季品类的营销带来新的策略。

2.分析结论

  1. 2020年夏季品类中,电风扇和灭蚊灯之间的相互转化最高,占比达43.07%。在2020年夏季品类中,电风扇和灭蚊灯为销量最高的两个品类,可以探寻客户在这两个品类之间购买转化的原因。
  2. 2020年转化路径中,有16.06%电热蚊香转化到了灭蚊灯。两款都是灭蚊产品,但灭蚊效果和方式不同,客户可能在不同场景使用这两个产品。

三、项目准备与分析过程

1.数据来源与字段说明

数据来源为公司内部2020年的天猫销售数据。sales_detail表存储订单的明细,product_dimension表为产品信息表,两个表可以通过sku代码sku_code键值联结。

2.产品转化路径定义

对于客户A,假设其在2020年先后产生了两笔订单:order1和order2,并且order1中有产品product1和product2,order2中有产品product3和product4,那么对于客户A的转化路径有如下四个转化路径:
在这里插入图片描述

3.分析思路和实现方法

分析思路:通过2020年天猫销售数据,针对每一个客户,统计其先后订单之间的所有产品的转化路径,以找到典型的产品转化路径。
实现方法

  1. 利用python连接数据库,并从数据库中导入数据
  2. 将获取的数据按客户手机号(phone)、付款时间(paid_date)进行排序
  3. 构建存储客户对应订单信息的字典customer_order,其中订单按时间排序
  4. 构建存储订单包含的客户购买商品品类信息order_category,订单内对商品品类进行了去重
  5. 循环获取customer_order的键和值,也就是客户手机号和其对应的按时间排序的所有订单号,然后对所有前后顺序的两个订单号,获取所有品类之间的转化路径。

4.分析过程

  • 语言:python
  • IDE: jupyter notebook
  • 库:pandas、numpy、pymssql、matplotlib

1)连接数据库并获取数据
连接数据库,参数涉及到隐私,这里就隐去了,大家可以根据自己的数据库来填写。因为涉及到公司内部数据,中间分析的结果,也就不展示了

#导入需要的库   
import pandas as pd
import numpy as np
import pymssql
import matplotlib.pyplot as plt
#连接数据库
db=pymssql.connect(server='主机地址',user='用户名',password='密码',database='数据库名称')
cursor=db.cursor()
#sql语句
sql="""
SELECT Sales.phone,Sales.order_num,Product.lv3_category,Sales.paid_date,Sales.qty_sold,Sales.amount_sold
FROM sales_detial AS Sales
LEFT JOIN  product_dimension AS Product
ON Sales.sku_code=Product.sku_code
WHERE  Sales.paid_date BETWEEN '20200101' AND '20201231'
      AND Sales.platform='天猫' 
      AND (Product.fourth='电风扇' OR Product.fourth='灭蚊拍' OR Product.fourth='电热蚊香(蚊香液)' OR Product.fourth='灭蚊灯(诱蚊剂)')
"""
#执行sql语句,并获取数据
cursor.execute(sql)
cds=cursor.fetchall()
#将获取的数据结果输出为dataframe
df_data=pd.DataFrame(cds,columns=['phone','order_num','lv3_category','paid_date','qty_sold','amount_sold'])

2)数据初步整理(检查、排序)

#初步查看所获取数据的信息
df_data.head()
#查看数据整体情况
df_data.info()
#按phone、paid_date、order_num排序
df=df_data.sort_values(by=['phone','paid_date','order_num'])
df.reset_index(inplace=True)   #排序不会改变原来数据的索引,这里要重置索引

3)构建customer_order和order_category字典
在整理好数据后,可以分别构建存储顾客订单号的字典customer_order和存储订单号中的商品信息的字典order_category。

#按顾客保存订单信息
customer_order={}
for n in range(len(df['phone'])):
    customer=df['phone'][n]
    if customer in customer_order:
        if df['order_num'][n] not in customer_order[customer]:
            customer_order[customer].append(df['order_num'][n])
    else:
        customer_order[customer]=[df['order_num'][n]]
        
#按订单,保存订单里的产品信息(lv3_category)
order_category={}
for n in range(len(df['lv3_category'])):
    order_num=df['order_num'][n]
    if order_num in order_category:
        order_category[order_num].append(df['lv3_category'][n])
    else:
        order_category[order_num]=[df['lv3_category'][n]]

4)获取每个客户前后两个订单间的购买路径:

#获取购买路径
purchase_set=[]
for phone in df['phone'].unique():
    order_num=customer_order[phone]
    for n in range(len(order_num)-1):
        for i in range(n+1,len(order_num)):
            first_order_product=set(order_category[order_num[n]])
            second_order_product=set(order_category[order_num[i]])
            for first_pro in first_order_product:
                for second_pro in second_order_product:
                    purchase_set.append((phone,first_pro,second_pro))
#将结果保存为dataframe
df_set=pd.DataFrame(purchase_set,columns=['phone','first_purchase','second_purchase'])

5)对转化路径结果进行可视化分析:

  1. 由于只看转化路径,所以在结果里将复购的情况去除,包括主配件之间的复购。实现方法是构建判断转化路径是否为复购情况的列,后续可以根据这一列的值进行筛选。
#构建'转化路径'列,并列出复购组合
df_set['转化路径']=df_set['first_purchase']+'-'+df_set['second_purchase'] #增加转化路径一列
repurchase=['风扇-风扇','灭蚊拍-灭蚊拍','电热蚊香-电热蚊香','灭蚊灯-灭蚊灯','蚊香液-蚊香液','诱蚊剂-诱蚊剂','电热蚊香-蚊香液','蚊香液-电热蚊香','灭蚊灯-诱蚊剂','诱蚊剂-灭蚊灯'] #列出转化路径未复购的情况

#增加"是否复购"一列
repurchase_ornot=[]
for value in df_set['转化路径']:
    if value in repurchase:
        repurchase_ornot.append(1)
    else:
        repurchase_ornot.append(0)
df_set['是否复购']=repurchase_ornot
  1. 对转化路径进行可视化分析。首先对转化路径进行汇总,然后可视化汇总后结果,以分析2020年夏季品类之间的购买路径。
#对转化路径进行透视汇总
set_groupby=df_set.query('是否复购==0').groupby('转化路径').count().sort_values(by='first_purchase',ascending=False)
set_groupby['占比']=set_groupby['first_purchase']/set_groupby['first_purchase'].sum()
#对汇总后的结果绘图
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False
fig=plt.figure(figsize=(10, 5))
ax1 = fig.add_subplot(1, 2, 1)
ax1.bar(a['first_purchase'][:10].index,a['first_purchase'][:10].values)
plt.xticks(rotation=80)
plt.title('夏季品类top10购买路径的订单数',fontsize=15)
ax2 = fig.add_subplot(1, 2, 2)
ax2.bar(a['占比'][:10].index,a['占比'][:10].values)
plt.xticks(rotation=80)
plt.title('夏季品类top10购买路径的订单数占比',fontsize=15)

在这里插入图片描述
从2020年夏季品类之间的转化路径来看,电风扇和灭蚊灯之间的转化最为频繁,占比达43.07%。另外电热蚊香到灭蚊灯之间的转化占比达16.06%,由于两款产品都是灭蚊类的产品,这需要特别注意。

四、结论与建议

  1. 对于2020年夏季品类之间的转化路径,有43.07%为电风扇和灭蚊灯之间的转化。由于电风扇和灭蚊等是公司内销量最好的两款产品,可以通过电话访谈的形式,定位客户在这两个产品之间购买转化的原因,以挖掘2021年夏季类产品新的引流策略。
  2. 在2020年夏季品类之间的转化路径中,电热蚊香到灭蚊灯之间的转化占比达16.06%。电热蚊香和灭蚊灯都是灭蚊类产品,它们之间的不同点在灭蚊方式和外观设计上。客户在购买电热蚊香后,会购买灭蚊灯,可能是使用在不同场景下。可以通过电话访谈的形式来定位具体原因,以拓展2021年夏季品类的销售策略。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值