邯鄲58同城網(wǎng)秦皇島網(wǎng)站seo
題目簡評:看下來C題是三道題目里簡單一些的,考察的點比較綜合,偏數(shù)據(jù)分析。涉及預(yù)測模型和運籌優(yōu)化(線性規(guī)劃),還設(shè)了一問開放型問題,適合新手入門,發(fā)揮空間大。
題目分析與思路:
背景:在生鮮商超中,一般蔬菜類商品的保鮮期都比較短,且品相隨銷售時間的增加而變差, 大部分品種如當(dāng)日未售出,隔日就無法再售。因此,商超通常會根據(jù)各商品的歷史銷售和需求情況每天進(jìn)行補(bǔ)貨。
由于商超銷售的蔬菜品種眾多、產(chǎn)地不盡相同,而蔬菜的進(jìn)貨交易時間通常在凌3:00-4:00,為此商家須在不確切知道具體單品和進(jìn)貨價格的情況下,做出當(dāng)日各蔬菜品類的補(bǔ)貨決策。蔬菜的定價一般采用“成本加成定價”方法,商超對運損和品相變差的商品通常進(jìn)行打折銷售??煽康氖袌鲂枨蠓治?#xff0c;對補(bǔ)貨決策和定價決策尤為重要。從需求側(cè)來看,蔬菜類商品的銷售量與時間往往存在一定的關(guān)聯(lián)關(guān)系;從供給側(cè)來看,蔬菜的供應(yīng)品種在 4 月至 10月較為豐富,商超銷售空間的限制使得合理的銷售組合變得極為重要。
附件 1 給出了某商超經(jīng)銷的 6 個蔬菜品類的商品信息;
附件 2 和附件 3 分別給出了該商超 2020 年 7 月 1 日至 2023 年 6 月 30 日各商品的銷售流水明細(xì)與批發(fā)價格的相關(guān)數(shù)據(jù);
附件 4 給出了各商品近期的損耗率數(shù)據(jù)。
問題一:蔬菜類商品不同品類或不同單品之間可能存在一定的關(guān)聯(lián)關(guān)系,請分析蔬菜各品類及單品銷售量的分布規(guī)律及相互關(guān)系。
思路概要:該問需要我們利用附件1和附件2中給出的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,計算各品類銷量以及各單品銷量的相關(guān)系數(shù)以判斷相關(guān)關(guān)系,進(jìn)行合理的回歸擬合以進(jìn)一步判斷具體的相互關(guān)系。同時該問可以進(jìn)行豐富的可視化操作(如熱力圖、頻率圖、分布圖、回歸擬合圖等)。
思路詳解:首先提取附件1附件2中的相關(guān)變量進(jìn)行初步的數(shù)據(jù)查看:(代碼使用python,軟件為Jupiter)
import pandas as pd
import numpy as np
df1=pd.read_excel('附件1.xlsx')
df2=pd.read_excel('附件2.xlsx')
print(df2)
print(df2)
Df1:
Df2:
對于海量數(shù)據(jù)的dataframe表格,需要首先進(jìn)行空白值檢查。
print(np.any(df1.isnull())) # 只要有一個空值便會返回True,否則返回False
print(np.any(df2.isnull())) # 只要有一個空值便會返回True,否則返回False
輸出結(jié)果為:
False,False
故不存在缺失值,可以直接進(jìn)行分析。
·首先針對附件2的數(shù)據(jù),分析各單品的銷售量數(shù)據(jù)分布規(guī)律。
由于數(shù)據(jù)集為各單品的明細(xì)數(shù)據(jù),需要進(jìn)行同單品合并:
single_item=df2['單品編碼'].unique().tolist() #記錄不重復(fù)的單品編碼
df_singlesales=pd.DataFrame(columns=['單品編碼','銷量'])#創(chuàng)建新的空dataframe
for item in single_item:sales=df2[df2['單品編碼']==item]['銷量(千克)'].sum()df_singlesales.loc[len(df_singlesales)] = [item, sales]
print(df_singlesales)
直接對各個單品的銷量分布進(jìn)行可視化:
于數(shù)據(jù)集的數(shù)量巨大,難以直接進(jìn)行數(shù)據(jù)統(tǒng)計分析規(guī)律,不妨針對銷量列數(shù)據(jù)的數(shù)據(jù)范圍進(jìn)行合理的數(shù)值分組,針對每個區(qū)間的單品數(shù)目進(jìn)行統(tǒng)計,以歸納銷售數(shù)據(jù)的分布規(guī)律。
接著針對附件1給出的品類進(jìn)行合并分析:
·在探究完各單品及品類銷售量的分布規(guī)律之后,還需要分析之間的相互關(guān)系。
比較重要的是6個品類的銷售數(shù)據(jù)相關(guān)關(guān)系。想要分析數(shù)據(jù)相關(guān)關(guān)系,需要建立相關(guān)的時間序列。
問題2:考慮商超以品類為單位做補(bǔ)貨計劃,請分析各蔬菜品類的銷售總量與成本加成定價的關(guān)系,并給出各蔬菜品類未來一周(2023 年 7 月 1-7 日)的日補(bǔ)貨總量和定價策略,使得商超收益最大。
思路概要:該問需要我們利用附件2和附件3中給出的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,合并同品類以及同日期的銷售數(shù)據(jù),并分析品類內(nèi)銷量與定價(加成率)的關(guān)系,根據(jù)分析結(jié)果選擇適當(dāng)?shù)哪P?#xff08;線性、二次等)進(jìn)行擬合,注意不同品類應(yīng)存在不同的擬合關(guān)系。在得到具體的銷量與成本加成定價關(guān)系之后,需要根據(jù)歷史銷售流水?dāng)?shù)據(jù)預(yù)測出未來一周的銷量(預(yù)測方法可以采用任意的時間序列預(yù)測方法),并根據(jù)預(yù)測的銷量和得到的銷量定價關(guān)系制定合適的定價策略,獲得最大收益。
思路詳解:成本加成定價法公式是指:?定價=基本成本×(1+加成率)......
散點圖
LSTM預(yù)測
問題三:因蔬菜類商品的銷售空間有限,商超希望進(jìn)一步制定單品的補(bǔ)貨計劃,要求可售單品總數(shù)控制在?27-33 個,且各單品訂購量滿足最小陳列量?2.5 千克的要求。根據(jù)?2023年 6 月 24-30 日的可售品種,給出?7 月 1 日的單品補(bǔ)貨量和定價策略,在盡量滿足市場對各品類蔬菜商品需求的前提下,使得商超收益最大。
思路概要:該問需要我們在給定的各項約束限制下,構(gòu)建非線性規(guī)劃模型,求取最大收益。其中問題三給出了各項約束,問題二中得到的各品類銷量與加成率關(guān)系函數(shù)作為給定定價策略下的實際銷量計算函數(shù)。
首先求出2023年6.24-6.30的可銷售商品種類,記為集合Cavailable:
import pandas as pdimport numpy as npdf2=pd.read_excel('附件2.xlsx')C_available=df2[(df2['銷售日期']>='2023-06-24')&(df2['銷售日期']<='2023-06-30')&(df2['銷售類型'])]['單品編碼'].unique().tolist() #6.24-6.30可銷售品種n=len(C_available)#可銷售單品數(shù)目 |
其中n為集合的元素數(shù)目,也即可銷售的商品種類個數(shù)。
求得為49,而實際需要限制出售總個數(shù)m∈[27,33] (1)。
設(shè)每個單品進(jìn)貨量為Xi,i=1,2,3,...m
有Xi≥2.5(2) 每個單品的編號IDi∈Cavailable (3)
(1)(2)(3)構(gòu)成了本題的約束條件
設(shè)每個單品的 加成率為αi,則對應(yīng)單品的六個種類,加成率與最大銷量的關(guān)系:
F1(s)=α 花葉類
F2(s)=α 花菜類
F3(s)=α 水生根厥
F4(s )=α 茄類
F5(s)=α 辣椒類
F6(s)=α 食用菌
設(shè)實際銷量為Si,則Si的計算規(guī)則 如下:
代碼:......
問題四:為了更好地制定蔬菜商品的補(bǔ)貨和定價決策,商超還需要采集哪些相關(guān)數(shù)據(jù),這些數(shù)據(jù)對解決上述問題有何幫助,請給出你們的意見和理由。
思路概要:該問需要我們進(jìn)一步探討問題,通過補(bǔ)充相關(guān)數(shù)據(jù)的方法來使得補(bǔ)貨與定價策略更加完善。這里需要重點考慮前述解題中沒有使用到的數(shù)據(jù),如損耗率(%)以及打折的情況。其次,題目中提到的商品空間也并沒有給出實際的庫存限制信息(問題3只給出了限制的單品數(shù)目,并沒有給出具體的可承受庫存空間)。
可以從問題1~3的計算過程入手,查看每個計算過程是否還可以利用其他的可獲得的數(shù)據(jù)。
完整思路代碼已整理好,見網(wǎng)pan鏈接,如失效請私信~
鏈接:https://pan.baidu.com/s/1_Rmh1UZS6uuM_ETvMVC5EA 提取碼:n64s