Sync Master
ブログ

ロケーションごとに安全在庫(バッファ)を設定する

マルチロケーション同期のコツ

この記事の概要

全店共通のバッファでは、出荷の速い倉庫と遅い店舗を同じ基準で守ることになり、どこかに無理が出ます。ロケーションごとに別々の安全在庫を持たせる設計と、バッファ込みの公開数量をシートで計算する方法を整理します。

複数の倉庫や店舗を持つストアでは、在庫バッファ(安全在庫)を「全店共通で5個引く」と一律に決めてしまいがちです。けれども実際には、1日に何十件も出荷する物流センターと、週に数件しか動かない店舗ロケーションを、同じ5個で守るのは少し無理があります。片方では足りず、もう片方では絞りすぎる、という状態が起きやすいのです。

そこで今回は、全体に一律のバッファをかける考え方から一歩進めて、ロケーションごとに別々の安全在庫を設定する方法をご紹介します。Shopifyでは在庫はロケーション単位で管理され、同じ商品でも各ロケーションの「販売可能数」は別々に持てます。だからこそ、バッファもロケーション単位で変えるのが自然なのです。

なぜロケーションごとにバッファを変えるのか

Shopifyのロケーションとは、在庫を保管し、出荷や販売を行う場所のことです。在庫は各ロケーションごとに状態(販売可能、引当済み、実在庫など)として記録され、同じSKUでも倉庫Aと店舗Bで販売可能数は別々に動きます。つまりバッファをかける対象も、本来はロケーションごとに分かれているはずなのです。

全店共通の1つのバッファでは、この違いを吸収できません。出荷頻度が高くオーバーセルの危険が大きい倉庫には厚いバッファが欲しい一方、めったに動かない店舗在庫まで同じだけ絞ると、せっかくの在庫が「売れるのに売っていない」状態で眠ってしまいます。ロケーションごとにバッファを分けると、それぞれの事情に合わせて守りの厚さを調整できるのです。

出荷頻度・リードタイムでバッファを決める

ロケーションごとのバッファを決めるとき、最も分かりやすい基準が「出荷頻度」と「補充のリードタイム」です。1日に多く出るロケーションほど、同期の数分の遅れの間に最後の在庫が二重に売れるリスクが高くなります。また、品切れてから次の入荷までが長いロケーションほど、欠品の影響が大きいため、安全側に厚めのバッファを持たせます。

  • 出荷頻度が高いロケーション : バッファを厚めに(例 : 5〜10個)
  • 出荷頻度が低いロケーション : バッファを薄めに(例 : 1〜2個)
  • 補充リードタイムが長いロケーション : 欠品を避けるため厚めに
  • 棚卸し精度が低いロケーション : 誤差を吸収するため厚めに

店舗ロケーションと倉庫ロケーションで基準を変える

店舗ロケーションと倉庫ロケーションでは、そもそも在庫の動き方が違います。店舗は対面販売でその場で在庫が減るため、オンライン側の数字が一瞬遅れることがあります。一方、倉庫はオンライン注文を集中的にさばくので、同期の遅れがそのままオーバーセルに直結しやすい。同じバッファ基準を当てはめるより、店舗は「対面ぶんの余裕」を、倉庫は「同期遅れぶんの余裕」を、と別々の理由で厚さを決めると納得感が出ます。

シート上でロケーション別バッファ列を持つ設計

Googleシートを在庫マスターにしているなら、ロケーション別のバッファは「列を分けて持つ」のが基本です。SKUを1行とし、ロケーションごとに実在庫の列とバッファの列をペアで並べます。こうしておくと、どのロケーションをどれだけ守っているかが一目で分かります。

  1. 01A列 : SKU
  2. 02B列 : 倉庫Aの実在庫 C列 : 倉庫Aのバッファ
  3. 03D列 : 店舗Bの実在庫 E列 : 店舗Bのバッファ
  4. 04F列 : 倉庫Aの公開数量(B列 − C列を関数で計算)
  5. 05G列 : 店舗Bの公開数量(D列 − E列を関数で計算)

このようにバッファ列をロケーションごとに分けておくと、「倉庫だけバッファを増やす」「店舗は据え置く」といった調整が、該当の列を触るだけで完結します。商品ごとに値を変えたい場合も、その商品の行のセルを書き換えるだけです。バッファ基準を全ロケーション横断で変えたいときは、各バッファ列を別シートのパラメータ参照にしておくと、一括で更新できます。

バッファ込みの公開数量を計算する

ロケーションごとの公開数量は、それぞれ「実在庫 − そのロケーションのバッファ」で求めます。ここで気をつけたいのが、計算結果がマイナスになるケースです。実在庫が2個でバッファが5個だと、結果はマイナス3になってしまいます。これをそのままShopifyに送ると、エラーになったり想定外の値になったりします。シート上では「MAX(0, 実在庫 − バッファ)」のように、ゼロで止める数式にしておきましょう。

公開数量の列を計算しておけば、あとはその列を各ロケーションのオンハンド在庫として書き込むだけです。在庫同期アプリのSync Masterは複数ロケーションに対応しているので、シートのF列・G列のような公開数量を、対応するShopifyロケーションへそれぞれ書き込めます。本番同期の前に接続テストで列とロケーションの対応を確認できるため、バッファ込みの値が正しいロケーションへ向かうかを、実際の書き込み前にチェックできます。

バッファ運用が過剰在庫化しないための見直し

ロケーション別バッファは便利ですが、設定したまま放置すると、いつのまにか「在庫はあるのに公開上はずっと0個」というロケーションが生まれます。これは過剰なバッファによる機会損失です。月に一度は、ロケーションごとに「バッファが効きすぎていないか」を振り返りましょう。長く公開0が続いている場所はバッファを下げ、逆にバッファを抜けてオーバーセルした場所は上げる、という調整を繰り返します。

ロケーションごとに安全在庫を分けるのは、最初こそ列が増えて少し手間に見えるかもしれません。けれども、出荷の速い倉庫と、ゆっくり動く店舗を同じ基準で縛らずに済むメリットは大きい。まずは2つか3つの主要ロケーションだけバッファ列を分け、運用しながら値を整えていく。その小さな一歩が、欠品とオーバーセルの両方を減らす近道になります。

関連記事

あわせて読みたい記事

在庫数を手で打ち込むのは、もうやめましょう。

Sync MasterをShopifyにインストールして、5分以内に最初の同期を実行。