分析流程:
- 1、总体运营指标
- 2、从价格区间找出表现不好的产品,优化商品结构
- 3、从折扣区间来找出表现不好的产品,优化商品结构
此次分析的目标:
评估每次促销活动的结果,并根据情况优化商品结构,以便让自己的商品卖的更好。
import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
1、读取各部分数据集
import sqlalchemy
#已略去数据源信息
engine = sqlalchemy.create_engine('mysql+pymysql://XX:XX!1321@localhost:3306/XXhd')
# 读取数据
# 商品信息表
sql_cmd = "select * from sales_info1"
# 执行sql语句,获取数据
dt1 = pd.read_sql(sql=sql_cmd, con=engine)
dt1.rename(columns={
"sale_name":"商品名",
"sale_price":"售卖价",
"tag_price":"吊牌价",
"discout":"折扣率",
"stocks":"库存量",
"stocks_value":"货值",
"cost_price":"成本价",
"profit_rate":"利润率",
"skus":"SKU"},
inplace=True)
dt1.head()
# dt1.head().to_clipboard(excel=True)
# 读取数据
# 商品信息表
sql_cmd = "select * from sales_info2"
# 执行sql语句,获取数据
dt2 = pd.read_sql(sql=sql_cmd, con=engine)
dt2.rename(columns={
"sale_name":"商品名",
"uvs":"UV数",
"collections":"收藏数",
"carts":"加购物车数"},
inplace=True)
dt2.head()
读取数据
# 商品信息表
sql_cmd = "select * from sales_info3"
# 执行sql语句,获取数据
dt3 = pd.read_sql(sql=sql_cmd, con=engine)
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()
2、合并商品信息表和商品热度表数据
# 把商品信息加上该商品的热度信息
# 得到基础的商品信息,以及商品的一些热度信息:加购物车数量,收藏数量、uv数
dt_product = dt1.merge(dt2,how="left",on="商品名")
dt_product.head()
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()
# 合并商品信息
dt_product_sales = dt_product.merge(product_sales,how="left",on="商品名")
dt_product_sales.head()
一、总体运营情况评价
总体运营部分,主要关注销售额、售卖比、UV、转化率等指标,其他指标作为辅助指标。销售额用来和预期目标做对比