在生鲜商超中当日未售出隔日就无法再售。因此商超通常会根据各商品的历史销售和需求情况每天进行补货。蔬菜的定价一般采用成本加成定价方法商超对运损和品相变差的商品通常进行打折销售。可靠的市场需求分析对补货决策和定价决策尤为重要。请根据testcsv 的表单部分数据表头:销售日期扫码销售时间单品编码单品名称分类名称销量千克销售单价元千克销售类型是否打折销售批发价格单品损耗率和实际情况建立数学模型解决以下问
import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression
读取数据
data = pd.read_csv('test.csv')
数据预处理
data['销售日期'] = pd.to_datetime(data['销售日期']) data['扫码销售时间'] = pd.to_datetime(data['扫码销售时间']) data['销量(千克)'] = data['销量(千克)'].astype(float) data['销售单价(元/千克)'] = data['销售单价(元/千克)'].astype(float) data['是否打折销售'] = data['是否打折销售'].map({'是': 1, '否': 0}) data['批发价格'] = data['批发价格'].astype(float) data['单品损耗率'] = data['单品损耗率'].astype(float)
提取需要的特征
features = ['单品编码', '销售日期', '销售单价(元/千克)', '是否打折销售', '批发价格', '单品损耗率'] X = data[features]
提取目标变量
y = data['销量(千克)']
构建模型
model = LinearRegression() model.fit(X, y)
预测补货量和定价策略
n = 10 # 可售单品数量 x = np.zeros(n) # 补货量 p = np.zeros(n) # 定价策略
for i in range(n): x[i] = max(2.5, model.predict([[i, pd.to_datetime('2020-08-01'), 0, 0, 0, 0]])) p[i] = model.predict([[i, pd.to_datetime('2020-08-01'), 0, 0, 0, 0]])
计算商超收益
revenue = np.sum(x * p * (1 - data['单品损耗率']) - x * data['批发价格'])
print("补货量:", x) print("定价策略:", p) print("商超收益:", revenue)
原文地址: https://www.cveoy.top/t/topic/i2hH 著作权归作者所有。请勿转载和采集!