机器学习--库存管理方法

pd.cut()的用法

pd.cut

  • 取值是连续的字段, 切成几段,变成类别型字段
  • bins 怎么切成几段 定义分段的区间
  • labels 切成几段每一段

ABC-XYZ库存管理

  • 清楚 ABC XYZ 在库存管理中的含义
  • 把商品/用户 按照某些字段 做分类这种思想
    • ABC 按照商品销量划分三个类别 划分的依据 二八法则 , 这种思路很常用
    • XYZ 和 ABC交叉 从不同维度对商品/用户 进行细分
      • 考虑的维度更多, 分群粒度可以更小, 运营可以更加精细
  • XYZ 标签 使用变异系数进行划分的

变异系数

  • cov = 标准差/平均值 反应了数据的波动情况 / 离散情况
    • COV 变异系数越小 说明 数据波动越小, 大多数数据与平均值的差较小
    • COV 变异系数越小 说明 数据波动越大, 离散程度越强
  • XYZ 库存管理 就是统计了一年12个月的销量,计算每个SKU 销量的变异系数
    • 变异系数越大 需求越不稳定, 库存管理越困难
    • 变异系数越小, 需求越稳定, 库存管理越容易

ABC-XYZ

  • X 结尾的
    • AX BX CX
    • 需求比较稳定 , 自动补货
  • Y 结尾的
    • 半自动补货
    • 根据ABC的不同
    • AY 需要额外关注
  • Z结尾的
    • 可以采用下单采购
    • 有明显季节性, 节日性商品,根据以往经验提前备货

代码实现过程

# 导入要使用的模块
from datetime import timedelta
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_style("dark")
sns.set()

# 加载交易数据

data1 = pd.read_excel('data2/online_retail_II.xlsx',sheet_name='Year 2009-2010')
data2 = pd.read_excel('data2/online_retail_II.xlsx',sheet_name='Year 2010-2011')

# 拼接数据
data = pd.concat([data1,data2],ignore_index=True)
data.head()

# 把时间变为datetime类型
data['InvoiceDate'] = pd.to_datetime(data['InvoiceDate'])

# 取一月到十二月的数据
df_12m = data[(data['InvoiceDate'] > '2010-01-01') & 
              (data['InvoiceDate'] <= '2010-12-31')]

# 更改列名,方便下面分析,并创建新列提取月份信息

df_12m.columns = ['OrderNo', 'sku', 'Description', 'quantity', 'date_created',
'UnitPrice', 'CustomerID', 'Country']

# assign的作用相当于增加新列
df_12m = df_12m.assign(month = df_12m['date_created'].dt.month)


# 从表中去掉退货的商品
df_12m = df_12m.query('quantity>0 & UnitPrice>0')

# 为了快速了解数据集中的季节性,使用 Seaborn 绘制每月销售量的柱状图

f, ax = plt.subplots(figsize=(20,8))

ax = sns.barplot(x='month',
                 y='quantity',
                 data=df_12m,
                 palette="Blues_d").set_title("Quantity by month",fontsize=15)


# 创建销售收入字段,查看订单价值在一年中的变化情况

df_12m = df_12m.assign(revenue = df_12m['quantity'] * df_12m['UnitPrice'])

# 绘图
f,ax = plt.subplots(figsize=(20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值