物流倉庫の在庫設計の強い味方!Facebook製時系列予測ライブラリ【Prophet】とは?
未来が100%見える人は神のみ。
こんにちは。
感染症などで未来が見えづらい現代ですが、少し先の未来だけでもわかっていると"今"が動きやすいですね。これはビジネスでも同じことが言えます。
今日は物流倉庫などで頭を悩める方も多い、「在庫設計」について一ネタ紹介していきます。
在庫設計とは、「in」と「out」の差分を適正にする
物流倉庫でいえば「在庫」ですね。この「在庫」という概念は、在庫を販売することでモノがお金に変わり、利益を得ることができます。
この「在庫」はモノを扱うビジネスにおいては必須の考え方になります。どういうことかというと、在庫とは、「現金化されることを待っているモノ」になります。
つまり、目の前にお金と同じ価値のモノはあるけども、現金ではないため支払いなどには使えない、ということです。したがってモノをたくさん持ってしまって現金がないため未払い不履行などに陥ってしまう最悪のケースは「黒字倒産」です。
また、在庫を持ちすぎるとスペースがないために外部倉庫賃貸などの別途費用がかかってくるので会社としてはコスト高、経営を圧迫します。
逆に在庫が少なすぎると欠品による販売機会損失で売上げが減少。
「モノを適正な量に維持する」というのが最も大切なことなんですね。
時系列でデータを捉える
"適正"な在庫とはどんな在庫でしょうか?
正しい在庫を構える上でのヒントは、「需要予測」にあると言えます。
需要予測とは、これまでの販売統計データや直近の人々の行動をもとに基準在庫(いくつ在庫が最低必要なのか)や安全在庫(在庫がいくつあれば欠品率がいくつ以下になる)を算出し需要予測が行われます。
予測において大切なことは、「ぴったり当たる」ということはまずあり得ないことが大前提です。近しい値を算出する、という考え方が需要予測の大前提なので、その前提に立った上で在庫を構えます。
この需要予測ですが、手法が多岐にわたるためここでの解説は控えます。一つ面白い記事を見つけたので下記に転載します。各種手法とその精度についてよくまとめられています。
Facebook製時系列予測オープンソース prophet
Prophetは直訳すると「預言者」。
予測によって未来を予言する、ということでしょうか。
オープンソースにもいくつもの種類がありますが、Prophetの特長は幾つかありますが、「とにかく使いやすい」というところが一番の利点だと思います。
Python実装、R実装が公開されており、時系列予測の経験がなくてもPythonかR言語を使っている人であれば、取りあえず動かすという意味ではそこまで大変な苦労はないのかと思います。
Prophet は、以下のようなデータセットに特に役立ちます。
●長期 (月次、年次) にわたる詳細な履歴観測 (毎時、日次、週次) を含む
●複数の強い季節性を持つ
●以前に認識されていた、重要だが不規則なイベントを含む
●データポイントがないか、大きな外れ値がある
●限界に近づいている非線形成長トレンドがある
予測における最も基本的なものは、「線形予測」と呼ばれる比例の関係にあるものです。「◯が増えたら結果も増える/減る」「◯が減ったら結果も増える/減る」と言ったような簡単な関係です。
しかしこれでは季節性などの各種変動に、プログラマーが変数追加やデータを注意深く観察して都度対応などの神対応をするなどの別作業が必要になります。
季節波動を自動推定
また上記にあるようなそれなりに再現性のあるものでも、綺麗にsincostanなどの三角関数でも表現するのは難しく、非常に多くのファクターが絡みあっての結果になります。
こういった再現性のある波動に対してはProphetを用いれば、これらの問題に頭を悩ませる必要はなくなります。
そのわけはProphetには、"1日"、"1週"、"1年"など人間の感覚、直感、感性に合わせた周期の中で「フーリエ級数展開」を行い、sin、cosの波として季節性を自動的に推定してくれる機能があります。これによって「土日は売り上げが増えて、月曜日にその分倍になってくる」「繁忙期はどの程度落ち込む」「月曜に最高値を付けた後は緩やかに減少し水曜日が底値となり、土曜にかけて盛り返す」といった事象が自動で推定可能となり、現場職人芸のような季節変数の独自設計は不要になります。
またProphetは、説明変数を入れことができる機能があります。このため、明示的に季節変数を投入することも可能となり、柔軟性が非常に高いライブラリといえます。季節性と同様にトレンドについても、推定に頭を悩ませることはほとんどありません。「区分線形」「区分logistic回帰」によって、大きなトレンドと、その変化を自動的に表現してくれます。
Prophet予測による実用化
下記にprophetが実用化された事例を紹介します。経済産業省が発表した資料によると「中小企業とAI人材による協働」の取り組みが紹介されています。
時系列出荷データをinputし、出荷予定数を予測することで発注ライン毎の出荷数量を予測して発注業務工数を削減することが狙いとして行われた事例です。
この事例では精度の問題からそのまま数値を採用することは難しいとなりましたが、その代わり予測の補助として意思決定者支援を行う結果になったそうです。
予測ツールにありがちな、「現場が絶対信用」するまでには至りませんでしたが、最初から限りなく100%に近い予測制度を出すことなどほぼ不可能です。精度の向上を限りなく行っていくことでいつの日か意思決定支援から決定までカスタマイズしていくことが想定されます。特に予想における項目洗い出しが完了すれば精度は劇的に上がることが予想されます。
需要予測もAIの時代に
これまで統計解析を社内で担当者ベースで行ってきたものが、近年のAI技術の進歩により脱属人化を測れるところまで見えてきました。
prophet以外にも多くのオープンソースでのAI技術があります。こう言った技術にも今後着目していきたいですね。
この記事が気に入ったらサポートをしてみませんか?