reorder-point-forecast-lite
平均日販・標準偏差・リードタイム・欠品許容率(安全係数)から、発注点・安全在庫・推奨発注量・機会損失額を算出する簡易在庫計算スキル。「発注点を計算して」「いつ発注すべき?」「安全在庫を出して」「リードタイムが長い商品の発注」「欠品リスクを試算」「EOQ」「経済的発注量」「適正在庫日数」「機会損失額」「賞味期限制約での発注」「シーズン商品の発注タイミング」「複数倉庫の安全在庫」など、発注タイミングと発注量を数値で出したい依頼で使う。あらゆるジャンル(化粧品・健食・食品・家電・アパレル・雑貨)に対応。賞味期限制約・トレンド変動・複数倉庫運用にも対応。※在庫アラートが発火した後の対応リストは別スキル `inventory-alert-action-list`(本スキルは発注タイミング算出、`inventory-alert-action-list` は欠品・滞留が発生した後のアクション設計)、在庫処分シナリオは `deadstock-clearance-planner`、複数モールの在庫一元化は `crossmall-inventory-sync-checker`。 【ALSEL独自スキル】株式会社ALSEL が、19年・5,000社超の EC 支援で得たノウハウをもとに開発したオリジナルスキルです。
SKILL.md 本文
簡易発注点計算
概要
EC実務の「いつ発注すべきか/何個発注すべきか」を、平均日販・標準偏差・リードタイム・欠品許容率の4変数から算出する。安全在庫・発注点・推奨発注量・機会損失額・適正在庫日数までを一連で出す。
賞味期限制約・トレンド上昇・複数倉庫(リスクプーリング)・シーズン商品など、典型的な実務制約にも対応。完全な需要予測モデル(時系列・ML)は別スキル領域で、本スキルは**「直近実績+安全係数で十分な精度」が出せる範囲**を扱う簡易版。
★最重要原則
発注点 = 平均日販 × リードタイム + 安全在庫(= 安全係数 × σ × √リードタイム)。 平均日販×LTだけでは欠品確率50%。標準偏差(販売変動)とリードタイム長さの両方が増えるほど安全在庫を厚く積む必要がある。安全係数は「欠品をどの確率まで許容するか」で決める(A群1%なら2.33/B群5%なら1.65)。
知識ベース
| トピック | 参照先 |
|---|---|
| 計算式(平均日販・σ・安全在庫・発注点・推奨発注量・EOQ)と安全係数表 | references/calculations.md |
| 検算例7本(化粧水・サプリ・賞味期限制約・トレンド・複数倉庫・シーズン・EOQ) | references/calculations.md |
| 仕入リードタイム制約・ロット制約・支払サイト・キャッシュフロー | references/constraints.md |
| シーズン補正・年同期比較・トレンド係数 | references/seasonality.md |
| ジャンル別実例 | references/examples.md |
主要な要点のみ本ファイルに記載。詳細は references/ を参照。
基本式(要点)
平均日販 = 期間内販売数 ÷ 期間日数
σ = √( Σ(日販i − 平均日販)² ÷ 期間日数 )
安全在庫 = 安全係数 × σ × √リードタイム日数
発注点 = 平均日販 × リードタイム日数 + 安全在庫
推奨発注量 = (平均日販 × 適正在庫日数) − 現在庫 − 既発注分 + 安全在庫
安全係数(欠品許容率別)
| 欠品許容率 | 安全係数 | 該当する商品像 |
|---|---|---|
| 0.1% | 3.09 | 看板商品・絶対切らせない |
| 1% | 2.33 | A群(主力商品) |
| 2.5% | 1.96 | A〜B群 |
| 5% | 1.65 | B群(一般主力) |
| 10% | 1.28 | C群(補完商品) |
| 15% | 1.04 | C群・季節商品 |
| 20% | 0.84 | 廃番候補・テスト商品 |
処理フロー
Step 1:入力情報の整理
必須:
- 直近30日(または60日/90日)の日次販売数
- リードタイム日数(仕入発注〜入荷)
- 現在庫数
- 既発注分の数量と入荷予定日
任意:
- 欠品許容率(5%が初期値、A群は1%、絶対切らせないものは0.1%)
- 発注ロット(最小発注単位)
- 賞味期限・シーズン制約
- 単価・粗利率(機会損失額の試算用)
不足時は仮定値で初稿を出し、冒頭に「最終確定にはXXの確認が必要」を表示。
Step 2:平均日販と標準偏差
直近30日/60日/90日の3パターンで計算するのが実務的。直近7日が直近30日と乖離している場合(トレンド変動)は、両方を比較してトレンド係数を加味(references/seasonality.md)。
Step 3:安全在庫と発注点を算出
商品をA/B/C群で分類し、安全係数を決定:
| 群 | 売上構成比 | 欠品許容率 | 安全係数 |
|---|---|---|---|
| A群 | 上位(パレートの上位20%) | 1% | 2.33 |
| B群 | 中位 | 5% | 1.65 |
| C群 | 下位 | 10〜15% | 1.28〜1.04 |
安全在庫 = 安全係数 × σ × √LT
発注点 = 平均日販 × LT + 安全在庫
Step 4:発注タイミングの判定
現在庫 > 発注点 → まだ発注不要(残日数 = (現在庫 − 発注点) ÷ 平均日販)
現在庫 ≤ 発注点 → 即発注タイミング
現在庫 < 平均日販 × LT → 欠品確定リスク・緊急発注
Step 5:推奨発注量の算出
適正在庫日数 = 商品の回転速度・リードタイム・賞味期限から決定
発注後在庫目標 = 平均日販 × 適正在庫日数
推奨発注量 = 発注後在庫目標 − 現在庫 − 既発注分 + 安全在庫
発注ロット切り上げ(最小発注単位の倍数に)
| ジャンル | 適正在庫日数の目安 |
|---|---|
| 高回転(売れ筋) | 30〜45日 |
| 中回転 | 45〜60日 |
| 低回転 | 60〜90日 |
| 季節商品 | シーズン全期間 |
| 賞味期限制限あり | 賞味期限の1/3〜1/2 |
Step 6:機会損失額の試算
機会損失額/日 = 平均日販 × 単価 × 粗利率
欠品累計機会損失 = 機会損失額/日 × 欠品日数
これに新規顧客のCV損失・楽天検索順位低下・ブランド毀損コストを加算(定量化困難なため定性的に併記)。
Step 7:制約条件での補正
- 賞味期限制約:発注量 ≤ 平均日販 × (賞味期限 − リードタイム − 安全余裕)
- キャッシュフロー制約:発注額が支払サイト内のキャッシュ余力を超えない
- 倉庫保管能力制約:発注後在庫が倉庫上限内
- シーズン制約:シーズン終了前に消化可能な数量
- 海外仕入の旧正月(中国・東南アジア):1〜2月の生産停止期間を加味
代表例:化粧水(B群・通常パターン)
入力:
- SKU-A001 化粧水 単価3,800円 粗利率50%
- 直近30日販売数:150本(平均日販5本)
- 標準偏差 σ ≈ 2本(日販3〜7本のばらつき)
- リードタイム7日
- 欠品許容5%(B群)→ 安全係数 1.65
- 現在庫50本、既発注なし
- 発注ロット50本単位、適正在庫日数30日
計算(検算済み):
| 項目 | 計算 | 値 |
|---|---|---|
| 平均日販 | 150 ÷ 30 | 5本/日 |
| 安全在庫 | 1.65 × 2 × √7 = 1.65 × 2 × 2.6458 | 8.7 → 9本 |
| 発注点 | 5 × 7 + 9 | 44本 |
| 残日数(現在庫50本) | (50 − 44) ÷ 5 | 約1.2日後に発注タイミング到達 |
| 発注後在庫目標 | 5 × 30 | 150本 |
| 推奨発注量 | 150 − 50 + 9 | 109本 → ロット50切り上げで 150本 |
| 機会損失額/日 | 5 × 3,800 × 50% | 9,500円/日 |
判定:現在庫50本は発注点44本に近く、残り約1.2日。即発注タイミング。150本発注で発注後在庫159本 → 約32日分。
詳細な検算例(サプリ・賞味期限制約・トレンド上昇・複数倉庫・シーズン・EOQ)は references/calculations.md。
出力フォーマット
# 簡易発注点計算:[SKU名]
## 1. 入力情報
- SKU:
- 直近期間の販売数:(30日/60日/90日)
- 平均日販:○本/日
- σ(標準偏差):○本
- リードタイム:○日
- 現在庫:○本/既発注:○本
- 単価・粗利率:
- 仮置きした前提:
## 2. 安全係数の選択
- 商品群:A/B/C
- 欠品許容率:○%
- 安全係数:
## 3. 計算結果
| 項目 | 計算式 | 値 |
|---|---|---:|
| 安全在庫 | k × σ × √LT | |
| 発注点 | 平均日販 × LT + 安全在庫 | |
| 残日数 | (現在庫 − 発注点) ÷ 平均日販 | |
| 推奨発注量 | 適正在庫日数 × 平均日販 − 現在庫 + 安全在庫 | |
| 発注ロット切り上げ後 | | |
## 4. 発注タイミング判定
- [ ] 現在庫 > 発注点 → ○日後に発注
- [ ] 現在庫 ≤ 発注点 → 即発注
- [ ] 現在庫 < 平均日販 × LT → 欠品確定リスク・緊急発注
## 5. 機会損失額(参考)
- 1日あたり:○○円
- 欠品N日想定:○○円
- 追加損失(定性):新規CV損失/検索順位/ブランド毀損
## 6. 制約条件のチェック
- [ ] 賞味期限:発注量 ≤ 平均日販 × (賞味期限 − LT − 安全余裕)
- [ ] キャッシュフロー:支払サイト内の余力
- [ ] 倉庫保管能力:発注後在庫が上限内
- [ ] シーズン消化見込み:シーズン終了前
- [ ] 海外仕入の旧正月(1〜2月)
## 7. シナリオ分析(任意)
- 安全係数を高めると:欠品リスク減↓・在庫増↑
- 安全係数を下げると:欠品リスク増↑・在庫減↓
## 8. 不足情報・追加確認
-
品質ゲート
- 平均日販と標準偏差(σ)を実データから計算した(仮定値の場合は明示)
- 商品群A/B/Cで安全係数を選択した
- 安全在庫 = 安全係数 × σ × √LT の式で計算した(平均日販×LTだけにしていない)
- 発注点 = 平均日販 × LT + 安全在庫 で計算した
- 推奨発注量は適正在庫日数から逆算した(適当な数値にしていない)
- 発注ロット(最小発注単位)に切り上げた
- 賞味期限制約がある場合、発注量上限を計算した
- トレンド上昇/下降が見られる場合、直近7日と直近30日を比較した
- 機会損失額(1日あたり)を計算した
- 海外仕入の旧正月・配送繁忙期を加味した
- 検算は実際に電卓またはコードで実施した
エッジケース
- 販売実績が少ない新商品:直近実績だけでは精度が出ない。類似商品の平均日販を参考に、安全係数を高めに(2.5%→1.96 ではなく 1%→2.33)。
- 販売が0の日がある(欠品):欠品日を除外して平均日販を計算(欠品日を含めると過小評価)。
- トレンド上昇中(直近7日 > 直近30日 × 1.3):直近7日ベースの平均日販を採用、安全係数を高めに。
- 賞味期限が短い商品:適正在庫日数 = 賞味期限の1/3〜1/2を上限に。発注量上限を計算(賞味期限 − LT − 安全余裕)日分まで。
- 複数倉庫運用:全社一元管理の方がリスクプーリング効果で安全在庫を抑えられる。倉庫別管理だと各倉庫で個別に安全在庫が必要(合計が増える)。
- シーズン商品(年同期比較):直近30日ではなく前年同期の販売実績ベース。リードタイムを逆算してシーズン入り前に発注。
注意事項
- 標準偏差σは「実データから計算」が原則。仮定値(販売数の20-30%等)で代用する場合は明示。
- 安全係数は商品群の重要度で決める。全商品一律にすると、A群で欠品・C群で過剰の両方が起こる。
- リードタイムは「実績の中央値」ではなく「実績の85〜95パーセンタイル」を使うのが安全。最頻値で計算すると遅延時に欠品。
- 海外仕入(中国・東南アジア)の旧正月(1〜2月)は2〜3週間の生産停止。年明け前に発注完了が必要。
- 賞味期限制約・キャッシュフロー制約・倉庫保管制約は機械的に発注量を制限する。最終発注量はこれら制約の最小値。
- 機会損失額の試算は「単一商品の粗利損失」のみ。新規顧客のLTV損失・検索順位低下・代替品への流出は定性的に併記。
- 在庫アラートが既に発火している場合(欠品中・滞留中)は別スキル
inventory-alert-action-listで対応案を設計。
references/ 一覧
references/calculations.md:完全な計算式・安全係数表・検算例7本references/constraints.md:仕入リードタイム制約・ロット制約・支払サイト・キャッシュフローreferences/seasonality.md:シーズン補正・年同期比較・トレンド係数references/examples.md:ジャンル別実例
参考公式情報源
- 在庫管理の標準的計算式は経営工学・OR(オペレーションズリサーチ)の基本。各社の在庫管理ツール(ネクストエンジン・ロジクラ等)でも同様の計算を採用
- EOQは Wilson 公式として古典的。実務では多くの制約で調整
ライセンス: MIT
詳細情報
- 作者
- 株式会社ALSEL
- ライセンス
- MIT
- 最終更新
- 2026/5/13