適正在庫とは、欠品による販売機会の損失と、過剰在庫による保管コストの両方を抑えられる在庫量の範囲のことです。
適正在庫は「何個」という1つの数字ではなく、下限と上限を持つ範囲として決めます。下限にあたるのが安全在庫、下限に近づいたときに発注をかける目安が発注点です。この3つの関係をつかむと、在庫の数字がぶれる理由が説明できるようになります。
複数のネットショップを運営している事業者には、もう1つ固有の論点があります。店舗ごとに在庫を分け、各店舗の需要が完全には同じ動きをしない場合、在庫を集約する運用よりも安全在庫や在庫コストが大きくなりやすい点です。効果の大きさは店舗間の需要相関や目標サービス水準で変わります。本記事では、適正在庫の定義と計算式を整理したうえで、EC多店舗の受注データを使った計算例を示し、複数店舗の在庫を1つの数字で管理する考え方まで扱います。
適正在庫とは
適正在庫とは、欠品による販売機会の損失と、過剰在庫による保管コストの両方を抑えられる在庫量の範囲のことです。上限を超えると保管費や値下げ、資金の固定化が増え、下限を割ると欠品の確率が上がります。
在庫管理では似た言葉がいくつも登場します。適正在庫を正しく置くために、まず関係を整理します。
| 用語 | 意味 | 適正在庫との関係 |
|---|---|---|
| 安全在庫 | 需要や納期のばらつきに備えて確保する在庫量 | 本記事の簡易モデルでは適正在庫の下限 |
| サイクル在庫 | 発注ロットQに伴って増減する在庫。最大値はQ、平均値はQ÷2 | 本記事の簡易モデルでは上限=安全在庫+発注ロットQ |
| 発注点 | 在庫ポジションがこの数量まで減ったら発注する、という目安 | 範囲の中で「いつ発注するか」を決める タイミング |
| 理論在庫 | 入出荷の記録から計算した帳簿上の在庫数 | 実在庫との差(棚卸差異)が大きいと、適正在庫の計算自体が狂う |
| 基準在庫 | 適正在庫と同じ意味で使われることが多い言葉 | 社内で「基準在庫」と呼んでいる場合は、下限・上限のどちらを指すか確認する |
安全在庫の求め方は、需要のばらつきと欠品許容率から決めます。詳しい計算は「安全在庫の計算式」で扱い、本記事では適正在庫の範囲を組み立てる部品として使います。発注点の決め方は「発注点の決め方」にまとめています。
なお、生産管理用語を扱う日本産業規格の現行版はJIS Z 8141:2022です。本記事の「適正在庫」は、EC実務で管理判断に使う範囲として定義しており、JISの定義を引用したものではありません。(出典:日本規格協会「JIS Z 8141:2022 生産管理用語」)
適正在庫を「範囲」で考える理由
適正在庫を1つの数字で決めると、その数字を守ること自体が目的になり、発注のたびに数量の判断が要ります。範囲で決めておけば、「下限を割らないように、上限まで補充する」という運用ルールに置き換えられます。
欠品側と過剰側、両方に損失がある
欠品側の損失は、注文を受けられなかったぶんの売上、キャンセル対応の手間、レビューへの影響です。「欠品とは」で扱っているように、欠品は表示上の「在庫あり」と実在庫がずれたときにも起きます。
過剰側の損失は、保管スペースと保管費、季節商品や型落ち商品の値下げ、そして仕入れに使った資金が在庫として固定されることです。どちらか一方だけを避けようとすると、もう一方が膨らみます。範囲で持つのは、両方の損失を同時に見るための枠組みです。
EC多店舗では「店舗ごとに在庫を分ける」ことが範囲を膨らませる
楽天市場・Yahoo!ショッピング・自社サイトのように複数の店舗を運営していると、店舗ごとに在庫数を登録し、それぞれの店舗で欠品しないように在庫を分けて持つ運用になりがちです。
この運用では、店舗別に安全在庫を設定するため、その合計が統合需要に対して計算した安全在庫を上回ることがあります。これは需要をまとめることで変動を相殺しやすくなる「リスクプーリング」の効果です。ただし、削減効果は店舗間の需要相関に左右され、需要が完全に同じ動きをする場合は効果が小さくなります。(出典:Eppen, Management Science, 1979)
さらに、店舗ごとに在庫を分けると、A店では売り切れているのにB店には在庫が残っている、という状態が日常的に起きます。これは「合計では適正在庫の範囲内なのに、店舗単位では欠品と過剰が同時に発生している」状態です。
一点物を多く扱う株式会社未来ガ驚喜研究所は、TEMPOSTAR導入前の運用について「売り越しトラブルを防ぐために1時間おきに受注を確認する『Yahoo!オークション専任チーム』を結成し、人力で対応していました。」と述べています。店舗別の販売状況を人手で確認していた例です。(事例:RINKAN様(株式会社未来ガ驚喜研究所)導入事例)
在庫を1つにまとめて全店舗に同じ数を反映すると、需要相関が完全でない場合は合計安全在庫を抑えやすくなり、店舗間で欠品と余剰が同時に生じる状態も減らせます。ただし、在庫反映の遅延、実在庫との差異、キャンセルなどによる売り越しリスクは残ります。この考え方は「EC一元管理システムとは」で扱う一元管理の前提でもあります。
適正在庫の計算方法(安全在庫+サイクル在庫)
「適正在庫」には業種を問わず共通する単一の標準式はありません。本記事では、在庫を常時確認して発注点で一定量Qを発注する「発注点方式」を中心に、管理上の下限を安全在庫、上限の目安を安全在庫+発注ロットQとして扱います。週1回など決まった周期で発注判断をする「定期発注方式」とは、安全在庫がカバーする期間が異なります。
【発注点方式(在庫を常時確認)】
安全在庫 = 安全係数 × 日次販売数の標準偏差 × √発注リードタイム
発注点 = 1日平均販売数 × 発注リードタイム + 安全在庫
発注ロットQ(サイクル在庫の最大値)= 1日平均販売数 × 発注間隔
管理上限の目安 = 安全在庫 + 発注ロットQ
【定期発注方式(R日ごとに確認)】
安全在庫 = 安全係数 × 日次販売数の標準偏差 × √(発注リードタイム + R)
発注後の目標在庫ポジション = 1日平均販売数 ×(発注リードタイム + R)+ 安全在庫
上式は、日次需要が独立で、平均と標準偏差が大きく変わらず、発注リードタイムが一定という簡易モデルです。リードタイムも変動する場合は、需要変動とリードタイム変動を組み合わせた分散で計算します。また、間欠需要、販促、強い季節性、偏りの大きい需要では近似値になります。(出典:Oracle NetSuite「Inventory Optimization Calculations」、MIT OpenCourseWare「Inventory Lecture」)
各項の意味は次のとおりです。
- 1日平均販売数:対象期間の販売数を日数で割った値。
- 発注間隔:発注から次の発注までの日数。週1回の発注なら7日。
- 発注リードタイム:発注してから納入されるまでの日数。変動がある場合は平均だけでなく標準偏差も確認します。
- 在庫ポジション:手持在庫+発注残-引当済み数量。発注点方式では、手持在庫だけでなくこの値で発注判断をします。
- 日次販売数の標準偏差:販売数が日によってどれだけばらつくかを表す値。ばらつきが大きいほど安全在庫が増えます。
- 安全係数:目標サービス水準に対応する標準正規分布のz値。Excelでは
NORM.S.INV(1-欠品許容率)で計算できます。(出典:Microsoft「NORM.S.INV関数」)
安全係数と欠品許容率の対応は次の表のとおりです。
| 欠品許容率 | 安全係数(小数第2位まで) |
|---|---|
| 1% | 2.33 |
| 2% | 2.05 |
| 5% | 1.65 |
| 10% | 1.28 |
| 20% | 0.84 |
この表では、欠品許容率5%を目標サービス水準95%に対応させ、z値を1.65としています。これは正規分布を仮定したモデル上の設定値で、欠品した数量の割合を示す充足率(フィルレート)とは別の指標です。欠品による機会損失を避けたい定番品はサービス水準を高く、売れ残りのリスクを重視する季節商品や流行品は低く設定する、という考え方で使い分けます。(出典:Oracle NetSuite「Inventory Optimization Calculations」)
サイクル在庫は発注ロットQに伴ってQから0へ減る在庫で、平均はQ÷2です。本記事では、Qを「1日平均販売数×想定発注間隔」で置き、入荷直後の管理上限を安全在庫+Qとして試算します。これは実務向けの簡易目安であり、最適な発注量は発注費、保管費、ロット制約なども含めて決めます。
EC多店舗の受注データで計算する手順(計算例)
自社の数字で適正在庫を出すときは、全店舗の受注データを1つにまとめ、SKU別・日別の販売数に直すところから始めます。手順は4つです。
- 受注データを統合する:各店舗の受注CSVを縦に結合し、SKU・日付・販売数の3列にそろえます。店舗別に集計してから足すのではなく、先に1つのデータにします。
- 1日平均販売数と標準偏差を出す:対象SKUの日別販売数に対して、Excelなら
AVERAGEで平均を求めます。対象期間を将来需要を推定するための標本とみなす場合はSTDEV.S、期間内データ全体のばらつきをそのまま要約する場合はSTDEV.Pを使います。売れなかった日も0として残し、空白セルにしません。(出典:Microsoft「STDEV.S関数」、Microsoft「統計関数」、Oracle NetSuite) - 発注リードタイムと発注間隔を確認する:仕入先への発注日と入荷日の記録から実績日数を取ります。
- 式に当てて、下限・発注点・上限を出す。
計算例
以下はすべて説明用に設定した数値です。
前提:商品Xを楽天市場・Yahoo!ショッピング・自社サイトの3店舗で販売し、在庫ポジションを常時確認する発注点方式を採用。3店舗合計の1日平均販売数は12個(内訳は楽天市場6個・Yahoo!ショッピング4個・自社サイト2個)、日次販売数の標準偏差は4個。発注リードタイム6日、想定発注間隔7日(発注ロットQ=7日分)、欠品許容率5%(安全係数1.65)。
| 項目 | 計算 | 結果 |
|---|---|---|
| 安全在庫(下限) | 1.65 × 4 × √6 = 1.65 × 4 × 2.449 = 16.2 | 17個(切り上げ) |
| 発注ロットQ(サイクル在庫の最大値) | 12 × 7 | 84個 |
| 発注点 | 12 × 6 + 17 | 89個 |
| 管理上限の目安 | 17 + 84 | 101個 |
| 適正在庫の範囲 | 下限〜上限 | 17〜101個 |
| 平均在庫の目安 | 17 + 84 ÷ 2 | 59個 |
読み方は次のとおりです。在庫ポジションが89個まで減ったら84個を発注します。6日後に入荷するまでに平均72個(12個×6日)売れる見込みなので、入荷直前の手持在庫は17個前後です。この17個が、販売数が平均より多かった日に備える安全在庫です。84個が入荷すると手持在庫は約101個に戻ります。平均12個/日の需要と84個の発注ロットなら、発注は平均して7日間隔になります。
欠品許容率を10%(安全係数1.28)に緩めると、安全在庫は 1.28 × 4 × √6 = 12.5 → 13個になり、発注点は85個、管理上限は97個、平均在庫の目安は55個に下がります。5%設定と比べると、安全在庫と平均在庫の目安が4個減る計算です。ただし、その分だけ目標サービス水準も下がるため、欠品損失と売れ残りリスクをSKUごとに比較して決めます。
店舗ごとに計算した場合との違い
同じ商品Xを3店舗それぞれで在庫を分けて持つ場合、店舗ごとの日別販売数から標準偏差を測り直して安全在庫を計算します。店舗需要が完全には同じ動きをしない場合、各店舗の安全在庫を足した値は、統合需要の標準偏差4個から計算した17個を上回ることがあります。一方、需要が強く正相関する場合は集約効果が小さくなるため、店舗別の標準偏差だけでなく相関も影響します。
どれだけ削減できるかは店舗ごとの販売パターンと相関、目標サービス水準で変わります。在庫を集約すれば必ず同じ割合で減るわけではありませんが、需要が完全に正相関していないときは、統合需要の変動が店舗別変動の単純合計より小さくなり、安全在庫を抑えやすくなります。(出典:Eppen, Management Science, 1979)
適正在庫を維持する方法
計算した範囲を守り続ける在庫適正化の取り組みは、日々の発注と在庫の反映を仕組みに落とすことに集約されます。ポイントは5つです。
1. 発注点を決めて、機械的に発注する
在庫ポジションが発注点以下になったら一定量を発注する、というルールを先に決めておくと、発注タイミングの属人化を抑えられます。発注点の考え方と設定方法は「発注点の決め方」で扱っています。
2. 在庫回転率で結果を検証する
適正在庫の範囲で運用できているかは、在庫回転率の推移でも事後に確認できます。たとえば、年間の出庫数が4,380個、平均在庫が120個なら、数量ベースの在庫回転率は 4,380 ÷ 120 = 36.5回、在庫回転日数は 365 ÷ 36.5 = 10日です(説明用に設定した数値です)。在庫回転日数は在庫保有の実績を示す指標で、発注間隔+発注リードタイムと単純に一致するものではありません。過去実績や同じ商品分類と比較し、変化の理由を確認します。在庫回転率の計算と読み方は「在庫回転率の計算」を参照してください。
3. 標準偏差を定期的に測り直す
セール、季節、広告出稿で販売数のばらつきは変わります。更新頻度は商材で異なりますが、季節商品や販促の影響が大きいSKUは、セール前後やシーズン切替時などに直近の販売実績で再計算します。過去データだけでは現在の需要構造を十分に表せない場合があるためです。
4. 在庫を1つにまとめて、全店舗に反映する
前の章で見たとおり、店舗需要が完全には同じ動きをしない場合、店舗別に在庫を持つよりも、在庫を集約したほうが合計安全在庫を抑えやすくなります。どの店舗で売れても共通在庫から引き、残数を各店舗に反映する運用は、その効果をEC多店舗で活かす方法の1つです。
複数店舗の在庫を1つにまとめる仕組みが在庫連動です。TEMPOSTARの在庫管理機能では、各店舗の受注情報から販売個数を取得して共有在庫を更新し、他店舗へ5分〜10分間隔で反映します。在庫API連携に対応する店舗では、反映間隔を短縮できる場合があります。実際の反映速度や対応範囲は、店舗・連携仕様によって異なります。(機能詳細:TEMPOSTAR「在庫管理機能」)
セット商品については、構成する単品とセット商品を関連付け、セット商品の在庫数を自動管理できます。構成数や販売可能数の扱いは設定・連携仕様を確認してください。(機能詳細:TEMPOSTAR「在庫管理機能」)
5. 発注のタイミングを通知で可視化する
発注点を決めても、在庫数を毎日目で追う運用には負荷がかかります。TEMPOSTARでは、在庫が一定数を下回った際に在庫切れ通知メールを送る運用ができます。通知の基準を発注点に合わせれば、発注判断の見落としを減らせます。(関連記事:TEMPOSTAR「複数店舗の商品在庫を一元管理し在庫切れを防ぐ!」)
導入企業の株式会社カウスメディアは、一元管理システムの必要性を感じ始めた時期を「受注件数が月間200件を超えるくらいになった頃」と説明しています。これは同社の事例であり、すべての事業者に共通する導入基準ではありませんが、受注量の増加に伴う運用見直しの参考になります。(事例:株式会社カウスメディア様 導入事例)
よくある質問
Q1. 適正在庫と安全在庫の違いは何ですか?
安全在庫は需要や納期のばらつきに備える在庫量です。本記事の発注点方式の簡易モデルでは、安全在庫を管理下限、安全在庫+発注ロットQを入荷直後の管理上限の目安とします。安全在庫が「備えの数量」、適正在庫が「管理範囲」と考えると区別しやすくなります。
Q2. 適正在庫の計算方法は?
単一の標準式はありません。本記事の発注点方式では、安全在庫=安全係数×日次販売数の標準偏差×√発注リードタイム、発注点=1日平均販売数×発注リードタイム+安全在庫です。管理上限の目安は安全在庫+発注ロットQとします。安全係数は欠品許容率5%なら1.65、10%なら1.28です。定期発注方式では、安全在庫が発注リードタイム+発注間隔をカバーします。
Q3. 適正在庫はExcelで計算できますか?
できます。SKU別・日別の販売数を1列に並べ、AVERAGE で1日平均販売数を求めます。標準偏差は、対象期間を将来需要の標本とみなす場合は STDEV.S、期間内データ全体を母集団として扱う場合は STDEV.P を使います。売上ゼロの日も0として残し、採用する発注方式に合う式で下限・発注点・上限を計算します。
Q4. 複数のネットショップを運営している場合、適正在庫は店舗ごとに決めるべきですか?
店舗需要が完全には同じ動きをしない場合は、在庫を集約したほうが合計安全在庫を抑えやすくなります。ただし効果は店舗間の需要相関や目標サービス水準で変わり、集約すれば必ず同じ割合で在庫が減るわけではありません。店舗ごとに在庫を分ける場合は、店舗別の販売数から標準偏差を測り直して安全在庫を計算します。
まとめ
本記事では適正在庫を1つの数字ではなく、発注点方式の簡易モデルに基づく管理範囲として扱いました。安全在庫を下限、安全在庫+発注ロットQを入荷直後の上限の目安とし、自社の受注データから1日平均販売数と標準偏差を出して試算します。まず売上上位のSKUを1つ選び、現在の在庫数と発注ルールを照らし合わせるところから始めてください。
複数店舗を運営している場合は、店舗需要の相関を確認したうえで在庫を集約すると、合計安全在庫を抑えやすくなります。在庫連動の仕組みは「在庫管理機能」のページで、対応モールや反映の流れを確認できます。複数店舗の受注・在庫・商品を一元管理する全体像は、TEMPOSTARのサービス資料にまとめています。

