在庫連携ツールを入れても売り越しが消えない理由
在庫連携ツールを導入すれば、あるモールで売れた分がすぐに他のモールの在庫からも引かれ、売り越しは起きなくなる。多くの解説記事はここで止まっています。実際には、連携ツールを入れた後も売り越しが発生する運用は珍しくありません。原因は、ツールの不具合というより、複数モール運用そのものが持つ構造にあります。
反映には必ず時間差がある
多くの在庫連携サービスは、注文発生と同時に全モールの在庫を即座に書き換えるのではなく、定期的なバッチ処理で在庫数を同期する設計になっています。この同期のタイミングと次の同期のタイミングの間には、必ず一定の時間差が生まれます。
- モールAで注文が入ってから、モールBの在庫数が実際に減らされるまでには、連携の仕組み上どうしても間が空きます。
- この間に別のモールで同じ商品への注文が入ると、在庫が足りているように見えたまま受注が確定し、後から売り越しが発覚します。
- 反映間隔が短いサービスほど発生確率は下がりますが、間隔がゼロになるわけではないため、時間差そのものをなくすことは前提として難しいと考えたほうが安全です。
同時注文はツールでは防ぎきれない
在庫が残り1点の商品に対して、複数のモールでほぼ同時に注文が入るケースは、在庫連携の反映速度がどれだけ速くても発生し得ます。注文の確定処理自体が各モール側のシステムで独立して走るため、連携ツールが「今この瞬間の在庫」を全モールに一斉配信することは構造上できません。これは連携ツールの精度の問題ではなく、複数の独立したシステムを横断して在庫を扱う以上、残ってしまう性質のリスクだと理解しておく必要があります。
セール時は集中により発生確率が跳ね上がる
普段はほとんど売り越しが起きない商品でも、タイムセールや大型セールのタイミングだけ売り越しが集中することがあります。短時間に注文が集中すると、反映の時間差の中に複数の注文が入り込む確率が上がるためです。平常時の在庫連携設定をそのままセール時にも使い続けることが、売り越し増加の一因になっている運用は少なくありません。
在庫を「実在庫」と「販売可能在庫」に分けて考える
売り越しを構造的に減らす出発点は、在庫を1種類の数字として扱うのをやめることです。倉庫に物理的に存在する数量を「実在庫」、そこから各モールへの表示・販売に回してよい数量を「販売可能在庫」として、明確に分けて管理します。
- 実在庫:倉庫・拠点に実際にある在庫数量です。入荷・出荷・棚卸しの結果として決まります。
- 販売可能在庫:実在庫から、まだ出荷確定していない受注分、返品・交換予定分、セット商品として他の在庫と同時に減る分などを差し引き、さらに安全マージンを引いた数量です。
在庫連携ツールの多くは、実在庫を全モールに同期する設計になっています。実在庫と販売可能在庫を同じ数字として扱ってしまうと、反映の時間差や同時注文が起きた瞬間に、販売可能在庫がマイナスになる、つまり売り越しという形で表面化します。単品では在庫が正しく見えていても、セット商品や同梱商品として同じ在庫を共有している場合は、単品側の販売可能在庫からセット販売分もあらかじめ差し引いておく必要があります。ここを分けずに単品の実在庫だけを見ていると、セット商品の受注がまとまって入った瞬間に単品側で売り越しが起きます。
安全在庫は一律に持たない。回転速度で持ち方を変える
販売可能在庫を「実在庫マイナス一定数」で一律に設計する運用も見かけますが、これは商品によって過不足が生じやすくなります。回転の速い商品と遅い商品では、売り越しが起きるリスクの性質が異なるためです。
回転が速い商品は時間差の影響を受けやすい
注文頻度が高い商品ほど、反映の時間差という同じ「窓」の中に複数の注文が入り込む確率が上がります。1日に何十件も動く商品であれば、数分の反映間隔の間に2件、3件の注文が重なることも起こり得ます。こうした商品には、実在庫に対して一定割合、あるいは直近の平均販売ペースから算出した数量分を、販売可能在庫からあらかじめ差し引いておく設計が有効です。
回転が遅い商品まで一律に厚くすると機会損失になる
一方で、月に数件しか動かない商品にまで同じ厚さの安全在庫を設定すると、実際にはほとんど発生しない売り越しリスクのために、販売可能在庫を過剰に減らすことになります。これは在庫が余っているのに「品切れ」として表示され続け、売れるはずだった注文を取り逃す機会損失につながります。回転の遅い商品は、安全在庫を薄くするか、あるいは一定数量を下回った時点で人が在庫状況を確認してから販売可能在庫を調整する運用でも十分に対応できる場合があります。
たとえば、実在庫20個・平均して1日1〜2個売れる商品と、実在庫20個・1日10個以上売れる商品とでは、同じ「安全在庫2個」という設定でも意味合いがまったく異なります(いずれも架空の数値です)。回転速度別に安全在庫の考え方を分けることが、売り越しと機会損失の両方を減らす鍵になります。
セール・タイムセール時だけの別ルールを用意する
平常時の設定をそのままセールに持ち込むと、注文集中によって売り越しが増えやすくなります。セール期間は、平常時とは別の運用ルールをあらかじめ用意しておくことが実務的です。
- セール対象商品は、開始前に安全在庫の割合を平常時より厚めに引き上げておく。
- 反映間隔が長い連携ツールを使っている場合、セール期間中だけ確認頻度を上げ、在庫の残数を人の目でもスポットチェックする。
- 残数がごく少数になった商品は、セール終盤にモール側の表示在庫を意図的に絞り、売り越しが起きる前に販売を止める判断ラインを決めておく。
- セール終了後は、実際に何件の売り越しが発生したかを記録し、次回のセールで安全在庫の設定にフィードバックする。
セール時だけの別ルールを持つかどうかは、平常時の売り越し件数とセール時の売り越し件数を分けて記録しているかどうかで判断が変わります。分けて記録していない場合は、まずセール期間かどうかのフラグを在庫記録に付けるところから始めるとよいでしょう。
売り越しが起きた後の一次対応の型を決めておく
安全在庫を設計しても、売り越しの発生確率をゼロにはできません。起きること自体を前提に、発生した後の一次対応を型として決めておくことが、顧客対応の質と復旧スピードの両方を安定させます。
- 検知:どのモールで、どの注文が売り越しに該当するかを、できるだけ早く特定する。
- 連絡:購入者へ事実を正直に伝える。原因を曖昧にせず、いつまでに対応方針を伝えるかを明示する。
- 代替提案:入荷時期の案内、同等品への振替、キャンセル・返金のいずれかを選択できる形で提示する。
- 記録:発生したモール・商品・時間帯・当時の在庫連携設定を記録し、安全在庫の見直し材料にする。
モールごとのキャンセル対応や出店者評価への反映基準は、規約改定によって随時変わります。この記事では基準の数値を断定せず、対応にあたっては各モールの最新の管理画面・出店者向けガイドラインで必ず確認することをおすすめします。
AIとGASの線引き:どこを自動化し、どこを人が判断するか
複数モール・複数商品で在庫を管理しようとすると、すべてを人手で確認するのは現実的ではありません。一方で、安全在庫の水準や顧客対応まで全自動化してよいわけでもありません。工程ごとに、自動化に向く部分と人が持つべき部分を分けて考えます。
- 実在庫と販売可能在庫の差分計算、モール間の在庫数同期 → 連携ツール・GAS(定型の集計・反映処理)。
- 回転速度の集計、安全在庫の推奨値の算出 → GAS・AI(過去の販売実績からの機械的な試算)。
- 推奨値をもとに、実際にいくつの安全在庫を設定するかの最終判断 → 人(利益率・入荷リードタイム・欠品時の機会損失の重さを踏まえた判断)。
- 売り越し発生時の購入者への連絡文面・代替提案の選択 → 人(定型文で済ませず、状況に応じた誠実な対応が必要な工程)。
集計とアラートの仕組みは自動化に任せ、安全在庫の数値決定と欠品時の顧客対応は人が持つ。この線引きを崩さないことが、複数モール運用を長く安定して回し続けるための現実的な設計だと考えています。
