2023年デジタルモデリング全国コンテスト質問C:野菜商品の自動価格設定と補充決定 - 革新的な複数のアイデアの完全版詳細説明(コードを含む)

質問の簡単なコメント: 質問 C は 3 つの質問の中で最も簡単なようで、より包括的な論点を検討し、データ分析に重点を置いています。予測モデルや運用最適化(線形計画法)が含まれており、オープンクエスチョンもあり、初心者が始めるのに適しており、開発の余地がたくさんあります。

トピックの分析とアイデア:

背景:生鮮食品スーパーマーケットでは、一般的な野菜商品は賞味期限が比較的短く、販売期間が長くなるにつれて品質が劣化してしまうため、ほとんどの品種がその日のうちに売れないと翌日には再販できません。したがって、スーパーマーケットは通常、各製品の過去の売上と需要に基づいて毎日補充します。

スーパーマーケットでは、産地の異なる多くの種類の野菜が販売されており、野菜の仕入れ取引時間は通常午前3時から4時の間であるため、販売者は具体的な品目や仕入れ価格を正確に把握せずに作業を行う必要があります。その日の野菜カテゴリーごとに。野菜の価格設定は「原価プラス価格」方式が一般的で、スーパーでは輸送中に傷がついたり、品質が劣化した商品を値引きするのが一般的だ。信頼性の高い市場需要分析は、補充の決定や価格設定の決定において特に重要です。需要側から見ると、野菜商品の販売量と時期には一定の相関関係が見られることが多く、供給側から見ると、4 月から 10 月にかけては野菜の供給品種が比較的豊富であり、スーパーマーケットの販売スペースの制限により、適切な販売期間が確保される。営業 組み合わせが非常に重要になります。

付録 1 には、あるスーパーマーケットで流通している 6 つの野菜カテゴリーの商品情報が記載されています。

添付資料 2 と添付資料 3 はそれぞれ、2020 年 7 月 1 日から 2023 年 6 月 30 日までのスーパーマーケットにおける各商品の販売詳細と卸売価格に関する関連データを提供します。

付録 4 に、各商品の最近の損失率データを示します。

質問 1: 野菜商品の異なるカテゴリまたは単一製品の間には、一定の相関関係がある可能性がありますが、さまざまな野菜カテゴリおよび単一製品の販売量の分布パターンと相互関係を分析してください。

アイデアの要約:この質問では、添付資料 1 および 2 に示されているデータを使用してデータ分析を行い、各カテゴリーの売上高と各単一製品の売上高の相関係数を計算して関連関係を特定し、合理的な回帰を実行する必要あります。特定の相互関係をさらに決定するためにフィッティングします。同時に、質問は豊富な視覚化操作 (ヒート マップ、頻度図、分布図、回帰フィッティング図など)を実行できます

アイデアの詳細な説明:まず、予備的なデータ表示のために、付録 1 と付録 2 で関連する変数を抽出します: (コードは 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:

大量のデータを含むデータフレーム テーブルの場合は、最初に空の値のチェックを実行する必要があります。

print(np.any(df1.isnull()))  # 只要有一个空值便会返回True,否则返回False
print(np.any(df2.isnull()))  # 只要有一个空值便会返回True,否则返回False    

出力は次のとおりです。

偽、偽

したがって、欠損値がなく、直接分析を実行できます。

・まず、付録2のデータをもとに、各商品単体の販売データの分布パターンを分析します。

データセットは各単一製品の詳細データであるため、同じ単一製品とマージする必要があります。

single_item=df2['单品编码'].unique().tolist() #记录不重复的单品编码
df_singlesales=pd.DataFrame(columns=['单品编码','销量'])#创建新的空dataframe
for item in single_item:
    sales=df2[df2['单品编码']==item]['销量(千克)'].sum()
    df_singlesales.loc[len(df_singlesales)] = [item, sales]
print(df_singlesales)   

各単一製品の売上分布を直接視覚化します。

データセットの数が膨大なため、データを直接統計分析することは困難ですが、売上列データのデータ範囲を合理的な数値グループにグループ化し、各区間の単一製品の数を統計することができます売上データの分布ルールをまとめます。

次に、付録 1 に示されているカテゴリに対して複合分析を実行します。

・個々の商品やカテゴリーごとの売上高の分布パターンを探った上で、それらの相互関係も分析する必要がある。

さらに重要なのは、6 つのカテゴリの売上データ間の相関関係です。データの相関関係を分析したい場合は、関連する時系列を確立する必要があります。

質問 2: スーパーマーケットがカテゴリーごとに補充計画を立てていることを考慮して、各野菜カテゴリーの総販売数量と原価プラス価格の関係を分析し、各野菜カテゴリーの翌週 (2023 年 7 月 1 日~7 日) の合計を教えてください。毎日の補充量と価格戦略により、スーパーマーケットの利益が最大化されます。

アイデアの要約:この質問では、付録 2 と付録 3 に示されているデータをデータ分析に使用し、同じカテゴリおよび同じ日付の販売データを結合し、販売数量と価格設定 (マークアップ率) の関係を分析する必要があります。分析結果に基づくカテゴリ。フィッティングに適切なモデル (線形、二次モデルなど) を選択します。カテゴリが異なれば、フィッティング関係も異なることに注意してください具体的な販売量と原価と価格の関係を取得した後、過去の販売データに基づいて次週の販売量を予測し(予測方法は任意の時系列予測方法を使用できます)、それに基づいて式を立てる必要があります。予測された販売数量と取得された販売数量の価格関係 最大の利益を得るために適切な価格戦略。

考え方の詳細な説明: コストプラス価格設定方法の公式は、 価格設定 = 基本コスト × (1 + マークアップ率)...を指します。

散布図

LSTM予測

質問 3: 野菜製品の販売スペースは限られているため、スーパーマーケットは、単品商品の補充計画をさらに開発したいと考えています。販売可能な単品商品の総数は 27 ~ 33 個に制限され、各商品の注文数量は制限されます 。単一の製品は 2.5 kg の最小表示数量を満たしている必要があります  2023 年 6 月 24 日から 30 日までに販売可能な品種 に基づいて、さまざまな種類の市場需要に応えながら、スーパーマーケットや店舗の利益を最大化するために、7 月 1 日の単一製品の補充量と価格戦略が示されています。野菜商品。

アイデアの要約:この質問では、最大の利点を得るために、与えられた制約の下で非線形計画モデルを構築する必要があります。問 3 ではさまざまな制約が与えられ、問 2 で得られたカテゴリごとの販売数量と値入率の関係関数が、与えられた価格設定戦略における実際の販売数量の計算関数として使用されます。

まず、2023 年 6 月 24 日から 6 月 30 日まで販売できる商品の種類を見つけます。これは、「利用可能なセット」として記録されています。

import pandas as pdimport numpy as npdf2=pd.read_excel('Attachment 2.xlsx')C_available=df2[(df2['販売日']>='2023-06-24')&(df2['販売日'] <='2023-06-30')&(df2['販売タイプ'])]['単一商品コード'].unique().tolist() #6.24-6.30 利用可能な品種 n=len(C_available)# 数値販売可能なアイテムの

ここで、n はセット内の要素の数、つまり販売できる製品タイプの数です。

結果は 49 ですが、実際に必要なのは販売総数m∈[27,33] (1)を制限することです。

各単品商品の購入数量をXi、i=1,2,3,...mとします。

Xi ≧ 2.5 (2) 利用可能な各項目 IDi ∈Cの数(3)

(1) (2) (3) がこの質問の制約を構成します

6 種類の単品商品に対応する各単品商品の値上げ率 αi を仮定すると、値上げ率と最大販売数量の関係は次のようになります。

F1(s)=αモザイク

F2(s)=α カリフラワー

F3(s)=α水根

F4(s)=αナス科

F5(s)=αピーマン

F6(s)=α食用菌

実際の売上高を Si とすると、Si の計算ルールは次のようになります。

コード:......

質問 4: 野菜商品の補充と価格決定をより適切に行うために、スーパーマーケットは他にどのような関連データを収集する必要がありますか? これらのデータは上記の問題の解決にどのように役立ちますか? あなたの意見と理由を教えてください。

アイデアの要約:この質問では、問題をさらに調査し、関連データを補足することで補充および価格戦略を改善する必要があります。ここでは、損失率 (%) や割引など、以前の問題解決では使用されなかったデータに焦点を当てる必要があります。第二に、質問で言及されている製品スペースは、実際の在庫制限情報を示していません(質問 3 では、単一製品の限られた数のみが示されており、具体的な手頃な在庫スペースは示されていません)。

質問 1 ~ 3 の計算プロセスから始めて、各計算プロセスで他の利用可能なデータを使用できるかどうかを確認できます。

完全なアイデアコードが整理されました。ウェブサイトのリンクを参照してください。失敗した場合は、プライベートメッセージを送信してください~

リンク: https://pan.baidu.com/s/1_Rmh1UZS6uuM_ETvMVC5EA 抽出コード: n64s

おすすめ

転載: blog.csdn.net/lichensun/article/details/132767687