予測モデルの話をする前に、分布を見せる。 平均だけを見ると、現場で起きている損失を見落とすことがある。需要予測では特にそうだ。 モデルを組む前に立ち止まる場所は、精度指標の前にある。

 

平均ではなく、右の裾を見る

需要予測を頼まれると、多くの現場で最初に飛んでくるのは「MAPEを何%まで下げてくれ」だ。 私も入社3年目までは同じ問いに乗っていた。 だが実際に効いたのは、平均を当てることではなく、翌週金曜17時の欠品件数を26%減らすことだった。 予測の目的関数は精度ではない。予測を使って避けたい損失の側にある。

分布メモ
平均ではなく、右の裾を見る。欠品が起きるのは、たいていそこだ。

朝、白のスノーピーク シェラカップにコンビニのブラックを注ぎながら、SKU別の在庫推移を眺めていて、ようやくその区別がついた。 平均を1%当てても、右の裾のリスクが変わらなければ、倉庫の人は日曜出勤を続ける。 金曜17時に切れているSKUと、月曜10時に切れているSKUでは、意思決定の重みも違う。

 

MAPEが下がっても欠品は減らない

MAPEやRMSEは、数字として便利すぎる。 1枚のスライドに載る。会議で共有できる。だから追いかけたくなる。 ただ、この指標はコストの非対称性を無視している。 ある食品SKUで、1個の欠品が失う粗利は月38万円ぶん、1個の余剰が生む廃棄コストは月4.2万円ぶん、という店舗があった。 だとすれば損失関数はpinball lossに寄せて、上振れと下振れを別々に罰する形にすべきだ。 ここを揃えずに「精度を上げました」と言うのは、たぶん誠実じゃない。 平均予測は、意思決定に直結しにくい。 分位点予測、たとえばp90やp95は、発注点や安全在庫と噛み合う。 私は「まず分布を見よう」と口に出す前に、たいてい既に手元でヒストグラムを描いている。 上司の「結論から」に地味に凹むタイプなので、せめて分布を1枚だけ先に置いておきたい。

 

その0.03は誰の判断を変えるか

だから最初の1日は、モデルを触らない。 誰が、いつ、その予測値を見て、何を決めるのか。 発注担当なのか、シフト組みのマネージャーなのか。 数字が0.7動いたら発注が1ケース変わるのか、変わらないのか。 この「意思決定の粒度」より細かい精度は、原理的に価値を生まない。 新人時代、私はこれを飛ばしてXGBoostを回し、指標だけ0.03改善した報告を上司にして、静かに「で?」と聞かれた経験がある。 あの「で?」は、いま思うとまっとうだった。 予測すべきなのはyそのものではなく、yを見て動く現場の意思決定の分布のほうだ。 発注の1ケースが動くかどうか、その分岐に効く数字だけが、モデルの評価軸に載る資格を持つ。

 

残った仮説:右側のSKUだけを見る

次に見るのは、平均ではなく右の裾だ。 この仮説は、まだ反証できる。 以上。反証歓迎。