安全在庫の定義と役割
安全在庫とは何か─「もしも」に備える緩衝材
安全在庫は、需要やリードタイムのブレに備える“緩衝材”です。平均どおりに売れて、納期も予定どおりなら正直いりません。
でも現実は、想定外の注文や仕入れ遅延が必ず起きる。そこで、欠品を回避するための余裕分として安全在庫を持ちます。
ポイントは「多すぎても少なすぎてもダメ」。多すぎれば現金が在庫に化け、保管コストや陳腐化リスクが増える。少なすぎれば欠品で売上を逃す。
安全在庫は、この二律背反の間でサービスレベル(欠品をどれだけ避けたいか)に応じて決める“経営の意思”です。
感覚ではなく、ばらつき(標準偏差)と目標サービスレベルを数式に落とすのが肝要です。
欠品コストと過剰在庫コスト─何を最小化したいのか
意思決定は「総コスト最小化」の視点で行います。
欠品コストには、売上の機会損失、顧客離反、緊急出荷や代替提案の手間が含まれる。
一方、過剰在庫コストには、保管・金利・破損・値下げ処分などの費用がある。
欠品が痛い商材(高粗利・代替不可・新規顧客獲得フェーズ)は高いサービスレベルを、回転の遅いロングテールや賞味期限リスク品は控えめの水準を選ぶのが実務的です。
要は「全SKU一律」は悪手。
ABC分析や季節性を踏まえ、SKUごとに“許せる欠品率”を決め、そこから安全在庫を逆算するのが筋です。
発注点(ROP)との関係─式でつなぐ運用ライン
安全在庫は単体で使いません。発注点(ROP=Reorder Point)とセットで運用します。
基本式は ROP=需要の平均×リードタイム+安全在庫。
ここで“平均×リードタイム”が通常消費、“安全在庫”が不確実性への保険です。
ROPを下回ったら自動的に補充発注する仕組みを作ると、人の勘や担当者の多忙に左右されません。
重要なのは「見直し頻度」。販促・シーズン・価格改定・配送リードの変更で平均やばらつきは動きます。
少なくとも月次、繁忙期は週次で安全在庫とROPを更新し、運用が数字に追随する状態をキープしましょう。
業態別の勘所─小売・EC・製造で変わる前提条件
小売・ECは需要変動が大きく、販促やモール施策の影響を強く受けるため、需要側の不確実性が主因。
製造は工程・サプライヤー起因のリードタイム変動が効きやすい。
食品・化粧品はロットと期限、家電はシリアル・モデルチェンジの陳腐化が論点です。安全在庫は同じ式でも、どの変数が効くかが違う。
ECなら販促カレンダーと連動した係数調整、実店舗なら天候・イベント要因の補正、製造なら納期遵守率と工程能力の実績を入れる。
つまり“式は普遍、入力は現場依存”。自社の変動要因を言語化して数値に落とすことが、機能する安全在庫の第一歩です。
安全在庫の計算(サービスレベルとばらつきを数式にする)
サービスレベルとZ値─直感で決めず、確率で決める
「どれくらい欠品を避けたいか」を数値化したのがサービスレベルです。95%なら、在庫で95%の需要パターンをカバーする設計。
これを標準正規分布のZ値に変換して、ばらつきと掛け合わせれば安全在庫が求まります。
ざっくり、90%→1.28、95%→1.65、97.5%→1.96、99%→2.33が目安。直感や社内慣例で“だいたいこのくらい”と置くのではなく、「欠品を何%まで許容するのか」をまず合意し、その期待値を在庫に変換する。
意思決定の透明性が増し、部門間の溝(営業は多め、経理は少なめ)も埋めやすくなります。
需要変動型(LT一定)の式─プロモや季節で揺れるなら
リードタイムが安定し、需要のブレが主因のケース。
代表式は 安全在庫=Z×σD×√LT。σDは1日(週)の需要標準偏差、LTはリードタイム(同じ単位)。
例えば、日次需要の標準偏差が8個、LTが7日、サービスレベル95%(Z=1.65)なら、安全在庫は1.65×8×√7≒35個。
コツはσDの算出期間と外れ値処理。販促ピークを含めるかどうかで大きく変わるので、平常期と販促期で別モデルにするか、プロモフラグで分割した方が現実的。平滑化(移動平均・指数平滑)でノイズもならしておきましょう。
リードタイム変動型(需要一定)の式─仕入れ・物流が読めないなら
需要は比較的安定だが、納期がブレるケース。
式は 安全在庫=Z×D¯×σLT。D¯は期間当たり平均需要、σLTはリードタイムの標準偏差。
例えば、日次需要10個、LTの標準偏差2日、Z=1.65なら、安全在庫は1.65×10×2=33個。
輸入・委託製造・繁忙期の配送逼迫など、供給側の変動が主因ならこちらを採用。ポイントは“名目LT”ではなく“実績LT”で計算すること。
サプライヤーの公称値を信じ過ぎると、机上の安全在庫になり、現場では欠品が続く…というありがちな落とし穴を回避できます。
両方変動する場合─合成分散で一発計算
需要もLTも揺れるのが普通です。一般式は 安全在庫=Z×√(LT×σD²+D¯²×σLT²)。
直感的には「需要のブレ×LT」と「LTのブレ×平均需要」を二乗和で合成して、Zを掛けるだけ。
これならモデルを増やさず、1本の式で回せます。
実務では、SKUごとのデータ粒度(週次/日次)に合わせて単位をそろえる、異常値はWinsorizeや除外ルールで整える、シーズナリティは分割かダミー変数で吸収する――この3点を守ると暴れない。式はシンプルでも、入力値の品質こそが結果の差を生みます。
定量データによる効果比較
項目 | 適正在庫管理なし | 適正在庫管理あり |
---|---|---|
欠品率 | 12% | 4% |
滞留在庫率 | 25% | 10% |
在庫回転率 | 2.5回 | 4.0回 |
発注工数 | 月40時間 | 月15時間 |
このように数値で比較すると、適正在庫の効果は明らかです。
“使える”安全在庫
データ収集と前処理──外れ値・欠損・粒度を詰める
まずは販売履歴・発注履歴・入荷実績・在庫調整の4系統をそろえ、日次で整列。欠損やゼロ在庫日はフラグ化して除外影響を可視化します。外れ値処理は機械的に削るのではなく、販促・値引き・在庫切れ・出荷停止などの“理由”を突き合わせる。粒度は、SKU×拠点の最小単位が基本。ここで手を抜くと、σが膨らんだり、逆に小さく見えたりして、安全在庫が不安定になります。地味ですが、ETLの丁寧さがそのまま安全在庫の信頼性に跳ね返ります。
ABC分類とサービスレベルの差別化──一律運用はコスト高
A品は売上・粗利に直結、B品は準主力、C品はロングテール。これを踏まえ、A:97.5%、B:95%、C:90%のようにサービスレベルを分けると、在庫資金の配分が洗練されます。さらに賞味期限や型落ちリスクが高いSKUは、あえてサービスレベルを下げ、回転優先に振る。逆に代替不可・高粗利・新規顧客獲得のキラーSKUは一段上げる。数字は経営の意思そのもの。エクセルでも十分実装できるので、まずは“差別化”から着手しましょう。
季節性・販促の取り扱い──別モデルか係数か
季節・イベント・広告は需要の形を変えます。やり方は二択。①平常期モデルとピーク期モデルを分ける(12月用、夏フェス用など)、②平常期モデルに販促係数を掛ける(CVRや来店指数など)。トレードオフは運用負荷と精度。リソースが限られるなら②で始め、運用が回ってきたらA品だけ①へ格上げ、という“二層運用”が現実的です。どちらにせよ、販促カレンダーのメンテがサボると数字が崩れるので、責任分担を明確にしておくと安心です。
サービスレベル別のZ値と安全在庫例(定量比較)
次の表は、日次需要の標準偏差8、平均需要10、LT7日、LT標準偏差2日のケース。上段は需要変動のみ、下段は需要+LT変動を合成した例です。数字の“跳ね”を直感で掴んでください。
サービスレベル | Z値 | 安全在庫(需要のみ:Z×8×√7) | 安全在庫(合成:Z×√(7×8²+10²×2²)) |
---|---|---|---|
90% | 1.28 | 約27 | 約39 |
95% | 1.65 | 約35 | 約50 |
97.5% | 1.96 | 約42 | 約59 |
99% | 2.33 | 約49 | 約70 |
運用ルールと見直しサイクル
再計算の頻度とガバナンス─放置しない仕組み化
安全在庫とROPは設定して終わりではありません。
推奨は月次の定期再計算、繁忙期は週次でのパラメータ点検。販促・価格改定・在庫切れ・納期遅延のイベントログを見て、外れ値の混入を防ぎます。
運用ガバナンスとして、数値の承認フロー(現場→需給計画→経営)と変更履歴の保存は必須。
ダッシュボードで「欠品率」「過剰比率」「回転率」「在庫日数」を並べ、改善余地がどこにあるかを“毎週の会話”にのせる。
数字が動けば、現場は自然と改善に向かいます。
在庫連携・WMS・POSとの接続─単一の“在庫真実”を作る
計算が正しくても、在庫データが分散していると破綻します。
受注管理・WMS・POS・ECモールの在庫が一元同期され、単一の“在庫版マスタ”がある状態をまず作る。
返品・キャンセル・調整のイベントも即時反映し、在庫のライフサイクル全体をトレース可能に。こうしてはじめて、安全在庫=現場で効く数字になります。
仕組み上のタイムラグ(バッチ更新)には注意し、ピーク時間帯は更新頻度を上げるなど、運用で吸収しましょう。
例外ハンドリング─欠品・遅延・緊急発注のプロトコル
「想定外」は必ず起きます。欠品が見えたら、
①代替提案
②他拠点引当
③納期確定
の三点セットを即連絡。仕入れ遅延は見通しの早期化が命で、予定日変更を在庫に自動反映。
緊急発注は手動でも、プロトコル化しておくと迷いが減ります。
起きた例外はログ化して、翌月のσやLTの更新に反映。例外を“学習する”運用にしておけば、安全在庫は回すほど賢くなります。
KPIとアラート設計─見たい数字を先に決める
KPIは、欠品率、在庫回転率、在庫日数、滞留比率、発注遵守率、サービスレベル実績(充足率)。
しきい値を決め、超えたらアラートを飛ばす。たとえば「A品の欠品率>2%」「滞留比率>15%」「LT遅延>20%」など。
KPIは多すぎると回らないので、A/B/Cで指標としきい値を変えるのがコツ。成果の“見える化”は、現場のモチベーションにも効きます。
よくある失敗と回避策
平均だけを見てしまう─ばらつきを無視しない
平均需要×LTだけで在庫を置くと、平時は良くても、山と谷で崩れます。
安全在庫の本質は“ばらつきの吸収”。標準偏差を使い、サービスレベルを明示して意思決定する。
売上目標に合わせて在庫を膨らませるのもNG。需要の分布と供給実績を淡々と入れること。
気持ちではなく、確率で語る。これだけで在庫の会話は劇的に建設的になります。
リードタイムを“公称値”で固定─実績を使う
サプライヤーの公称LTは理想値。実績LTは天候・輸送・工程都合で揺れます。
安全在庫のσLTは、実績から計算するのが鉄則。直近の異常(港湾スト、為替急変など)は別扱いにしつつ、移動窓(直近3〜6か月)でロバストに更新。
「遅延が増えた」なら、在庫で吸収するか、調達先分散で“原因”を減らすかの二択。式だけでなく、サプライチェーン設計にも踏み込むと効きます。
SKU拡大でパラメータ崩壊─一律適用をやめる
SKUが増えると、AもCも同じZ・同じ窓で回しがち。結果、Aで欠品、Cで過剰が増えるのは“あるある”です。
ABC×季節性×リードタイムの3軸でテンプレを作り、A夏、A平常、B、C…と“型”を数個持って当てる。
細かくやり過ぎないのもコツ。まず効くところ(A×主力拠点)から丁寧に、残りは粗く。80/20で設計しましょう。
現場に落ちない数式─使える運用へブリッジする
数式が正しくても、入力が手作業、返り値が見づらい、承認が遅い―これでは回りません。
入力はスキャンや自動連携で“人手を減らす”、返り値はダッシュボードで“見れば分かる”、承認はワークフローで“止まらない”。
安全在庫は現場で“使われて”初めて価値になります。最後の1マイル(運用設計)に時間を割くのが、結局いちばんの近道です。
「安全在庫とは何か?欠品も過剰も起こさない“ちょうどいい在庫”の決め方」まとめ
安全在庫は、欠品の痛みと過剰の痛みを天秤にかけ、サービスレベルという意思を数式に落とした“経営装置”です。
Z値と標準偏差でブレを捉え、需要・リードタイム・季節性・販促をデータで反映する。
ABCで差別化し、ROPと組み合わせ、月次・繁忙期は週次で見直す。仕組みはシンプル、効かせどころは入力の品質と運用の地力。まずはA品から始め、例外を学習させ、KPIで改善を回す。
派手さはないけれど、利益と信頼を静かに底上げする――それが“使える安全在庫”の正体です。
