商品の発注量、人員の配置、解約しそうな顧客への対応など、将来の需要や顧客の行動を見込んで行う判断は、担当者の経験と手作業の集計に頼っていることが多くあります。こうした判断を支えるために、過去のデータから将来の値や事象の起こりやすさを推定するのが、機械学習モデルです。

ただし、予測の精度が高いだけでは、機械学習モデルは業務で使われ続けません。何を、どの単位で、どの時点で予測し、その予測結果を誰がどの判断に用いるのか、予測が外れたことをどのように把握し、誰が対処するのかを、導入にあたって設計する必要があります。

機械学習モデルの導入が適する状況と適さない状況

次のような場合には、機械学習モデルの導入が有効です。

  • 同じ種類の判断を、数多く繰り返している場合商品と店舗の組み合わせごとの発注のように、判断の件数が多く、担当者がすべてを個別に検討できない場合です。
  • 判断に使えるデータが蓄積されている場合販売実績、顧客の取引の履歴、設備の稼働の記録などが、一定の期間にわたって記録されている場合です。
  • 予測の誤りによる損失を金額で見積もれる場合欠品による販売の機会の損失や、売れ残りによる廃棄の費用など、予測の誤りがどのような損失につながるかを見積もれる場合は、導入の効果を評価できます。

一方で、予測結果を誰が見て、どの判断に使うのかが定まっていない場合は、精度の高いモデルを構築しても業務の判断は改善しないため、予測結果の活用方法を先に検討する必要があります。また、前年の同じ時期の実績や直近の平均で予測しても判断に支障がない場合は、モデルを構築・運用する費用に見合う改善が得られないことがあります。予測に必要なデータが複数のシステムに分かれ、定期的に取り出す手段がない場合は、データの抽出・連携の方法やデータ基盤の整備を先に検討します。

導入の設計

予測の対象と活用方法の決定

最初に、何を、どの単位で、いつの時点で、どれだけ先まで予測するかを決定します。需要予測であれば、たとえば商品と店舗の組み合わせごとに、週の単位で、発注の締め切りの時点に、納品から次の納品までの期間の需要を予測する、といった形です。予測の単位と時点は、モデルの構築のしやすさではなく、予測結果を使う業務の周期や締め切りに合わせて決定します。たとえば発注の締め切りが毎週月曜日であれば、月曜日の朝の時点で使えるデータだけで予測する必要があります。

あわせて、予測結果の活用方法を決定します。需要予測であれば、予測値と在庫などから発注量の案を自動で算出するのか、担当者が予測結果を参考に発注量を決定するのか、予測値が一定の範囲を外れたときだけ担当者が確認するのか、といった点です。

比較の基準と評価の方法

モデルの評価では、精度の数値を単独で見るのではなく、比較の基準とする方法の精度と比べます。基準には、前年の同じ時期の実績、直近の数週間の平均、担当者が現在行っている予測などを使います。モデルがこれらの基準をどれだけ上回るかを確認し、導入の効果を判断する材料とします。

学習と評価のデータを無作為に分けると、評価の対象の時点より後のデータが学習に含まれ、実際に運用したときより精度を高く見積もるおそれがあるため、評価は時系列に沿って行います。たとえば、過去の一定の時点までのデータでモデルを学習させ、その後の期間で予測の精度を評価する手順を、時点をずらしながら繰り返す方法(時系列の交差検証)です。同じ理由で、予測の時点では得られない情報(たとえば、予測する週の実際の天候や販売促進の実施の有無が、予測の時点で決まっていない場合)を、入力に使わないようにします。

評価の指標は、予測の誤りが業務にもたらす損失を踏まえて選びます。需要予測では、欠品による損失と売れ残りによる損失が等しいとは限らず、欠品の損失が大きい商品では、予測の平均値に加えて、需要がその水準を上回る確率が一定以下となる水準(分位点)を予測し(分位点回帰など)、発注量の決定に使うことがあります。この場合は、平均的な誤差ではなく、欠品と売れ残りの損失の違いを反映した指標で評価します。

業務への組み込み

担当者が別の画面を開いて確認する必要があると活用されにくくなるため、予測結果は、できる限り担当者が判断を行う画面や業務システムに表示します。需要予測であれば、発注の画面に予測値と予測区間を表示する、あるいは予測結果をもとにした発注量の案を発注のシステムに取り込む、といった形です。

担当者が予測値を修正できるようにする場合は、修正の内容と理由を記録します。同じ対象と期間について、修正前と修正後の予測値をそれぞれ実績値と比べることで、担当者の知見をモデルに取り込むべき点や、修正がかえって精度を下げている点を把握できます。

運用中の監視と再学習

導入の時点で精度の高いモデルでも、顧客の行動や商品の構成、取引先の変化によって、精度が下がることがあります。運用の開始後は、予測値と実績値の差を定期的に集計し、精度が基準を下回ったときに担当者に通知します。あわせて、入力に使うデータの分布が導入の時点から大きく変わっていないかも監視します。

再学習したモデルを評価せずに入れ替えると、精度が下がっても気づけないため、再学習の頻度、使うデータの期間、本番に反映する前の評価の手順は、運用の開始前に定めます。データの取り込みから再学習、評価、本番への反映までを一連の処理として自動化すれば、評価の基準を満たしたモデルだけを短い間隔で反映できます。どのデータと設定で学習したモデルかを記録しておくことで、精度が下がった場合に原因を調べ、以前のモデルに戻すこともできます。こうしたモデルの開発から運用までを継続的に管理する取り組みは、MLOpsと呼ばれます。

進め方

機械学習モデルの導入は、すべての対象を最初に設計してから構築するのではなく、効果を見込みやすい対象に絞って小さく始め、評価と改善を短い周期で繰り返しながら対象を広げる形で進めることができます。データの確認や試作の結果に応じて、予測の対象や単位を見直すこともあります。主な工程は次のとおりで、対象を広げる際には工程3から6を繰り返します。

1. 対象業務と予測結果の活用方法の整理

予測結果を使う業務の流れを整理し、予測の対象、単位、時点、活用方法を決定します。予測の誤りによる損失の見積もりと、比較の基準とする現在の方法も、この段階で確認します。最初に取り組む対象は、データが揃っており、効果を確認しやすい範囲(需要予測であれば一部の商品群や店舗など)に絞ることもあります。

2. データの確認

学習と予測に必要なデータがどのシステムに、どの期間、どの粒度で記録されているかを確認します。あわせて、記録された値が、予測したい値と異なる点がないかも確認します。たとえば需要予測では、欠品していた期間の販売実績は実際の需要より少なく記録されるため、販売実績をそのまま需要とはみなさず、学習、評価、監視のそれぞれでの扱いを決定します。

3. モデルの試作と評価

モデルの試作と評価を短い周期で繰り返し、時系列に沿った方法で、比較の基準と比べて精度を確認します。試作ごとに、使ったデータ、特徴量、設定と評価の結果を記録し、後から同じモデルを再現できるようにします。評価の結果として、精度の数値に加え、対象の区分(商品や店舗、顧客層など)ごとの精度の違いや、予測が大きく外れた時期とその原因をまとめます。

4. 業務での試行

本番の導入の前に、一定の期間、現在の方法と並行して予測を実行し、実際のデータに対する精度と業務での使いやすさを確認します。業務への効果を確認する場合は、対象を一部に限定して、予測結果を実際の判断に用います。試行で得られた担当者の意見は、画面の表示や予測の単位の見直しに反映します。

5. 本番の導入

予測を定期的に実行し、業務システムや画面と連携する処理を構築します。あわせて、再学習から評価、本番への反映までの処理と、監視の処理を構築します。

6. 運用と対象の拡大

予測値と実績値の差を監視し、再学習とモデルの改善を行います。試行と運用で効果を確認できた範囲から、予測の対象や、予測結果を活用する業務を順次広げます。運用の手順は、お客様の社内で運用を継続できるよう手順書にまとめます。

ご依頼時にご用意いただく資料

導入には、主に次のような資料とデータを用います。すべてが揃っていない場合も、お手元の資料とデータの状況を伺ったうえで、進め方を検討します。

  • モデルの学習と予測に使うデータ(需要予測であれば、販売実績、商品や店舗の情報、販売促進の記録など)
  • 現在の予測や判断の方法と、その結果の記録(比較の基準)

成果物

ご依頼の範囲に応じて、主に次のような成果物をご提出します。

  • 予測の設計書予測の対象、単位、時点、活用方法、評価の指標と比較の基準をまとめたもの
  • 評価の報告書比較の基準に対する精度、対象の区分ごとの精度の違い、予測が外れた時期とその原因
  • 予測モデルと予測処理のプログラム学習済みのモデルと、予測を定期的に実行し、業務システムや画面と連携するプログラム
  • 再学習のパイプライン再学習から評価、本番への反映までを実行するプログラムと、学習に使ったデータや設定の記録
  • 監視のプログラム予測値と実績値の差、入力データの変化を集計し、精度が基準を下回ったときに通知するプログラム
  • 運用手順書再学習、モデルの入れ替え、障害が発生した場合の対応の手順

期間と費用の決定要因

期間と費用は、予測の対象の範囲と、データと業務システムの状態によって大きく変わるため、ご相談の際に対象の範囲を伺い、個別にお見積もりします。期間と費用を左右する主な要素は次のとおりです。

  • 予測の対象の数と単位(需要予測であれば商品や店舗の数、予測の粒度)
  • データの状態(集約されているか、予測に影響する事象の記録が残っているか)
  • 業務システムとの連携の範囲(画面への表示のみか、業務システムへの取り込みまでを含むか)
  • 業務での試行の期間
  • 監視と再学習の処理をどこまで自動化するか