在生鲜商超中当日未售出隔日就无法再售。因此商超通常会根据各商品的历史销售和需求情况每天进行补货。蔬菜的定价一般采用成本加成定价方法商超对运损和品相变差的商品通常进行打折销售。可靠的市场需求分析对补货决策和定价决策尤为重要。请根据testcsv 的表单部分数据:销售日期扫码销售时间单品编码单品名称分类名称销量千克销售单价元千克销售类型是否打折销售批发价格单品损耗率和实际情况建立数学模型解决以下问题:
import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression
读取数据
data = pd.read_csv('test.csv')
筛选出蔬菜类商品
vegetables = data[data['分类名称'] == '蔬菜']
根据销售日期筛选出2020年7月1-2日的数据
sales_data = vegetables[(vegetables['销售日期'] >= '2020-07-01') & (vegetables['销售日期'] <= '2020-07-02')]
计算每个单品的历史销售量和平均销售价格
sales_volume = sales_data.groupby('单品编码')['销量(千克)'].sum() average_price = sales_data.groupby('单品编码')['销售单价(元/千克)'].mean()
构建特征矩阵和目标向量
X = np.array([sales_volume.values]).T y = average_price.values
使用线性回归模型拟合数据
model = LinearRegression() model.fit(X, y)
预测8月1日的每个单品补货量
predicted_sales_volume = model.predict(np.array([sales_volume.values]).T)
根据补货量和定价策略计算商超收益
revenue = 0 for i in range(len(predicted_sales_volume)): replenishment = max(predicted_sales_volume[i], 2.5) price = average_price[i] loss_rate = vegetables[vegetables['单品编码'] == sales_volume.index[i]]['单品损耗率'].values[0] wholesale_price = vegetables[vegetables['单品编码'] == sales_volume.index[i]]['批发价格'].values[0] revenue += replenishment * price * (1 - loss_rate) - replenishment * wholesale_price
print("商超收益:", revenue)
原文地址: https://www.cveoy.top/t/topic/i2g9 著作权归作者所有。请勿转载和采集!