加粗样式### 分析流程:
- 1、总体运营指标
总体运营部分,主要关注销售额、售卖比、UV、转化率等指标,其他指标作为辅助指标。销售额用来和预期目标做对比,售卖比用来看商品流转情况。
- 2、从价格区间找出表现不好的产品,进行保留或清仓处理,优化商品结构
- 3、从折扣区间来找出表现不好的产品,进行保留或清仓处理,优化商品结构
- 4、流量布局
分析目的:
评估促销活动的结果,并根据情况优化商品结构,
数据集:
该数据集文件包含三张字表,分别是商品明细表、商品热度情况、用户销售明细表。
import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
1、读取数据
dt1 = pd.read_excel(r'H:\dataset\sales_info.xlsx',sheetname=0)
dt1.rename(columns={
"sale_name":"商品名",
"sale_price":"售卖价",
"tag_price":"吊牌价",
"discout":"折扣率",
"stocks":"库存量",
"stocks_value":"货值",
"cost_price":"成本价",
"profit_rate":"利润率",
"skus":"SKU"},
inplace=True)
dt1.head()
dt2 = pd.read_excel(r'H:\dataset\sales_info.xlsx',sheetname=1)
dt2.rename(columns={
"sale_name":"商品名",
"uvs":"UV数",
"collections":"收藏数",
"carts":"加购物车数"},
inplace=True)
dt2.head()
|
商品名 |
UV数 |
收藏数 |
加购物车数 |
0 |
A001 |
10926 |
48 |
372 |
1 |
A002 |
13124 |
84 |
193 |
2 |
A003 |
25657 |
45 |
173 |
3 |
A004 |
20833 |
5 |
273 |
4 |
A005 |
19371 |
71 |
356 |
dt3 = pd.read_excel(r'H:\dataset\sales_info.xlsx',sheetname=2)
dt3.rename(columns={
"user_id":"用户id",
"buy_date":"购买日期",
"sale_name":"商品名",
"buy_cons":"购买数量",
"buy_price":"购买单价",
"cost_price":"购买金额",
"is_tui":"是否退货",
"tui_cons":"退货件数",
"tui_price":"退货金额"},
inplace=True)
dt3['是否退货']=dt3["是否退货"].map({
"是":1,"否":0})
dt3.head()
|
用户id |
购买日期 |
商品名 |
购买数量 |
购买单价 |
购买金额 |
是否退货 |
退货件数 |
退货金额 |
0 |
1 |
20191111 |
F001 |
1 |
920.0 |
920.0 |
1 |
1 |
920.0 |
1 |
2 |
20191111 |
B007 |
2 |
548.0 |
1096.0 |
0 |
0 |
0.0 |
2 |
2 |
20191111 |
E007 |
1 |
930.0 |
930.0 |
1 |
1 |
930.0 |
3 |
3 |
20191111 |
A004 |
2 |
320.0 |
640.0 |
1 |
2 |
640.0 |
4 |
3 |
20191111 |
H007 |
2 |
750.0 |
1500.0 |
0 |
0 |
0.0 |
2、合并商品信息表和商品热度表数据
dt_product = dt1.merge(dt2,how="left",on="商品名")
dt_product.head()
|
商品名 |
售卖价 |
吊牌价 |
折扣率 |
库存量 |
货值 |
成本价 |
利润率 |
SKU |
UV数 |
收藏数 |
加购物车数 |
0 |
A001 |
15 |
70 |
0.214286 |
501 |
35070 |
14 |
0.066667 |
2 |
10926 |
48 |
372 |
1 |
A002 |
236 |
610 |
0.386885 |
423 |
258030 |
75 |
0.682203 |
1 |
13124 |
84 |
193 |
2 |
A003 |
473 |
1253 |
0.377494 |
415 |
519995 |
394 |
0.167019 |
1 |
25657 |
45 |
173 |
3 |
A004 |
320 |
835 |
0.383234 |
624 |
521040 |
279 |
0.128125 |
2 |
20833 |
5 |
273 |
4 |
A005 |
15 |
82 |
0.182927 |
179 |
14678 |
27 |
-0.800000 |
1 |
19371 |
71 |
356 |
3、合并商品信息表和商品热度表数据和用户销售明细表
product_sales = dt3.groupby("商品名").agg({
"购买数量":"sum",
"购买金额":"sum",
"退货件数":"sum",
"退货金额":"sum",
"购买单价":"mean",
"用户id":pd.Series.nunique}).reset_index()
product_sales.rename(columns={
"购买数量":"商品销售数量",
"购买金额":"商品销售金额",
"是否退货":"商品退货数量",
"退货金额":"商品退货金额",
"购买单价":"商品销售单价",
"用户id":"购买用户数量"},inplace=True)
product_sales.head()
|
商品名 |
商品销售数量 |
商品销售金额 |
退货件数 |
商品退货金额 |
商品销售单价 |
购买用户数量 |
0 |
A001 |
185 |
2775.0 |
59 |
885.0 |
15.0 |
116 |
1 |
A002 |
146 |
34456.0 |
31 |
7316.0 |
236.0 |
87 |
2 |
A003 |
144 |
68112.0 |
31 |
14663.0 |
473.0 |
94 |
3 |
A004 |
172 |
55040.0 |
56 |
17920.0 |
320.0 |
111 |
4 |
A005 |
122 |
1830.0 |
32 |
480.0 |
15.0 |
81 |
dt_product_sales = dt_product.merge(product_sales,how="left",on="商品名")
dt_product_sales.head()
|
商品名 |
售卖价 |
吊牌价 |
折扣率 |
库存量 |
货值 |
成本价 |
利润率 |
SKU |
UV数 |
收藏数 |
加购物车数 |
商品销售数量 |
商品销售金额 |
退货件数 |
商品退货金额 |
商品销售单价 |
购买用户数量 |
0 |
A001 |
15 |
70 |
0.214286 |
501 |
35070 |
14 |
0.066667 |
2 |
10926 |
48 |
372 |
185 |
2775.0 |
59 |
885.0 |
15.0 |
116 |
1 |
A002 |
236 |
610 |
0.386885 |
423 |
258030 |
75 |
0.682203 |
1 |
13124 |
84 |
193 |
146 |
34456.0 |
31 |
7316.0 |
236.0 |
87 |
2 |
A003 |
473 |
1253 |
0.377494 |
415 |
519995 |
394 |
0.167019 |
1 |
25657 |
45 |
173 |
144 |
68112.0 |
31 |
14663.0 |
473.0 |
94 |
3 |
A004 |
320 |
835 |
0.383234 |
624 |
521040 |
279 |
0.128125 |
2 |
20833 |
5 |
273 |
172 |
55040.0 |
56 |
17920.0 |
320.0 |
111 |
4 |
A005 |
15 |
82 |
0.182927 |
179 |
14678 |
27 |
-0.800000 |
1 |
19371 |
71 |
356 |
122 |
1830.0 |
32 |
480.0 |
15.0 |
81 |
一、总体运营情况评价
总体运营部分,主要关注销售额、售卖比、UV、转化率等指标,其他指标作为辅助指标。销售额用来和预期目标做对比,售卖比用来看商品流转情况。
- GMV:销售额,在唯品会里称为到手价。
- 实销:GMV – 拒退金额。
- 销量:累计销售量(含拒退)。
- 客单价:GMV / 客户数,客单价与毛利率息息相关,一般客单价越高,毛利率越高。
- UV:商品所在页面的独立访问数。
- 转化率:客户数 / UV。
- 折扣率:GMV / 吊牌总额(吊牌总额 = 吊牌价 * 销量),在日常工作中,吊牌额是必不可少的。
- 备货值:吊牌价 * 库存数。
- 售卖比:又称售罄率,GMV / 备货值。
- 收藏数:收藏某款商品的用户数量。
- 加购数:加购物车人数。
- SKU数:促销活动中的SKU计数(一般指货号)。
- SPU数:促销活动中的SPU计数(一般指款号)。
- 拒退量:拒收和退货的总数量。
- 拒退额:拒收和退货的总金额。
gmv = dt_product_sales["商品销售金额"].sum()
gmv
3747167.0
return_sales = dt_product_sales["商品退货金额"].sum()
return_money = gmv - return_sales
return_money
2607587.0
all_sales = dt_product_sales["商品销售数量"].sum()
all_sales
12017
custom_price = gmv / dt_product_sales["购买用户数量"].sum()
custom_price
493.56783456269756
uv_cons = dt_product_sales["UV数"].sum()
uv_cons
1176103
uv_rate = dt_product_sales["购买用户数量"].sum() / dt_product_sales["UV数"].sum()
uv_rate
0.006455216932530569
tags_sales = np.sum(dt_product_sales["吊牌价"] * dt_product_sales["商品销售数量"])
discount_rate= gmv / tags_sales
discount_rate
0.4179229541452886
goods_value = dt_product_sales["货值"].sum