まず予測です。基準日は8月31日(月)、予測期間は9月1日〜7日。ハンバーグ弁当の予測7日合計は 68.6個、同曜日の直近4週平均の合計 61.5個に対して +11.6%。金曜(9/4)は弁当の値引デーなので、その日だけ予測が平常日より高く出ています。
図D ハンバーグ弁当の直近28日の実績と7日先の予測。×は欠品日(8/25・8/26)、▲は値引日(9/4)、帯はバックテスト残差から作った経験的な80%区間(講座データで実測)
8月25日と26日には×印——欠品日です。この2日の数量は「売れた数」ではなく「売れ残りがなくなるまでに売れた数」なので、学習・評価・ラグ特徴量のすべてから外しています。欠品日をそのまま需要として学習すれば、予測は低いほうへ引きずられます。
需要予測エージェントの答え方 予測数量と区間、販促の予定、除外した欠品日を一緒に示します。発注数量は書きません。在庫数量もリードタイムもデータにないので、決められないことは決めません。
次に評価です。直近8週(7/6〜8/24)の毎週月曜を基準日にして翌7日を予測し、実績と比べました。評価日は1,114日分(欠品6日は除外)。前週同曜日(B1)のMAEが 5.85個、直近7日平均(B2)が 5.60個、同曜日4週平均(B3)が 4.55個に対して、勾配ブースティング(M1)は 4.19個です。
図E 方式別のMAE(8基準日×7日、欠品日除外、講座データで実測)。M1はB1の0.72倍
モデルのMAEは前週同曜日の 0.72倍。ここで初めて「ベースラインに勝っている」と言えます。ただし商品ごとに見ると、低回転の杏仁豆腐はSMAPEが62.1%——この商品の予測は参考値にとどめるべきです。全体の指標だけで判断しない、を数字で確かめます。
需要予測エージェントの答え方 MAE比が1以上(ベースラインに負けている)か、SMAPEが40%以上の商品は、ルール R3「誤差大」として要注意商品に入れます。
最後に例外ルールです。8つの固定ルール(急増・急減・誤差大・偏り・欠品候補・販促予定・データ異常・履歴不足)を当てると、D店の要注意商品は8件。優先順位の高い順に並びます。
図F 要注意商品一覧(順位・商品・該当ルール・根拠)。根拠の文はPythonが生成し、生成AIはこの表の範囲でブリーフを書く(講座データで実測)
明太子おにぎりの8月28日は、欠品フラグがないのに数量0。平均27個売れる商品が0なら、売れなかったのではなく記録が漏れた可能性が高い。データ異常として「担当者に確認し、修正後に予測を更新する」が確認事項になります。
需要予測エージェントの答え方 ルールに該当した事実、データにない要因の推測、担当者が確認すべき事項を分けてブリーフに書きます。ブリーフに登場する商品と数値は、Python側の要注意商品表と照合してから表示します。