この記事でわかること:安全在庫の計算式、設計手順、複数モール運営での注意点
「安全在庫は何個にすればいいのか」──この問いに、明確な根拠を持って答えられるEC運営者は多くありません。
この記事のポイント
- 安全在庫=安全係数 × 標準偏差 × √リードタイムで設計する
- 複数モール運営では在庫同期の遅延時間もリードタイムに含める
- 季節商材は月次、リピート商材は四半期ごとに安全在庫を見直す
欠品を恐れて多めに仕入れれば過剰在庫になり、キャッシュフローが圧迫されます。かといって在庫を絞れば、セール時に売り越しが起き、機会損失と顧客離れにつながります。
安全在庫は「勘と経験」ではなく、計算式に基づいて設計できるものです。この記事では、安全在庫の基本的な考え方から計算手順、EC・複数モール運営で見落としがちな設計ポイント、そして定期的に見直す仕組みの作り方までを解説します。
安全在庫とは──適正在庫との違いを整理する
安全在庫の定義:欠品を防ぐための最低ラインの在庫
安全在庫とは、需要の変動やリードタイムのブレに備えて確保しておく「バッファ在庫」のことです。
たとえば、ある商品が1日に平均10個売れるとします。ただし、日によっては15個売れることもあります。この「ブレ」に対応するため、平均値だけで在庫を持つのではなく、一定の余裕を加えておく──それが安全在庫です。
安全在庫がなければ、少しでも需要が増えたり仕入れが遅れたりした時点で欠品が起きます。一方で多すぎれば、倉庫スペースを圧迫し、資金が在庫に固定されてしまいます。
適正在庫との関係:安全在庫は下限、適正在庫は上限を含む在庫水準
安全在庫と適正在庫は混同されやすい概念ですが、カバーする範囲が異なります。
| 項目 | 安全在庫 | 適正在庫 |
|---|---|---|
| 目的 | 欠品を防ぐ最低限のバッファ | 欠品も過剰も起こさない在庫水準 |
| 範囲 | 在庫の「下限ライン」 | 安全在庫+通常販売分を含む「上下限の範囲」 |
| 計算に使う要素 | 需要のブレ、リードタイム、サービス率 | 安全在庫+発注サイクル中の平均販売量 |
安全在庫は適正在庫を構成する一要素です。まず安全在庫を正しく設計し、それを土台に適正在庫の範囲を決めるという順序になります。
「勘と経験」で決めると何が起きるか
安全在庫を根拠なく決めていると、次のような問題が同時に発生します。
- 欠品の頻発:売れ筋商品がタイミング悪く切れ、機会損失が出る
- 過剰在庫の蓄積:「念のため」で仕入れた商品が売れ残り、保管コストが膨らむ
- キャッシュフローの悪化:在庫に資金が固定され、新商品の仕入れや広告投資に回せない
特に複数モールで併売している場合、モールごとに「なんとなく」在庫を配分していると、片方で欠品・もう片方で過剰在庫という状態が常態化しやすくなります。
安全在庫が合わなくなる3つの原因
一度安全在庫を決めたのに、欠品や過剰在庫が改善しない場合、原因は大きく3つに分かれます。
販売データの変動を見ずに固定値で運用している
「この商品は1日10個」と決めてそのまま運用しているケースは少なくありません。しかし、販売数は季節やキャンペーン、トレンドの変化で大きく変動します。
たとえば、冬物アパレルは10月から1月にかけて販売数が2〜3倍になることがあります。この時期に夏場の販売実績で設計した安全在庫のまま運用していれば、欠品は避けられません。
リードタイムの変動を計算に反映していない
仕入先の処理時間や物流の混雑状況によって、リードタイムは常に変動します。
特に海外仕入れの場合、通常2週間のリードタイムが繁忙期には3〜4週間に伸びることがあります。年末商戦やゴールデンウィーク前など、物流が混み合う時期にリードタイムが固定値のままでは、在庫が届く前に売り切れてしまいます。
複数モールの合算需要を考慮していない
楽天・Amazon・Yahoo!ショッピングなど複数モールで販売している場合、モールごとに安全在庫を設計して合算すると、全体として過剰になりがちです。
たとえば、3つのモールでそれぞれ安全在庫を5個ずつ持てば合計15個ですが、モール間で在庫を共有している場合、実際に必要なバッファはそれより少なくなります。逆に、共有在庫の合計だけで設計すると、特定モールの急な需要増に対応できないこともあります。
安全在庫の計算式と4つのステップ
基本の計算式
安全在庫の計算式は次のとおりです。
安全在庫 = 安全係数 × 使用量の標準偏差 × √リードタイム
この式を構成する3つの要素を、順を追って求めていきます。
ステップ1:サービス率(欠品許容率)から安全係数を決める
サービス率とは「欠品を起こさない確率」のことです。サービス率が高いほど、安全在庫は多くなります。
| サービス率 | 安全係数 | 意味 |
|---|---|---|
| 90% | 1.28 | 10回に1回は欠品してもよい |
| 95% | 1.65 | 20回に1回は欠品してもよい |
| 99% | 2.33 | 100回に1回は欠品してもよい |
EC運営では、まずサービス率95%(安全係数1.65)で計算し、商品の重要度に応じて上下させるのが現実的です。すべての商品を99%にすると在庫コストが跳ね上がるため、売れ筋商品は高め、ロングテール商品は低めに設定する方法がよく使われます。
ステップ2:販売実績から標準偏差を求める
標準偏差は「販売数のバラつきの大きさ」を数値化したものです。
計算方法は次のとおりです。
- 直近3〜6か月の日別(または週別)の販売数を集める
- 平均販売数を求める
- 各日の販売数と平均値の差を二乗する
- 二乗した差の平均を求め、その平方根を取る
たとえば、ある商品の直近30日の販売数の標準偏差が3個だった場合、「平均から±3個のブレがある」ことを意味します。
表計算ソフトでは「STDEV」関数を使えば、販売数のセル範囲を指定するだけで自動計算できます。
ステップ3:発注リードタイム+入荷リードタイムを日数で算出する
リードタイムは「発注してから手元の在庫として使えるようになるまでの日数」です。
- 発注リードタイム:発注の意思決定から仕入先に注文が届くまで
- 入荷リードタイム:仕入先が出荷してから自社倉庫で検品・棚入れが完了するまで
この2つを足した日数が計算式のリードタイムになります。たとえば、発注に1日、仕入先の出荷に3日、配送に2日、検品に1日かかるなら、リードタイムは7日です。
ステップ4:計算式に当てはめて安全在庫数を出す
具体的に計算してみましょう。
- サービス率:95%(安全係数 1.65)
- 標準偏差:3個/日
- リードタイム:7日
安全在庫 = 1.65 × 3 × √7 = 1.65 × 3 × 2.65 ≒ 13個
この商品は、欠品率5%以下を維持するために最低13個の在庫をバッファとして持つ必要がある、ということです。
この数値はあくまで出発点です。実際に運用してみて欠品や過剰が起きた場合は、サービス率やリードタイムの値を調整します。
計算だけでは足りない──EC・複数モール運営での設計ポイント
安全在庫の計算式は倉庫・物流を前提に作られたものです。ECの複数モール運営では、計算式だけではカバーできない要素があります。
モールごとの販売比率で按分するか、共通在庫で持つか
在庫の持ち方には2つのパターンがあります。
- 按分型:モールごとに在庫を割り当て、それぞれに安全在庫を設計する
- 共有型:全モール共通の在庫プールを持ち、合算の需要で安全在庫を設計する
按分型はモール間の在庫干渉がない反面、全体の在庫量が多くなります。共有型は在庫効率がよいですが、在庫同期の仕組みがなければ同じ在庫を複数モールで売ってしまう二重販売のリスクがあります。
多くのEC事業者は共有型を採用していますが、その場合は在庫同期の仕組みが前提になります。
在庫同期の遅延時間をリードタイムに加える
複数モールで在庫を共有している場合、あるモールで売れた情報が別のモールに反映されるまでに時間がかかります。
たとえば、在庫同期に15分の遅延があるとします。その15分の間に別のモールで同じ商品が売れれば、実在庫と表示在庫にズレが生じます。
この「同期遅延」は、安全在庫の計算式におけるリードタイムの一部として考えるべきです。同期遅延が長いほど、その分だけ安全在庫を多めに持つ必要が出てきます。
セール・キャンペーン時は一時的にバッファを上乗せする
安全在庫の計算式は「通常時の販売データ」を前提にしています。楽天スーパーSALEやAmazonプライムデーなど、通常の2〜5倍の注文が来るイベント期間には、計算式だけでは対応できません。
対策としては、過去の同種セールの販売実績をもとに、イベント期間中だけ安全在庫に一時的なバッファを上乗せする方法が有効です。セール終了後は通常の安全在庫に戻します。
安全在庫の見直しサイクルと調整方法
安全在庫は「一度決めたら終わり」ではありません。販売環境の変化に合わせて定期的に見直す仕組みが必要です。
月次で見直すべき指標:欠品率・在庫回転率・過剰在庫率
安全在庫が適切かどうかは、以下の3つの指標で判断します。
- 欠品率:全商品のうち、在庫切れを起こした商品の割合。上昇していれば安全在庫が不足している
- 在庫回転率:一定期間に在庫が何回入れ替わったか。低下していれば在庫が多すぎる
- 過剰在庫率:一定期間売れなかった在庫の割合。上昇していればバッファが過大
これらを月次で確認し、安全在庫の値を調整します。
季節商材とリピート商材で見直し頻度を分ける
すべての商品を同じ頻度で見直す必要はありません。
- 季節商材(アパレル、季節食品など):月次で見直す。販売トレンドが短期間で大きく変わるため
- リピート商材(消耗品、日用品など):四半期ごとに見直す。販売データが比較的安定しているため
見直しのタイミングで、リードタイムの変化(仕入先の変更、物流ルートの変更など)も同時に確認します。
見直し時のチェックリスト
見直しのたびに以下の3項目を確認します。
- 販売トレンド:直近の販売数に大きな変化はないか。標準偏差を再計算する必要があるか
- 仕入リードタイム:仕入先や物流の状況に変化はないか。リードタイムの日数を更新する必要があるか
- モール構成:出店モールの追加・停止がないか。追加があれば全体の需要予測を再計算する
自社に合った安全在庫を決めるための判断チェックリスト
5つの判断項目で現状を点検する
安全在庫の設計を始める前に、自社の現状を点検します。以下の5項目で「できている」と言えるかを確認してください。
| # | チェック項目 | できている | できていない |
|---|---|---|---|
| 1 | 商品別の日別(または週別)販売データを取得できる | ○ | × |
| 2 | 仕入先ごとのリードタイム(日数)を把握している | ○ | × |
| 3 | 欠品をどこまで許容するか(サービス率)を社内で決めている | ○ | × |
| 4 | 複数モールの在庫をリアルタイムで同期する仕組みがある | ○ | × |
| 5 | 安全在庫を定期的に見直すルール・タイミングが決まっている | ○ | × |
スコア別の対応方針:まず計算式を導入するか、同期基盤から整えるか
- 4〜5個「できている」:計算式をすぐに導入し、見直しサイクルを運用に組み込む段階です
- 2〜3個「できている」:計算式を導入しつつ、足りない部分(データ取得、リードタイム把握)を並行で整備します
- 0〜1個「できている」:計算式を導入する前に、在庫データの基盤を整える必要があります
特に項目4「在庫同期の仕組み」がない場合は注意が必要です。計算式で安全在庫を設計しても、モール間で在庫数がズレていれば設計どおりに機能しません。まず在庫の更新元を一つにまとめて複数モールの在庫を管理する方法を整理し、正確な在庫数を把握できる状態を作ることが前提です。
まとめ:安全在庫を数値で設計し、定期的に見直す仕組みをつくる
安全在庫の設計は、次の2つの段階で進めます。
- 初期設計:計算式(安全係数 × 標準偏差 × √リードタイム)に基づき、商品ごとの安全在庫数を決める
- 定期見直し:月次または四半期ごとに欠品率・在庫回転率・過剰在庫率を確認し、安全在庫を調整する
複数モールで運営している場合は、在庫同期の遅延時間をリードタイムに含めることと、セール時の一時バッファ上乗せを忘れないでください。
安全在庫の設計を実効的にするには、まず正確な在庫数をリアルタイムで把握できる仕組みが前提です。複数モールの在庫同期や在庫設計について整理したい方は、こちらから相談できます。