今まで行ってきた在庫シミュレーションでは、2か月分の需要データから平均と標準偏差を求め、その値から安全在庫と需要予測在庫を計算して固定していました。その固定した安全在庫と需要予測在庫を足して在庫補充目標量を決め、その後2か月間はその在庫補充目標量を目指して発注量を決めることによって、適正在庫を維持するシミュレーションを行っていました。下図のように、1~2月の需要データから在庫補充目標量を決め、それを3~4月のシミュレーションに使っていたわけです。まとめ◆仕事や勉強の息抜きに。季節変動を補正しないと欠品や過剰在庫になるこのようにすると、年間を通して需要傾向が安定していて変わらない商品だといいのですが、季節変動のある商品だと欠品や過剰在庫になるリスクがあります。使い捨てカイロは1~2月はよく売れるので、需要の平均値が大きくなります。すると需要予測在庫が大きく算出されますので、3~4月の在庫補充目標量も大きくなります。その結果、3~4月は実際の需要に対して多めに発注して過剰在庫になるリスクがあります。ならないようにするためには、在庫補充目標量の計算に使う平均と標準偏差を逐次更新してやる必要があります。今回はこの機能を、前回までにエクセルマクロで自作した在庫シミュレーションソフトに付加していきます。VBAこのページの最後でサンプルファイルを無料ダウンロードできます。下図のような需要データが与えられたとします。一日単位で見ると変動がかなり大きく見えますが、全体としてのトレンドを掴むにはどのようにしたらよいでしょうか。このような目的で使われるのが移動平均です。毎日直近5日間の平均を計算してグラフにすると下図のようになります。日々のデータのばらつきが均されました。次に直近10日間の平均を毎日とってつなげてみましょう。同じように20日、30日の移動平均をとってみましょう。このように平均を取る日数を増やすほど移動平均のグラフは平らになっていきます。平らになって滑らかになるほどいいように思えますが、あまり滑らかにしすぎると重要なトレンドまで消してしまう可能性がありますので、ほどほどにしないといけません。今回は30日で移動平均を取ることにします。計算して更新するということです。エクセルVBAの変更箇所それではこのロジックを前回作成したエクセルマクロVBAのプログラムに組み入れていきましょう。前回作成したプログラムでは平均と標準偏差を下記のようにエクセルシート上で計算していました。平均と標準偏差を取る期間が固定されていればこれでよいのですが、移動平均のように毎日データ期間が変わる場合にはマクロでプログラムする必要があります。具体的にはFor~Next文で毎日発注量を計算しますので、その時についでに30日移動平均を計算して上のシートに書き込むことにします。クリックすると拡大します上のプログラムの赤枠で囲んだ部分が今回追加したプログラムです。最初の文がConditionシートの(6,3)セルに平均値を、(7,3)セルに標準偏差を書き込んでいます。それぞれI-1、つまり1日前からI-31,つまり31日前までの需要データからAverage関数、及びStdev関数で計算しています。Iは48行目(2月15日のデータが入っている)から需要データの入っている最後の行まで変化しますので、I=48の時、つまり2月15日の発注量を計算する時には1月15日から2月14日までの需要データから平均と標準偏差を求めます。次にI=49の時、つまり2月16日の発注量を計算する時には1月16日から2月15日までの需要データから平均と標準偏差を求めます。このように毎日、直近1か月間の需要データをもとに発注量を計算しますので、需要が上昇傾向でも下降傾向でも自動的に発注量に反映できるようになります。以上、発注量を計算するアルゴリズムをまとめると下図のようになります。クリックすると拡大しますたった2行追加するだけで、季節変動を考慮した在庫シミュレーションができるようになりました。まとめ今回作ったファイルはこちらからダウウンロードできます。フリーダウンロードはこちらこのように常に直近30日間の需要データから平均と標準偏差を計算するようにすることで、季節変動を考慮した動的なシミュレーションができるようになりましたが、直近何日間のデータを使えばよいかは商品の需要パターンにより異なります。需要変動のサイクルの早い商品だと、直近30日間のデータでは長すぎて、需要パターンの変化に追いつかないこともあります。直近N日間の需要データだけから計算すると、それより前の需要データが全く反映されません。過去の経験が全く生かされないわけです。それも余りに短絡過ぎるということで、過去のデータも生かしながら直近のデータも反映させるベイス統計を使った方法もあります。ロジギークよろしければシェアお願いしますTwitterFacebookLinkedInB!HatenaLINELINE正規分布を使ってタイヤ残量とコストとの関係を近似的に求める方法Nextトラック積載率と包装強度のトレードオフを一次不等式で解いてみた。昨今、毎日または1日に複数回の納品をする多頻度納品が社会問題になっています。前回は適正在庫にコントロールするための、適正発注量の計算方法を解説しました。...◆キーワードで探すイチローの安打数がポアソン分布にならず正規分布になる理由を考察してみた【マルコフ連鎖】標準体重の人が太りすぎになるまで平均何年かかる?待ち行列理論を応用して10分カットが儲かる仕組みを解明してみた。計算グラフモンテカルロ積分クラスタリングカーネルトリックPythonSimPy(離散事象シミュレーション)inventorize(在庫シミュレーション)SARIMAX(時系列解析)investpy(財務データ取得)PyPDF2(PDF操作)仕事や勉強の合間の息抜きに管理人ロジギークロジスティクス業界で6か国に勤務。