スクレイピング

競合の品揃えとカタログギャップを分析する方法

品揃え分析は、比較である前にまずマッチングの問題である。カタログを網羅的に洗い出し、商品を正直にマッチングし、真のギャップをノイズから切り分ける方法。

Chris Collins

Chris Collins

2026年9月7日 · 1 分で読める

アソートメント分析は集合の算術のように聞こえる。相手のカタログを取り、自社のを取り、差し引く。差分が機会というわけだ。

算術自体は単純だ。答えが正しいか間違っているかを左右するのはすべてその手前で起きている。相手のカタログを網羅的に列挙したのか、それとも単にサンプリングしただけなのか。そして相手のサイトと自社のサイトにおける「同じ商品」が実際に同一商品として認識されているかどうかだ。どちらかを誤れば、減算はほとんどが偽物である機会リストを、確信ありげに生成することになる。

マッチング問題がすべての問題である

同じ商品は、それを販売する小売業者ごとに異なる表現で記述される。異なるタイトルの付け方、異なるブランド表記、異なるパックサイズ、異なるバンドル、そして各社の外部では意味を持たない内部SKU。

もしあなたのマッチャーが商品の20パーセントで失敗するなら、相手のカタログの20パーセントは埋めるべきギャップに見え、自社のカタログの20パーセントは独自の差別化に見えてしまう。どちらの結論も誤りであり、しかもその誤りは分析を価値あるものに見せる方向に働き、出力の中にはそれを警告するものが何もない。

以下の順序でマッチングを行うこと。

まず標準識別子。 GTIN、UPC、EAN、MPN。これらが公開されている場合、ほぼ決定的な情報であり、利用可能な限り主キーとすべきである。

次にブランドと正規化されたモデル名。 大文字小文字、句読点、空白、ブランドの別名、一般的な略語を積極的に正規化する。正規化された形式を保存しておけば、後でマッチング判断を監査できる。

三番目に属性マッチング。 サイズ、色、容量、パック数。パックサイズが最も損害を与えるのはここで、6個パックと単品はほぼすべての属性を共有し、しばしば同じタイトルすら持ちながら、実際には全く異なる商品だからだ。

そして常にサンプルの人的レビュー。 マッチとノーマッチのランダムサンプルを抽出し、誰かに確認させる。これによってすべてを解釈可能にする数値、すなわちマッチ率が得られる。この数値なしに報告された分析は、誰も誤差の大きさを見積もれない分析である。

サンプリングではなく列挙せよ

二つ目の失敗は、サンプルにすぎないクロールを全数調査として扱うことだ。

ほとんどのカタログ表示面には、見せてくれる範囲に上限がある。カテゴリ一覧は、いくら商品数を謳っていても固定ページ数で止まることがある。検索結果は通常、カテゴリ巡回よりもさらに厳しく上限が設定されている。フィルタやファセットは、大きなカテゴリを完全に取得可能な小さなセグメントに分割することで、末尾部分に到達する唯一の手段であることが多い。

実務的な手法は、検索ではなくカテゴリツリーを巡回すること、結果件数が表示ページ上限を超えるノードはすべて細分化すること、そしてすべてのノードについて公称の商品数と実際に取得した数の両方を記録することだ。後者の数字が証拠となる。公称値と取得値が乖離しているとき、それは自社の可視性の限界を発見したことを意味し、それ以降のすべては自社データのギャップではなく自社カタログのギャップとして現れることになる。

カテゴリ構造は小売業者ごとに異なるため、相手のカテゴリが自社のカテゴリと同じだと想定してはならない。商品レベルでマッチングを行い、その後で自社のタクソノミーに集約すること。

小売業者固有の実装詳細はAmazon商品データのスクレイピング商品在庫状況の監視にある。

カタログは地域ごとに異なる

同じ小売業者でも市場ごとに異なる品揃えを扱っており、しばしばストアフロントごとにまったく異なるカタログを提供している。

もし自社の収集が一つの国からしか行われていない場合、相手が別の市場でのみ扱う商品はすべて「存在しない」ように見え、自社がたまたま収集している市場でのみ扱う商品はすべて「普遍的」に見えてしまう。複数市場で販売する事業にとって、これは小さな補正ではない。どのギャップが本物であるかを左右する。

国ターゲティング機能を持つレジデンシャルプロキシを使えば、各市場のカタログを別々に保つことができる。Shifterゲートウェイでは、ターゲティングとセッションはp.shifter.io:443に対する認証情報の中に指定する。

customer-USERNAME-country-es-sid-cat-es-0119-ttl-600:PASSWORD

country-esが市場を設定し、sid-cat-es-0119がカテゴリ巡回全体にわたって一つの出口を保持することでページネーションの整合性を保ち、ttl-600がそのアドレスを10分間維持する。カテゴリ巡回ごとに一セッション、ページリクエストごとに一セッションではない、というのが原則だ。巡回の途中でローテーションすると、二つの異なる視点からのページが一つのカタログスナップショットに混在してしまう。

同時実行数は控えめに保ち、エラーが出たら押し切るのではなくバックオフすること。詳しくはレート制限とリクエストスロットリングを参照。プロダクトページはEコマース向けレジデンシャルプロキシにある。

四つの出力

商品がマッチングされ、カタログが列挙されると、比較は四つの異なるものを生み出す。これらを混同することが最も一般的な分析上の誤りである。

真のギャップ。 相手が扱っていて自社が扱っていないもの。見出しとなる出力であり、マッチ率に比例した信頼性しか持たない。

逆ギャップ。 自社が扱っていて相手が扱っていないもの。通常は無視されるが、実際にはより価値が高いことが多い。これは自社の差別化在庫であり、マーチャンダイジングチームが即座に行動できるからだ。

深さギャップ。 双方ともそのブランドを扱っているが、相手は40のSKUを、自社は6つしか扱っていない場合。ブランドが両側に存在するため、単純な集合差分ではこれが現れにくく、実施全体の中で最大の商業的発見となることが多い。

幻のギャップ。 真のギャップの姿を装ったマッチング失敗。どの分析にもこれが存在する。問題は、その数を測定したかどうかだ。

最初の三つを報告し、四番目を定量化して併記すること。「マッチ率91パーセントで真のギャップ240件」は使える発見だ。「ギャップ240件」は、カテゴリマネージャーの一週間を無駄にする数字に過ぎない。

頻度とドリフト

カタログは価格よりもはるかにゆっくりと変化する。これは好都合で、週次か隔週の完全な列挙で通常は十分であり、競争が激しいカテゴリではより速い頻度が必要になる。

頻度よりも重要なのは安定性だ。巡回方法、マッチングルール、カテゴリマッピングを実行間で固定し、バージョン管理すること。ギャップ数が急激に減少した場合、まず問うべきは相手のアソートメントが変化したのか、それとも自社のマッチャーが変化したのかだ。マッチ率と取得件数の実行間差分は、これに数秒で答えてくれ、無駄な分析を大幅に防ぐ。

よくある質問

行動に移すのに十分なマッチ率とはどの程度か。

90パーセントを超えていればカテゴリレベルの意思決定に使える。80パーセントを下回ると、ギャップリストはほとんどマッチングノイズであり、労力は分析ではなくマッチャーに向けるべきだ。

列挙には検索とカテゴリ巡回のどちらを使うべきか。

カテゴリ巡回を使い、ノードがページ上限を超える場合はファセットで細分化する。検索はより厳しく上限が設定されており、そのランキングはパーソナライズされているため、列挙ツールとしては不向きだ。

サードパーティ出品者によるマーケットプレイス出品はどう扱うべきか。

別の集合として追跡する。ファーストパーティとマーケットプレイスのアソートメントを混ぜると、競合他社の確約された品揃えを過大評価することになる。サードパーティの出品は、相手が下した仕入れ判断ではないからだ。

相手が標準識別子を一切公開していない場合はどうすればよいか。

正規化されたブランド名とモデル名により強く依存し、より低いマッチ率を受け入れ、それを正直に測定すること。特にアパレルやプライベートブランドなど、一部のカテゴリは決してきれいにマッチしない。正しい対応は確実性ではなく信頼度を報告することだ。

結論

アソートメント分析の最後にある比較は算術だ。作業はそれより上流にある。サンプリングではなくカタログを列挙すること、自社の可視性がどこで途切れるかを知ること、監査可能なルールで商品をマッチングすること、そして真のギャップを深さギャップやマッチング失敗から切り分けることだ。

各市場を個別に収集し、巡回全体でセッションの整合性を保ち、公称件数と取得件数を記録し、すべてのギャップ数の隣にマッチ率を公表すること。料金は料金ページにある。

始める準備はできていますか?

Shifterのレジデンシャルプロキシをお試しください。IP 205M+件、195+カ国、$0.10/GBから。

始める