在庫データを倉庫別に合算してはいけない|販売用の仮在庫と材料在庫が混ざると「あるから作らない」という逆の判断になる構造と、先に確かめる項目
在庫データを倉庫別に合算してはいけない|販売用の仮在庫と材料在庫が混ざると「あるから作らない」という逆の判断になる構造と、先に確かめる項目
POSレジや在庫管理システムから在庫データを書き出すと、「倉庫」や「店舗」ごとに数量が並んだ表が出てきます。発注や製造の判断に使うとき、まずやりたくなるのが全倉庫の合計を出すことです。
結論を先に書きます。
- 在庫データの数字は、倉庫ごとに意味が違う。同じ「数量」列でも、実在する完成品の数とは限らない
- 混ざりやすいのは3種類。①ネット販売を止めないために入れた仮の在庫 ②製品ではなく材料の在庫 ③閉店・廃止した拠点に残った数字
- これらを合算すると、完成品の在庫を実際より多く見積もる。ずれの向きはほぼ常に「多いほう」なので、「在庫があるから作らなくていい・仕入れなくていい」という逆の判断になる
- 対策は、合算する前に倉庫1つずつ「この数字は何を数えているのか」を確かめ、計算に入れる倉庫と入れない倉庫を設定として明示すること
この記事では、実店舗・ネット通販・自社工場を持つ製造小売の事業で、在庫データを自動集計の仕組みに載せたときの実測値を使って、混ざり方の構造と確かめる項目を説明します。規模が小さい店でも構造は同じなので、最後に美容室の店販に引き直します。
なぜ「倉庫別の数字」は足せないのか
在庫管理システムの「倉庫」は、物理的な置き場所を表すとは限りません。システム上は、数量を入れる箱が複数あるだけです。その箱を現場がどう使っているかは、画面にも書き出したCSVにも書かれていません。
よくある使われ方は次の3つです。
| 倉庫の使われ方 | 数字の正体 | 合算するとどうなるか |
|---|---|---|
| 販売用の仮在庫 | 「在庫0だと販売できない」仕様を回避するために入れた仮の数 | 実在しない在庫が足される |
| 材料・部品の置き場 | 完成品ではなく、革・金具・部材の数量(単位も個数とは限らない) | 製品と材料が同じ「点数」として足される |
| 閉店・廃止した拠点 | 過去の残骸、または別の場所にある物を旧名義で出しているだけ | 存在しない拠点の在庫が足される |
どれも、現場の担当者にとっては当たり前の運用です。当たり前すぎて、資料に残っていないことが多い。そしてデータだけを受け取った側(集計を組む人、外部の制作会社、AI)には見分けがつきません。数字はどの倉庫でも同じ顔をしているからです。
実例:合計すると完成品在庫が大きく膨らんでいた
弊社が在庫集計と製造指示の自動化を支援している製造小売の事業で、実際のデータを倉庫別に分解した結果を紹介します。約1万品番規模、拠点は本社・実店舗数店・ネット通販・自社工場です。
1. 通販倉庫は「販売できるようにするための仮の数」だった
この事業では、POSの仕様上、在庫が0の商品はネットで販売できません。そこで通販用の倉庫に仮の在庫数を入れて販売可能にしていました。通販専用の在庫は物理的には存在せず、注文が入ったら本社か実店舗の在庫から引き当て、無ければ製造します。
ある基準日のデータでは、この通販倉庫に57,443点が入っていました。これは全部、実在しない数字です。
影響を測るために、工場で製造する品番に絞って集計し直すと次のとおりでした。
- 通販倉庫の仮在庫は13,128点。製造対象品の在庫全体の36%を占めていた
- 仮在庫が乗っていた品番×色の組み合わせは1,653件
- そのうち593件は、通販倉庫を除くと在庫がゼロだった
593件は、本来「在庫切れ。作る必要がある」と判定されるべきものです。合算していると「在庫あり」に見えます。欠品の発見が遅れる方向にだけ働く誤差なので、現場の感覚とも食い違いにくく、気づきにくいのが厄介なところです。
2. 工場倉庫の95.6%は製品ではなく材料だった
工場倉庫には711,540点が入っていました。通販倉庫のさらに10倍以上の数字です。内訳を部門別に出すと、こうなりました。
| 中身 | 数量 | 備考 |
|---|---|---|
| 原皮(革材料) | 680,165 | 全体の95.6%。数量に小数が入る |
| 手帳 | 20,928 | うち20,900が別注品(受注生産)の1行 |
| 部品・材料 | 5,891 | リング、カシメ、ネジなど |
| 完成品(財布・ベルト・バッグ等) | 各10〜300 | ごく少量 |
決め手は数量に小数が入っていたことです。32.7のような値は、個数ではなく面積や長さの単位で材料を数えている証拠です。革の面積と財布の個数を同じ「点数」として足しても、意味のある数字にはなりません。
2番目に大きい手帳の20,900点も、受注生産の別注品に入っていた1行で、実質的にはダミーの数値でした。上位2つで全体の98.6%です。つまり工場倉庫の数字は、完成品の在庫週数や欠品予測には使えません。材料の手配という別の計画のためのデータです。
3. 閉店した店舗の行が残っていた
書き出したCSVには、すでに閉店した店舗の列も残っていました。数量は2行3点だけ。本社にある物が旧店舗の名義で出ているか、誤差です。量は小さくても、店舗間の移動指示を自動で出す仕組みでは「存在しない店から商品を移動させる」という指示の原因になります。
合算と実棚卸の差
この事業では、過去の基準在庫から販売分を消し込んで理論在庫を出していました。その理論在庫では工場製造品が29,239点。一方、新たに実施した実棚卸の数字は17,150点でした。約1.7倍の過大評価です。理論在庫がマイナスになる行も、787件から76件へ減りました。
差のすべてが仮在庫のせいだとは言えません(消し込みの誤差や入庫の反映漏れも含まれます)。ただ、基準時点で36%を占めていた仮在庫が、過大評価の大きな要因のひとつだったと見ています。
合算する前に確かめる5項目
在庫データを集計や自動化に使う前に、倉庫1つずつ、次の5項目を確認します。データを見れば分かるものと、人に聞かなければ分からないものがあります。
① その倉庫に「物」は実在するか(人に聞く)
倉庫の一覧を担当者に見せて、「ここに行けば、この数の商品が棚にありますか」と1つずつ聞きます。ネット通販・モール・催事用など、販売チャネルの名前が付いた倉庫は特に要注意です。「在庫0だと売れない」「在庫連携ツールの都合で数を入れている」といった事情で、仮の数字が入っていることがあります。
② 数量に小数が入っていないか(データで分かる)
数量列に小数が1行でもあれば、その倉庫(または部門)は個数以外の単位で数えています。材料・量り売り・メートル単位の商材です。完成品の集計からは分けます。
③ 上位数行が全体の何%を占めているか(データで分かる)
倉庫ごとに数量の大きい順に並べ、上位の行が全体に占める割合を出します。1行で倉庫全体の数%以上を占める行があれば、中身を確認します。切りのよい大きな数が1行だけ入っている場合や、受注生産品・役務・送料といった在庫の概念が無い商品は、ダミー値の可能性があります。
④ 部門・カテゴリ別の内訳は想定どおりか(データで分かる)
倉庫×部門のクロス集計を1枚作ります。「工場倉庫に完成品がほとんど無く、材料ばかり」「店舗倉庫なのに備品が大量にある」といった偏りは、この表でひと目で分かります。
⑤ 現在は使っていない拠点が混ざっていないか(人に聞く)
閉店・移転・統合した拠点が、データ上は残り続けます。拠点の一覧を見せて、今も稼働しているかを確認します。
同じ考え方は、在庫以外の列にも当てはまります。この事業の販売データには「店舗名」の列がありましたが、中身は行ごとの販売店舗ではなく、書き出し時に指定した絞り込み条件が全行に入っているだけでした。列の見出しと中身が一致しているとは限りません。見出しを信じる前に、値の種類を数えてみるのが確実です。
仕組みに載せるときの設計
確認が終わったら、その結果を集計の仕組みに反映します。ポイントは5つあります。
1. 除外する倉庫はコードに埋めず、設定として持つ。 「仮在庫の倉庫」のリストを設定ファイルに書き、在庫を読み込むすべての経路がそれを参照するようにします。データの形式が途中で変わって読み込み経路が複数ある場合、片方だけに除外を入れると、もう片方から仮在庫が入り込みます。
2. 在庫は除外しても、その倉庫の売上は落とさない。 通販で売れた商品は、物理的には本社や店舗の棚から出荷されています。通販倉庫の売上まで捨てると、今度は全社の在庫が減らなくなり、別の向きの過大評価が起きます。「在庫としては数えない。販売としては数える」が正しい扱いです。
3. 補充元の候補からも外す。 店舗間の移動指示を出す仕組みでは、仮在庫の倉庫を補充元にすると、存在しない在庫を移動させる指示が出ます。在庫の合計から外すだけでは足りません。
4. 閉店した拠点は、定義ごと消さずに「閉店として除外」と明示して残す。 データ側に列が残っている限り、定義を消すと「未定義の拠点」として黙って読み飛ばされます。将来その列に数字が戻ってきたとき、気づく手がかりが無くなります。
5. 画面に注記を出す。 集計結果を見る画面に「通販は仮数値のため在庫計算から除外」と書いておきます。合計が以前より減った理由を、見る人がその場で理解できるようにするためです。
なお、この事業で除外を入れた時点の最新データでは、通販倉庫はすでにほぼ空になっており、除外を入れても製造の判定は1件も変わりませんでした。それでも除外の設定は残しています。販売の都合でまた仮の数字が入れば、その日から593件規模の見落としが再発するからです。今効いていない防御でも、原因が運用側にあって再発しうるなら外さない、という判断です。
この方法の限界
材料の倉庫を完成品の計算から外すのは正しい処理ですが、外しただけでは材料が足りるかどうかは分からなくなります。「この品番を来週まとめて作る」という指示を出しても、革が足りるかは別に確認が必要です。材料は捨てるデータではなく、別の計画(材料手配)として扱うデータです。完成品の集計が安定してから、次の段階として組むのが現実的です。
もうひとつ。倉庫の意味は、担当者の頭の中にしかないことが多く、聞いた内容を文書に残さないと、集計を触る人が変わるたびに同じ説明をしてもらうことになります。説明する側の負担が大きいうえ、聞きそびれたときに誤った合算が復活します。「倉庫名/実在するか/何を数えているか/単位/集計に入れるか」の5列の表を1枚作り、仕組みの設定と同じ場所に置くのがおすすめです。
美容室・小さな店舗に引き直すと
1万品番の製造業でなくても、同じことは起きます。
- 店販用と業務用が同じ在庫表に入っている。 店販のシャンプーと、施術で使う業務用のカラー剤・パーマ液は、数える単位も減り方も違います。合算して「在庫は十分」と見てはいけません
- テスターやサンプルが数に入っている。 売れない物が「在庫あり」を支えていることがあります
- ネットショップや予約サイト側に入れた販売可能数を、実在庫と思い込む。 売り切れ表示を避けるために多めに入れた数は、今回の仮在庫と同じものです
- 閉めた店舗、やめたメニューの在庫行が残っている。 多店舗なら、店舗間で融通するときの判断を狂わせます
在庫表がスプレッドシート1枚でも、「この行は何を数えているか」の列を1本足すだけで防げます。
まとめ
- 在庫データの数量は、倉庫ごとに意味が違う。販売用の仮在庫・材料在庫・閉店拠点の残骸が混ざりやすい
- 合算のずれはほぼ常に「多いほう」に出るので、「あるから作らない・仕入れない」という逆の判断になる。実例では製造対象品の在庫の36%が仮在庫で、593件は実際には在庫ゼロだった
- 合算する前に、実在するか/小数が無いか/上位行の占有率/部門別の内訳/稼働中の拠点か、の5項目を倉庫ごとに確かめる
- 除外は設定として持ち、売上は落とさず、補充元からも外し、閉店拠点は明示して残し、画面に注記する
- 材料は捨てずに別の計画として扱う。倉庫の意味は表にして残す
計算の層と判断の層をどう分けるかはAIに在庫管理を任せるときの設計、複数チャネルの受注を1枚にまとめる構成はネットショップの受注を1枚のスプレッドシートに集約する設計にまとめています。
弊社では、在庫・販売データの中身の確認から、集計と発注・製造判断の自動化までを一貫して支援しています。「今あるデータでどこまでできるか」という段階のご相談で構いません。お気軽にお問い合わせください。