AITCのAI需要予測プロジェクトの進め方

はじめに

AITCでは、需要予測に関する取り組みを積極的に実施しており、需要予測プロジェクトを円滑に進め、成功に導くためのノウハウが溜まっています。本記事では、そうしたノウハウを活かしたAITCの需要予測プロジェクトの進め方について紹介します。

<取り組み事例>

ledge.ai

isid-ai.jp

プロジェクトのノウハウを集約したテクニック集

AI需要予測プロジェクトの進め方の説明に入る前に、プロジェクトで活用している”需要予測テクニック集”について紹介します。

AITCでは、プロジェクトごとに溜まったノウハウを集約した“需要予測テクニック集”を作成しています。構成は以下のようになっており、プロジェクトのフェーズごとにノウハウを整理しています。

テクニック集を作成する意義

このテクニック集により、ノウハウがプロジェクトメンバーに閉じるのを防ぎ、“このような課題に対してはこう対処するのが良い”という共通のノウハウを誰もが活用できるようになっています。さらにこのテクニック集は、案件での経験に基づくテクニックだけでなく、Kaggleというデータ分析コンペティションで用いられるような最新の実装ノウハウも集約している点に強みがあります。

AITCにはKaggle Masterをはじめ日常的に最新のテクニックに触れているメンバーが多くいます。

isid-ai.jp

そうした活動で得た最新の知見も、需要予測をはじめ多くの顧客課題に適用し、成果を出しています。 この需要予測テクニック集を活用しながらプロジェクトを進めていくことで、ビジネス的な視点でも技術的な視点でもベストな選択を行うことを目指しています。

AI需要予測プロジェクトの進め方

それでは、AITCの需要予測プロジェクトの進め方を紹介します。

具体的には、「企画」「データ準備」「データ前処理」「モデリング」「評価」「運用に向けて」とプロジェクトの各フェーズを定義しています。

ここからは、上記の各フェーズでは”どんなことを行っていくのか”について、”このフェーズでは需要予測テクニック集のこのTipsが役立つ”という一例と共に紹介していきます。

1. 企画フェーズ

まず、需要予測プロジェクトを始めるにあたり、どの製品の需要を、どのタイミングで、どのくらい先の期間まで、なぜ予測したいのかを踏まえて、需要予測プロジェクトの企画を行う必要があります。

需要予測プロジェクトでは、基本的にPoCという形でAIモデルの開発・評価を実施することになります。企画段階で「ビジネス的な達成目標(例:過剰在庫の削減、欠品防止、売上向上、コスト削減)とAIモデルの精度指標を結び付け、「開発予定のAIモデルがどの指標でどのくらいの精度になれば運用に足るのかを検討しておく」ことが、企画フェーズでの重要なポイントの一つです。

ここで例として、「需要予測モデルAは5%少なく予測し、モデルBは5%多く予測する」という状況を考えます。 このとき、もし単に「誤差率の大きさ」という指標を用いた場合、それぞれのモデルの評価は変わりません。ただし、過剰在庫の削減がビジネス的な達成目標の場合はモデルAが、欠品防止が目標の場合はモデルBがより良い結果を生み出すだろうと考えることができます。逆に言うと、こういったビジネス的な目標を絡めないと、実は正しくAIの評価ができておらず、運用には結びつかなかったり、運用上問題が生じたりといった危険性があります。

他にも、「むやみに予測の粒度を細かくしすぎない」といったテクニックもあります。需要予測を企画するとき、最も細かい製品管理単位の需要予測結果を毎日出したいと考えるかもしれません。しかし、予測粒度が細かいとAIの予測精度は下がる傾向にあります。逆に、類似製品でまとめて予測を行う・月次予測とするといった大きい粒度の方が効果が出やすく、運用レベルに至りやすいと言えます。もちろん業務要件次第なところもありますが、こうしたテクニックを企画段階で知っているかどうかは大きな差になります。

2. データ準備フェーズ

次はデータ準備フェーズです。需要予測プロジェクトを企画したら、実際にデータを準備する必要がありますが、ここで準備したデータの量・質はAIの精度に直結します。

ここでは、サプライチェーンという言葉が示すように、需要予測AIに用いるデータも部門間で連携して用意するというのが重要な点です。そのためにまずは、「どんなデータが需要予測において効果的か」という点を理解する必要があるため、この点に関してもAITCがサポートを実施しています。 最終的には、そうした情報をもとに、どの部門にどんなデータがあるのかを整理したうえで、お客様自身でデータを準備していただく必要があります。例えば、需要予測を主に担う部門はSCM部門が多いのですが、需要予測AIの精度向上には、マーケティング部門の持つ広告データが役立つことが多くあるため、そうしたデータの連携を行うことが理想的です。

このフェーズでは、予測したい粒度・タイミングに適した形で正しくデータが存在するかというチェックも必要です。企画は立てたものの、それに見合うデータが実は揃っていないというのはPoCが進まなくなるよくある原因の一つであり、未然に防いでおく必要があります。

3. データ前処理フェーズ& 4. モデリングフェーズ

データの準備が整ったら、「3.データの前処理」を適切に行い、その後AIの「4.モデリング」を実施していきます。

このフェーズはAIに関する技術力が特に必要となってくるため、社内のデータサイエンティストやデマンドプランナーといった役割の方が実施するか、AITCのような外部の専門家に依頼することが必要となります。

基本的にAIモデル開発はトライ&エラーの側面も強く、精度向上施策を試しては評価し、また次の施策を試すということを繰り返していきます。 こうしたサイクルを回すにあたって効果を発揮するのが、Kaggle等を通した実装面の最新テクニックであり、AITCのデータサイエンティストは特にここを強みとしています。 具体的なTipsについては、計算式を含んだ技術的内容になってしまうため、本記事でお見せすることは控えますが、例えば「最近はどのAIモデルが使われることが多いのか」といった技術知見が集まっています。

5. 評価フェーズのTips

AIモデルを開発した後は、その精度評価を実施します。このとき、評価にどの指標を用いるかというのは非常に重要になってきます。「1. 企画」のフェーズでも述べたように、ビジネス的な観点・目標を踏まえて評価方針を立てる必要があります。実際に正しい評価を行うためには、複数ある評価指標から状況に合わせた正しい評価指標を選択することが必要です。

例えば下図のように、同じ誤差率20%でも出荷個数帯が1000個なのか10個なのかによって、ビジネス的インパクトは全く異なります。しかし、単純に誤差率を評価指標とするとAIモデルとしては同じ評価になってしまうため、こうしたことは避けなければなりません。その他にも、需要予測AIの評価に用いる指標は様々あり、目的に合わせ選択する、もしくは組み合わせて使うことが効果的です。

6. 運用に向けたフェーズ

AIモデルの評価が完了し、ユーザーの期待値(運用できるモデルは、ユーザーの期待値に依存します)にあいそうな(AIは運用しながら精度や汎化性能を高めていく)AIモデルができたら、導入・運用に向けた活動を進めていきます。AI需要予測モデルをシステムに組み込むことを目指します。 このフェーズの検討事項は非常に多いですが、需要予測AIのシステムの運用において重要な点をテクニック集から一つ紹介します。

需要予測AIを上手く運用していくためのポイントの一つは「予測精度をモニタリングする」ことです。詳しくは下図にまとめていますが、AIモデルは決して作って終わりではありません。精度の維持・向上という意味でも、特例的な需要に対応するという意味でも、モニタリングというのは非常に効果を発揮します。

重要なのは、AIは完全ではなく、間違えるものであるということを踏まえ、人と共存するような需要予測システムを目指すことです。図では、精度低下や異常発生に対し、人による確認、原因調査、対策の実施というフローで対応することを考えていますが、このような人間がループ(システム)の中に組み込まれている状態を、Human-in-the-Loopといいます。

atmarkit.itmedia.co.jp

「高い精度のAIを作ればよし。」ではなく、AIを含めたループ全体を作り上げることができる点が、SIerのAI組織であるAITCの強みであると考えています。

まとめ

本記事では、AITCにおけるAI需要予測プロジェクトの進め方について、関連するテクニックと共に整理しました。 本記事が需要予測を推進していくうえで読者の皆様の参考になりましたら幸いです。 AITCでは、AIモデル開発以外にも今回紹介した企画~運用までのすべての工程を支援することが可能です。いつでもご相談ください。

執筆
AIコンサルティンググループ
田辺 佑太