INSIGHT

AIの売上予測を発注判断に使う前に——外れ方と業務への影響を比べる

ACTION|次の確認へ AI / 活用のヒント

予測の誤差は、余剰と欠品という仕事の結果にどう表れるか。

来月の売上をAIに予測させると、商品ごとの数値に、季節や販促を説明する文章まで付いた。「従来の表計算より賢そうだから、この数字を発注案に使おう」と考える。

予測の説明が自然でも、発注量として役立つとは限らない。高く外れれば、在庫の保管、値下げ、廃棄へつながる。低く外れれば、欠品、急送、販売機会の逸失が起こり得る。同じ誤差でも、商品、賞味期限、調達期間によって業務への影響は違う。

AI予測を発注へ使う前に、予測時点で利用できた情報だけで既存手法と比べ、過大・過小の外れ方を発注業務の影響へ結び付ける。

売上実績を、そのまま需要の正解にしない

最初に、何を予測するかを決める。店舗で実際に売れた数量、顧客から受けた注文、在庫があれば売れたと考える需要、売上金額では、発注判断との関係が違う。名称だけを「売上予測」にそろえず、商品単位、店舗単位、日・週・月の粒度、予測する先の期間を明記する。

在庫切れの期間に売上がゼロでも、需要がゼロだったとは限らない。販売停止、店休日、データ欠損も同じである。値引きや販促で増えた売上、別商品の欠品による代替購入、新商品の短い履歴を、通常の需要として学習・評価に入れるかを業務担当と決める。

発注に使うなら、調達期間との対応も必要だ。翌日の補充と、数か月前に確定する輸入品では、同じ予測期間を使えない。発注締切、最低発注量、入数、保管容量、賞味期限などは、予測の正解を決める条件ではなく、予測から発注量を決める業務条件として別に置く。

この定義が曖昧なまま精度指標を比べても、「よく当たった」がどの仕事を改善したか分からない。まず現行の発注表とデータの項目を対応させる。

予測した時点に戻って、過去を再現する

検証には、予測時点で利用できた情報だけを使う。月末に確定した返品、後から修正された売上、実施後に分かった販促効果、将来の在庫切れを、過去の予測入力へ混ぜれば、実運用より当たりやすく見える。

過去の複数時点へ戻り、その日の締切までに確定していた販売履歴、在庫、価格、カレンダー、決定済みの販促などをそろえる。各時点から実際の発注期間と同じ先まで予測し、結果と比較する。特定の好調月だけを選ばず、繁忙、閑散、欠品、販促、新商品など、自社で判断が難しい時期を含める。

入力できるデータと、将来について置く前提も分ける。来月の販促を入力するなら、その計画が予測時点で確定していたかを記録する。天候や競合施策のように分からないものは、後から正解値を入れず、未確定の条件として扱う。

予測の実施日時、入力データの締切、使用した版、対象商品を残す。現在のデータで過去を再計算した値と、当時実際に使えた予測を同じ欄へ混ぜない。

同じ期間の結果を見ながら何度も設定を直したなら、その期間は調整に使ったデータである。最後の成績だけを未知の注文への実力として報告しない。調整に使っていない期間や、その後の実運用に近い並行評価で、同じ外れ方が許容できるかを確認する。

検証で未来の情報を使わない。実際の発注日に戻り、その時点で確定していた入力と前提だけで予測を作り直す。

研究が示すのは、当時の三手法の分解比較である

NeurIPS 2024で発表されたAre Language Models Actually Useful for Time Series Forecasting? は、当時提案されていた三つの言語モデル利用型の時系列予測手法について、構成要素を除去・置換する比較を行った。論文の要旨は、言語モデル部分を取り除く、または基本的なattention層へ置き換えても、多くの場合に予測性能が低下せず、改善する場合もあったと報告している。

これは、「言語モデルを使う予測はすべて無価値」「現在のすべての製品は既存手法に負ける」という研究ではない。対象は当時の三手法と論文のデータ・評価条件である。需要予測向けの別の手法、自社固有の販促情報を扱う仕組み、2026年時点の製品性能は、自社条件で比較する必要がある。

この研究から実務へ持ち帰れるのは、AIという構成要素の名前ではなく、何が成績へ寄与したかを基準手法と比べる姿勢である。前年同時期、直近の移動平均、現行の担当者予測など、会社が現在使う方法を同じ期間、商品、入力締切で評価する。

NIST AI 600-1 は、生成AIの虚偽出力、人とAIの役割、継続評価などを整理する任意のリスク管理資料である。日本企業の発注ルールや予測性能を証明する資料ではない。本稿の比較方法は、研究と一般枠組みを、自社の発注判断へ当てはめた編集上の提案である。

平均誤差より、過大と過小を分けて見る

一つの平均指標だけでは、発注で困る外れ方が隠れる。商品・期間ごとに、予測が高すぎた件と低すぎた件を分ける。大きく外れた時期を取り出し、欠品、販促、価格変更、販売停止、データ欠損などの条件を確認する。

過大予測では、余剰在庫、保管スペース、資金拘束、値下げ、期限切れなどの影響候補を置く。過小予測では、欠品、代替提案、緊急調達、顧客への納期回答、販売機会への影響を見る。具体的な費用は会社の会計・業務記録で計算し、外部研究の数字を当てはめない。

商品によって重みは違う。腐敗しやすい商品は余剰の影響が大きく、重要部品は欠品の影響が大きい場合がある。そこで、発注担当、在庫管理、営業、財務が、どの外れを優先して減らすかを決める。全商品の平均で良くても、重要商品で許容できない外れ方をするなら、利用範囲を分ける。

予測の説明に「販促が原因」「天候で増える」と書かれていても、予測への相関や入力上の関係から、原因まで確定できるとは限らない。原因を使って施策を変える場合は、販促記録、現場の事実、別の分析で確認する。

予測精度の一位を選ぶのではなく、どの商品で高く・低く外れ、その外れが在庫と顧客対応へ何を起こすかで選ぶ。

発注案には予測の外れ方と業務条件を添え、確定する人へ渡す

自分が作る発注案には、予測値だけでなく、比較した手法と外れ方、現在庫、入荷予定、発注残、最低発注量、調達期間などの業務条件を添える。分からない在庫や上限を推測で埋めず、担当へ確認する。発注候補への変換と確定は、権限ある担当者または承認済みの業務ルールで行う。

最初の利用では、予測を現行業務と並行して記録し、実際の発注を自動で変えない。どの予測を担当者が採用・修正・却下したか、理由と結果を残す。一定期間後に、既存手法との差、過大・過小の影響、担当者の修正を見て、対象商品と上限を決める。

発注を確定する担当へ渡すのは、予測対象、基準手法、評価期間、入力締切、外れの業務コスト、発注候補へ変換するルール、例外、最終決定者である。データや商品構成、販売条件が変われば、以前の結果をそのまま使わず見直す。

予測の当たりやすさだけでなく、余剰と欠品への影響から使う範囲を決める

AIの売上予測は、説明が豊かでも、それだけで発注判断に役立つとは限らない。何を予測するかを定義し、当時使えた情報で過去を再現し、現行の基準手法と同じ条件で比べる必要がある。

まず自分が扱う一商品で、予測時点に使えた情報と、実際の結果を並べたい。既存の方法より良かったかだけでなく、高く・低く外れたときに困る仕事も記録する。その結果と未確認の条件を確定担当へ渡し、予測を作れたことと発注を決めたことを分ける。

参考資料