Platinum Data Blog by BrainPad

株式会社ブレインパッドのデータ活用に関する取り組みや製品・サービス開発の裏側、社員の日常などをご紹介します。

経営資源配分および経営資源調達の最適化手段として用いられる需要予測の進め方

経営資源配分および経営資源調達の最適化手段として用いられる需要予測の進め方と、当社が2006年から販売を続ける機械学習・予測分析システム「SAP® Predictive Analytics」を活用した分析方法をご紹介します。
f:id:brainpad-inc:20190509145304p:plain


こんにちは!デジタルソリューション本部 プレディクティブマーケティングサービス部(長いので社内ではPMS部と言っています)の宮本です。

私の仕事は、SAP社などの分析支援ソフトを活用して、お客様の経営課題を解決するためのお手伝いをすることです。
本ブログでは、経営資源配分および経営資源調達の最適化手段として用いられる需要予測の進め方と、機械学習・予測分析システム「SAP® Predictive Analytics」を活用する方法をご紹介します。

需要予測とは

そもそも需要とは、「商品に対する購買力の裏づけのある欲望。または、その社会的総量」(広辞苑より)と定義されています。
このことから需要とは顧客が商品・サービスを欲しいと思っていることを示し、需要予測は将来に発生する需要「①商品・サービスを顧客が欲しいタイミング」と「②商品・サービスを顧客が欲しい量」の双方を予測することとなります。

需要予測が必要となるシーンは、商品の販売計画、在庫の補充計画、商品またはその材料の生産計画を行う事業など複数分野での計画段階となります。

販売計画は売上の最大化、在庫と生産の計画は費用の最小化をそれぞれ志向します。売上から費用を取り除いた最終の利益は企業に帰属するので、需要予測は売上の最大化を目指す販売計画と費用の最小化を目指す在庫および生産の計画の双方に関連しています。

これらを踏まえ、需要予測は企業の利益最大化、言い換えると経営の最適化に影響を与えるものと言えます。

f:id:bp-writer:20190507124817p:plain
図1

分析の下準備

最初に導入として、機械学習を用いたデータ分析の手法について簡単に紹介します。

弊社の得意とする機械学習を用いた分析は、軸となる指標を定め、他項目(説明変数と呼ばれます)との関係性を数式化していく工程が発生します。
この指標と項目の関係性のことを「モデル」と呼称し、様々な年度や場所で同じ項目について収集した検証したいデータを当てはめることで知見を得ることができます。

わかりやすくお伝えするために、今回はある時点の「発注量」を例にとりましょう。
求めたいものは発注量で、この発注量に関係すると思われるデータとして、発注間隔、調達期間、使用予定量、安全在庫、その時点の在庫量、その時点の発注残などがデータを記録している日付とともに存在するとします。
例の「発注量」のように分析において求めたい答えのことは、一般的に「目的変数」と呼称されています。目的変数を設定した後、それらに関係性があると考えられる要素(説明変数)を項目化し、目的変数と説明変数群との関係を計算式に当てはめて作っていくこととなります。

f:id:bp-writer:20190507125140p:plain
図2

機械学習で行うことの多い「分類回帰」という手法はこのデータ形式を用いて進めますが、
これからお話しする需要予測でよく用いられる「時系列分析」という手法では、目的変数の実績値から計算を行って予測を進めていくため、基本的に説明変数は必要ない(利用できない)ものとなります。

需要予測の手法

一般的な需要予測には時系列分析が用いられ、代表的な手法としては「移動平均法」や「指数平滑法」が挙げられます。
移動平均法は、期間を1単位ずつずらしながら平均値を計算していく手法であり、時間が経過すると最新の実績を用いて予測できる点が長所です。
図3を例に説明すると、3ヶ月の移動平均であれば7月の予測値は4月から6月までの平均、8月は5月から7月までの平均、9月は6月から8月までの平均とひと月ずつずらして平均値を計算していきます。

f:id:bp-writer:20190507125038p:plain
図3

対して指数平滑法は、移動平均法より直近の実績をさらに重視する手法です。

予測したい時点の予測値= α×直前の実績値+(1-α)×直前の予測値

この方法では、直前の実績値に係数(上記式ではαとしています)を掛けたものと、直前の予測値に(1-係数)を掛けたものを合体して予測値を作ります。
直前の実績値と直前の予測値を加減して予測値を導き出すことで、最近の実績の影響をより反映することができます。

f:id:bp-writer:20190507125242p:plain
図4


f:id:bp-writer:20190507125311p:plain
図5

SAP® Predictive Analyticsでの時系列分析

移動平均法や指数平滑法も万能ではなく、データの特徴がある程度はっきりとしていることや分析者の業務への慣れなど求められる要素と弱点がいくつか存在します。
特にデータがどのような傾向を示しているかを判断するのは容易ではありません。

では、弊社が取り扱うSAP® Predictive Analyticsで時系列分析を実施する場合はどうなのか、お話しさせていただきます。覚えていただきたい要素は、「トレンド」「サイクル」「変動」という言葉です。

まず、「トレンド」は傾向とも呼ばれ、長期的なデータの動きが上昇基調か下降基調かを示します(図6)。「サイクル」は、データが同じ傾向で循環すること(周期)を表現しています(図7)。サイクルの例として、季節性という言葉があります。こちらは季節の変化に応じた一定の変動(夏には半袖のシャツが売れ、冬は長袖のセーターが売れるような特徴)を意味します。
双方ともデータの動きをかなりつかみやすくなるため、分析の一助となることは間違いありません。
最後に、全体の数字から傾向であるトレンドとサイクル(季節成分と周期成分)を排除した、過去のデータに依存して生じている情報を「変動」と呼びます(図8)。

f:id:bp-writer:20190507125352p:plain
図6

f:id:bp-writer:20190507125439p:plain
図7

f:id:bp-writer:20190507125456p:plain
図8


SAP® Predictive Analyticsで行う時系列分析に必要となるデータですが、予測したい時点のデータ以外が埋まっていることが前提となります。
こちらの形式としては予測したい時点の項目に入る数値を空白にし、それ以外の項目をすべて埋めた状態で用意する必要があります。言い換えると、目的変数のみではなく関係性のある項目を説明変数として分析に用いることができるので、一般的な時系列分析の手法と異なり、説明変数を加味したより確度の高い分析が可能だということになります。

f:id:bp-writer:20190507125546p:plain
図9

時系列分析の結果は図10のように表示されます。
表示する時間単位を選択してExcel形式でのエクスポートを行うことが可能です。

f:id:bp-writer:20190507125617p:plain
図10

データの準備はどのような分析でも大変なものですが、ここさえ整えることができれば、自動的に様々なアルゴリズムを用いて、難解な計算や当てはめを手動で行うことなく分析が可能です。
このことは、SAP® Predictive Analyticsの大きなメリットと言えます。

分析単位の粒度問題

ここまで、SAP® Predictive Analyticsで実施する時系列分析の概要について、ご紹介しました。
全体的な数字の合計がどう推移するのか予測するだけであれば時系列分析でも良いと判断できますが、需要予測は商品・サービス別に将来の需要を予測する必要があるため、全体ではなく分割した単位で分析を行う必要があります。全てを1本化して分析するのでは正確さに欠けますし、かといって商品や型番ごとに分析を行おうとしても1つ1つを分析するのは非常に煩雑であり現実的ではありません。ここで考慮しなければいけないことは、分析の単位をどの程度にするかという問題です。

f:id:bp-writer:20190507125652p:plain
図11

クラスタリングと回帰分析:集団を分割する&複数の単位に対して数値の予測を行う

先の問題に対して提案したいのが、移動平均法などによる時系列分析ではなく、集団を最適な単位に分割する手段としてクラスタリングを実施した後に各集団に対して回帰分析を行うという手法です。


f:id:bp-writer:20190507125728p:plain
図12

f:id:bp-writer:20190507125804p:plain
図13


商品群を類似した傾向のあるクラスタに分割しクラスタごとに分析を行うことで、商品個別では時間的・経済的な制約により分析が実施できないという問題を回避します。

SAP® Predictive Analyticsは、分類で用いられる目的変数を利用して「教師ありクラスタリング」を行うことが可能です。
例えば、目的変数を売上とすると金額について、「高いもの」「低いもの」と序列が生まれるため、
そこから売上に貢献するグループと貢献しないグループとを分割することができます。
そのため、全体的な特徴が似ている集団への分割を行う一般的な「教師なしクラスタリング」とは異なり、よく売れる商品のみを集めて高精度な分析につなげられるという利点があります。

f:id:bp-writer:20190507125839p:plain
図14

分析に用いる母集団を類似性の強いクラスタに分けて回帰分析を行うことで、全SKU(Stock Keeping Unit)を対象に一本化した回帰分析や何らかの基準で分割・集約した時系列予測の精度面・業務面での弱点を克服しつつ、分析の精度を向上させます。
(下図はクラスタリングで分割したデータで回帰分析を行うイメージと、SAP® Predictive Analyticsで実施した回帰分析のレポート画面イメージです。)

f:id:bp-writer:20190507130124p:plain
図15

f:id:bp-writer:20190507130155p:plain
図16

ここまでで需要予測を行う上での分析段階における障害を例示させていただき、その対策としてクラスタリングと回帰分析を織り交ぜた手法の概要をご紹介させていただきました。

分析は一度で終わらない

すでにお気づきかもしれませんが、需要予測だけでなく分析はスポット的に実施し、そこで完了ということはありません。
何度も類似の内容を分析する必要があり、この繰り返しの分析に耐えることができ、なおかつ精度が上がっていく仕組みを構築することが肝要です。
繰り返しの分析に耐えうるソリューションとして、弊社ではSAP社の「SAP® Predictive Analytics」および「SAP® Predictive Factory」を活用した分析のご提案とご支援をさせていただいております。

SAP® Predictive Analytics

f:id:bp-writer:20190507130243p:plain
図17

f:id:bp-writer:20190507130308p:plain
図18


また、応用として下記のようにSAP® Predictive Analyticsでテストと運用を行い、そこで得られた知見(効果的な説明変数など)を応用して人力でさらに緻密なものにする「いいとこどり」の手法も考えられます。

f:id:bp-writer:20190507130503p:plain
図19

今回ブログでご紹介した内容はなかなか気軽に試せるというものではないかもしれませんが、皆さまのお悩みの解決につながる一助になれば光栄です。
弊社がお役に立てることが必ずあるかと存じますので、是非お声掛けくださいませ。


当社では、SAP® Predictive Analyticsをはじめ、独自性の強い海外製品を活用したデータ活用支援も積極的に行っています。ご興味のある方は、ぜひエントリーください!
www.brainpad.co.jp