この手の修羅場には、導入コンサルタントとして3回立ち会ってきました。ホーム収納用品のセラーが、同じオーガナイザーをAmazon、Walmart、ShopifyのDTCストアに出品し、倉庫にある実在庫は100個。ある日、3つのチャネルで合計120個が売れてしまいました。余分な20件の注文はキャンセル——そのうち十数件はAmazon——そして同じ月にパフォーマンス警告が届きます。オーナーは私に聞きます。「在庫システムはあるのに、なぜ売り越したんだ?」私の答えはこうです。売り越しは規律の問題ではありません。複数のチャネルがひとつの物理在庫プールを共有するとき、システム設計そのものに3つのヒューズが組み込まれているのです。

すべての売り越しの裏にある3つのヒューズ

ヒューズ1:同期の遅延。 ほとんどのセラーは、在庫をリアルタイムではなくAPIのポーリング周期で同期しています。Walmartと多くのDTCプラグインのデフォルトは15分同期——人気SKUなら15分で半日分の安全在庫が溶けてしまいます。最も印象的だった事例:フラッシュセールでDTCストアが12分で90個を売り切ったのに、Amazonはまだ「在庫あり」と表示して注文を受け続けていました。

ヒューズ2:誰も差し引いていない輸送中・引当済の数量。 倉庫に物理的に100個あっても、販売可能なのが100個とは限りません。ピッキング済み未出荷の注文、輸送中の移送、卸顧客向けの引当分——こうした「行き先の決まった」数量を販売可能数から差し引かなければ、どのチャネルも水増しされた数字を見ます。ある3PLの稼働立ち会いで、彼らの「販売可能数」の式が輸送中在庫をまったく差し引いていないのを見つけました。初週に40件以上を売り越しました。

ヒューズ3:各チャネルの「販売可能数」が一度も同じ数字ではなかった。 Amazonの店頭が示すのはFBAの販売可能数です。DTCストアが示すのはあなたが送った数字です。Walmartは独自の引当ロジックを適用します。定義が3つ違うのに、それを満たす物理プールはひとつ。ひとつの金庫を3人のレジ係が共有し、それぞれ別の帳簿で仕事をしているようなものです。

3つの防止アーキテクチャ — この表から選ぶ

アーキテクチャ 仕組み 強み コスト 向いているのは
チャネル別安全在庫の分割 物理プールを過去の販売比率でチャネルごとの枠に切り分ける シンプル、新しいシステム不要、表計算で回せる 利用率が低い:売れ筋チャネルは欠品し、静かなチャネルは在庫を抱える SKUが数十、エンジニアリング余力なしのセラー
仮想共有プール+引当 OMSが共有の販売可能数をひとつ持ち、チャネル注文は先に引当、出荷時に減算 利用率が高い、売り越し率がほぼゼロになる OMSが必要、引当のタイムアウト・解放ロジックを設計する必要あり 中規模セラー:SKU数百、日次注文数百
中央OMS在庫+マルチ倉庫配分 倉庫・チャネル横断の配分ルールを持つ中央の販売可能数 最も完全、マルチ倉庫・マルチチャネル・マルチ通貨に対応 導入・保守コストが最大 マルチ倉庫のセラー、または1日1,000件以上を扱う3PL

私の選定アドバイス: いきなりアーキテクチャ3に飛びつかないこと。2つの数字を見てください。SKU数と1日の注文量です。SKUが約100以下、1日の注文が約300件以下なら、アーキテクチャ1にきちんとした循環棚卸を組み合わせれば本当に十分です——システムの問題は、棚卸を1回増やすほうが安く解決できることもあるのです。1日約500件以上、またはSKU約500以上なら、アーキテクチャ2のROIが最も良い。アーキテクチャ3はマルチ倉庫プレイヤーのためのもの。単一倉庫のセラーが採用するのは、釘に大ハンマーを使うようなもので、保守コストに食い尽くされます。

直感に反する見解: ほとんどのセラーはリアルタイム同期が最適解だと思い込んでいます。しかし大多数にとっては、15分同期+十分な安全在庫が、リアルタイム同期+安全在庫ゼロに勝ります。リアルタイム化は遅延を15分から数秒に縮めるだけ——3つのチャネルが同じ1秒に注文を受けたときの競合状態は直りません。本当にあなたを守るのは引当メカニズムと安全在庫であり、同期速度ではありません。

適切な同期頻度の設定

私が使っている目安はこうです。

同期間隔内に販売可能な上限 = 現在の販売可能数 −(1分あたりのピーク販売数 × 間隔の分数 × 1.5)

読み方:このSKUがこれまでに記録した1分あたり最速の販売速度を取り、同期間隔を掛け、1.5の安全係数を掛けて、その分をチャネルに販売可能数として送る前に確保します。例:1分あたり2個がピークのSKUで15分間隔なら、2 × 15 × 1.5 = 45個を確保します。人気SKUは準リアルタイム同期(1〜2分)に寄せ、ロングテールSKUは15〜30分のままにします。全部を完全リアルタイムにすると、理由もなくAPIクォータを燃やします。

もうひとつ:一方通行で同期しないこと。多くのプラグインは在庫数をチャネルに送るだけで、チャネル側の表示在庫を戻して照合しません。週1回、三者照合を回しましょう——OMSの販売可能数 対 各チャネルの店頭表示数——5%を超える差があれば調査します。この習慣はどのアーキテクチャより安く、ほとんどのアーキテクチャより効きます。

倉庫の梱包ステーションのクローズアップ、仕分け済み荷物の壁の横で作業員がカートンにテープを貼る

Amazonの売り越しが一番高くつく

3つのチャネルは売り越しを同じようには罰しません。DTCなら謝罪メールとクーポンでたいてい挽回できます。Walmartならショップ評価に傷がつきます。Amazonでは、キャンセルされた売り越しがそのまま注文不良指標に流れ込みます——キャンセル率と出荷遅延率がODRに合算され、しきい値を超えるとアカウント審査や停止が発動します。しきい値はAmazonの最新の公開ポリシーに従い、時間とともに変わります。去年の数字にアカウントを賭けてはいけません。

つまり実務では:Amazonには常に最も保守的な販売可能数を送ること。 私はAmazonチャネルに2.0の安全係数、それ以外に1.5を使います。そしてFBAの販売可能数と自社倉庫の販売可能数は2つの別帳簿として持ち続け——外に送るひとつの数字に混ぜないこと。これが私が見る最も多い初心者のミスです。

導入チェックリスト

  1. 在庫マスタデータを統一する:チャネル横断でSKUマッピング表を揃える——ひとつの物理SKUは正確にひとつの在庫キーに対応する。バリエーションとバンドルは独自の仮想SKUを持つ。
  2. 「販売可能数」の式を書き出し、全員に使わせる:販売可能数 = 手持ち − 引当済 − 輸送中の引き留め − 未出荷のチャネル注文。
  3. チャネル別に安全在庫レベルを独立して設定し、Amazonを最も保守的にする。
  4. 人気SKUは独自の同期リズム(1〜2分)にし、ロングテールは15〜30分のままにする。
  5. 引当のタイムアウトと解放:未払い注文の引当は30分後(またはチャネルのルールに従って)自動解放し、「ゴースト引当」が在庫をロックしないようにする。
  6. 週次の三者照合:OMSの販売可能数 対 各チャネルの店頭表示数。5%を超える差は調査する。
  7. 大型プロモの48時間前に在庫ベースラインを凍結する:スナップショットを書き出し、イベント中は安全係数だけを調整し、ベースラインは絶対に触らない——誰の編集も衝突しないように。
  8. 1ページの売り越しSOPを書く:誰が購入者に連絡するか、補償基準は何か、Amazonのケースをどう開くか。印刷して壁に貼る。

チャネルをまたいだ在庫プールの共有は、根本的には「ひとつの金庫、3人のレジ係」の問題であり、引当メカニズムと販売可能数の単一の定義で解決します。適切なアーキテクチャを選び、適切な同期リズムを設定し、Amazonは保守的に——そうすれば売り越しの罠は、設計で消し去れるものになります。この罠を私は3回見てきました。あなたには一度も見てほしくありません。

Lin Xiao(WMS導入コンサルタント)著

英語版からの翻訳。内容に相違がある場合は英語版を優先します。