
カルパッチョやパスタの上にちょこんと乗っている、あの小さな緑色のつぼみの売り場はどこ?
こんにちは。
「店舗経営を支える世界的なインフラを創る」をミッションに掲げる株式会社カンリーの萩野です。HRTechの領域で店舗の顧客接点の最適化をすべく先端技術を駆使した事業開発を推進しています。
この記事は『カンリー Advent Calendar 2024』の12月3日分の記事として執筆しています。
イタリアンレストランで食べたカルパッチョの上に乗っていた、あの小さな緑色のつぼみ。パスタやピザにも使われる食材ですが、スーパーマーケットで探すときには、どの売り場の棚においてあるのか意外と悩んでしまいます。
「塩漬け食品コーナー?」「輸入食品売り場?」「調味料かな?それとも漬物?」
お客様がこのように悩まないよう、商品を「どこに置くべきか」という問題は、小売店における重要な課題の一つです。

スーパーでケッパーを探す難しさ
あの小さな緑色のつぼみの正体は「ケッパー(Caper)」という独特の風味を持つ調味料です。
実際、ケッパーはどの棚に配置されているのかが曖昧で、調味料コーナーや瓶詰め食品のエリアにあることもありますが、売り場は店舗によって異なります。
お客様もどのコーナーにケッパーがあるのか最初ははっきりしません。「ケッパー」という食材の名前を知らず、関連しそうな棚で商品を見つけて初めて「これケッパーっていうのか!」と気づくこともあるでしょう。(私はそうでした)
どこにある?食材たちと棚割り
ケッパーに限らず、スーパーマーケットで探しにくい商品は他にもたくさんあります。例えば、サンドライトマトを探すとき「ドライフルーツ売り場かな、乾物コーナーかな」と迷うこともあるでしょうし、カラスミ(ボッタルガ)などの珍味も、魚介加工品なのか、それともイタリアンの食材なのか迷ってしまいます。
これらの商品は複数の視点からカテゴリ分けができるため、ある人にとっては「イタリア料理の材料」でも、別の人にとっては「漬物」や「珍味」として認識されることがあります。
商品のカテゴリ分けでは、背後にあるお客様視点の購買行動の意図を理解し、反映させなければなりません。
また、商品の配置はスタッフの業務効率にも影響しするため、補充作業や在庫管理が複雑にならないようにしながらも、関連商品を近くに置き購買意欲を高めることや、季節ごとの特設コーナーを設けるなどタイムリーにお客様のニーズに応えることも必要です。これぞまさに職人技ですね。
こうした、どの商品をどの棚に置くかを決める作業のことを棚割りといい、店内の購買体験の鍵を握ります。お客様が商品をスムーズに見つけられるか、他の商品にも興味を持つかは、この棚割り次第です。
パスタソースの近くにケッパーやサンドライトマトを置くと、「ついでにこれも」と自然と手に取ってしまいますよね。
この時期になるとスーパーマーケットの売り場では、野菜、精肉、鮮魚、豆腐、練物などそれぞれのコーナーで食材にあった鍋用スープがおいてあったりしますよね。私は純豆腐が好きです。
棚割りの数理
お客様が探している商品を見つけやすいカテゴリの分類という問題は、実店舗であれ、オンラインのシステムであれ同じ課題です。情報検索のインデックス設計やファセット設計のアナロジーで棚割りの問題を考えてみましょう。
カテゴリ化の評価にはいくつかの指標があります。例えば、カテゴリの分散性は商品が各カテゴリにどれだけバランスよく分布しているかを測るもので、ケッパーのような商品の場合、エントロピー指標を用いることでその分散を評価します。また、カテゴリの重複度は商品が複数のカテゴリに属する度合いを測定し、Jaccard 類似度や平均カテゴリ数などを用いて評価されます。さらに、検索効率性も重要な指標であり、顧客が目的の商品を見つけられる確率を精度(Precision)や網羅性(Recall)などを使い、情報検索と同じ指標で測定することもできそうです。
カテゴリ設計の最適化には、ネットワーク理論を用いたグラフ分析や、商品間の特徴量を基にしたクラスタリングが活用できますし、情報検索理論を応用して、TF-IDF やベクトル空間モデルを使い商品の関連度を計算するといった応用も可能です。
売上をつくり出す連想ゲーム
棚割りの最適化は、つまりお客様に提供できる価値の総和である売上を最大化することでもあります。バスケット分析などアソシエーション分析で最も有名な「おむつとビール」の例は、関連性がないように見える商品が特定の条件で一緒に購入されることを示す有名な購買パターンです。こうしたパターンを見つけることで、クロスマーチャンダイジングや商品の配置を最適化する、売上を作り出す連想ゲームが大事です。
例えば、オントロジーを使って商品カテゴリを構造化することで、商品の属性や関係を体系的に整理し、柔軟なカテゴリをするというアイディアもあります。例えば、ケッパーは「調味料」「漬物」「イタリア料理食材」として分類でき、それらの関係を明確に定義することで、よりかゆいところに手が届く売り場を作れますよね。そんなことを考えながら店舗をうろついていると、棚割りのアートに触れられて、気づけば滞店時間が長くなっていました(笑)
棚割りが決まったら陳列仕分け
棚割りが決まったら、次は商品をどの棚に配置するかを決める「陳列仕分け」です。取り扱いのある商品であれば在庫に倣って陳列できますが、新しく入荷する商品などには、深い商品知識と経験だけでなく、店舗の棚割りに対する深い理解が必要です。
陳列仕分けにチャレンジしてみよう!
ここで、仕分けの実践問題にチャレンジしてみましょう。
実際に、とあるネットスーパーに掲載されている商品を、同店舗のカテゴリに分類してみます。
問題を簡単にするために、分類するカテゴリは実際よりも少ない次のうちから選んでください。
卵・牛乳・乳製品
豆腐・納豆・漬物・練物
缶詰・粉類・乾物
ハム・ソーセージ・チルド調理品
食油・カレー・スープ・調味料
お米・麺・パスタ
飲料・お水
Q1. 豆乳飲料 麦芽コーヒー
麦芽とコーヒーを香り豊かにブレンドし、おいしく仕上げた豆乳飲料です。
Q2. 切れてる厚焼玉子
お弁当にピッタリの4切れ入りです。枕崎産鰹節使用。
Q3. ピーナッツバター クランチー
ローストしたピーナッツの香ばしい風味とつぶつぶの食感が楽しめる、クランチタイプのピーナッツバターです。
わかりましたか?正解は
豆乳飲料 麦芽コーヒー → 卵・牛乳・乳製品
切れてる厚焼玉子 → 豆腐・納豆・漬物・練物
ピーナッツバター クランチー → 缶詰・粉類・乾物
のように、実際に分類されていました。豆乳は「飲料」ではなく「乳製品」として扱われていたり、厚焼玉子は加工されているので、「卵」ではなく「練物」のカテゴリになります。もちろん、このカテゴリは店舗ごとに異なるため、各店舗の棚割りに対応して仕分けできるようなスキルを身につけるのは、とても難しく感じます。
人工知能は棚割りの夢を見るか?
人間にはハードな陳列仕分けをAIで自動化できれば、小売業生産を飛躍させられるはず。店舗経営を支えるインフラの創造に挑戦するカンリーらしい発想で商品のカテゴリ分類問題を解いてみましょう。
クラス分類には様々な手法がありますが、ここでは商品情報がテキストで与えられていることと視覚的な理解をしたいので、大規模言語モデルを利用したベクトル空間への埋め込みを試してみましょう。
はじめに汎用的な埋め込みモデル(例えば text-embedding-3-small など)を用いて商品情報をベクトル化し、空間にプロットしてパターンを見つけてみましょう。
実際のネットスーパーに掲載されていた商品をカテゴリごとに転記して、データを作りました。


OpenAIのtext-embedding-3-smallモデルで単純に商品名と商品説明をつなげて埋め込んだベクトル表現をt-SNEで2次元に表現してみました。
同じ色の点が同じカテゴリの商品のベクトルのデータ点で、各カテゴリの重心に近い点と遠い点それぞれに商品名をラベルで表示してみました。
「エキストラバージンオリーブオイル」は「ポッカレモン100」や「北海道シチュー クリーム」と同じ「食油・カレー・スープ・調味料」のカテゴリですが、その3商品のベクトルは離れてプロットされてしまいました。
また、「八海山 麹だけでつくったあまさけ」は「飲料・お水」のカテゴリですが、「お米・麺・パスタ」や「豆腐・納豆・漬物・練物豆腐」の商品と近い位置にいます。気持ちはわかります。
この可視化によって汎用的な埋め込みをそのまま利用するだけでは、棚割りに適した分類を行うのは難しいという課題が浮き彫りになりました。例えば、埋め込みモデルが生成するベクトルは一般的な文脈を捉えていますが、特定の店舗の棚割りのルールやお客様の購買行動に最適化されているわけではありません。そのため、埋め込みモデルによる分類結果が必ずしも実際の棚割りに合致しないのです。
陳列仕分けの職人育成
すでに仕分けされている商品のデータを活用し、汎用的な埋め込みベクトルを棚割りに合わせて変換するアプローチを試してみましょう。
汎用モデルの埋め込みのベクトルを個別の問題に応じて変換するには深層距離学習を使いますが、ここでは画像認識などで利用され強力かつ計算が容易なCosFaceを使ったモデルを紹介します。
CosFaceは、埋め込み空間において特徴量の識別性を強化するための深層学習モデルですが、データポイント間の角度情報に基づいた表現を学習することにより、カテゴリ間の境界を明確にすることを目指しています。
ベクトル間のユークリッド距離ではなく、角度的な相違に着目し、埋め込み空間においてカテゴリごとに明確に分離します。具体的には、ソフトマックス関数の出力に角度のマージンを加え、次のような修正を加えた識別関数を最適化します
$$
\text{CosFace の損失関数} : L = -\frac{1}{N} \sum_{i=1}^N \log \frac{e^{s(\cos(\theta_{y_i}) - m)}}{e^{s(\cos(\theta_{y_i}) - m)} + \sum_{j \neq y_i} e^{s \cos(\theta_j)}}
$$
$${s}$$ : スケーリングファクター(特徴量の分布を調整)
$${m}$$ : マージン(カテゴリ間の角度差を増やすための調整パラメータ)
$${\cos(\theta)}$$: 正規化されたベクトル間のコサイン類似度
CosFaceはもともとは顔認識などの問題に用いられるモデルですが、例えば、瓜二つな双子の顔は、よく見ると少し違いますよね。CosFaceは、そんな「よく似ているけど違うもの」を見分けるのが得意なAIの仕組みです。
例えば、「目が大きい」「鼻が高い」といった顔の特徴を「方向」で覚え、その違いを大きく見るようにする仕組みです。
最初は少しだけ違う方向に見えても、その違いを「もっと大きく」感じられるように、小さな違いを大きくするように学習を繰り返します。
簡単に言うと、CosFaceは「よく似たものの微妙な違いを見分ける名人」です。人間の目でも見分けるのが難しいような、ちょっとした違いも見つけられるようになります。
この仕組みを使えば、陳列仕分け職人のAIを育成できるはずです。
CosFaceによるベクトルの変換により、類似した商品が埋め込み空間内で近接し、店舗内の視覚的または物理的配置を容易にできるはずです。
それでは、CosFaceのモデルを定義し、実際のデータで学習していく過程を見てみましょう。






はじめと同様に、t-SNEを使って学習した商品ベクトルがどのように棚割りに沿って分離されたかを可視化して見てきました。エポック(学習)が進むごとに同じカテゴリの商品のベクトルが近づいていく様子がわかります。
それでは、この学習済のモデルを使い、新商品の「ケッパー」が追加されるとどの位置にプロットされるのか?を見てみましょう。

プロットのなかの黒く大きな点が、追加された新しい「ケッパー」の商品のデータポイントです。分類モデルでも、無事
予測カテゴリ: 缶詰・粉類・乾物
と正しく分類を予測することができました。
棚割りから考える顧客接点の最適化の未来
商品の棚割りと陳列仕分けの課題は、一見単純に見えて実は非常に奥が深い問題でした。本記事では、ケッパーという身近な商品を例に、スーパーマーケットにおける商品カテゴリ分類の複雑さと、それを解決するためのアプローチを見てきました。
人間の買い物行動や認知の仕方は多様で、同じ商品でも人によって異なる文脈で捉えられます。そのため、最適な棚割りを決めることは単純な数理計算だけでは解決できません。しかし、現代のAI技術や最適化手法と人の持つ感性を組み合わせることで、この複雑な問題に対する新しいアプローチが可能になるはずです。
さらなるデータの蓄積とAI技術の発展により、各店舗の特性や地域性を考慮した店舗体験の実現により、顧客接点の最適化がされる未来の一助になれたらと思い、これまでも、これからもお客様の理想から入り事業開発を進めていきます!
さいごに
カンリーでは一緒に働く仲間を募集しています。
少しでもお話を聞いてみたいと思ってくださった方はぜひお話しさせてください。
萩野 貴拓(x.com/haginota)
また先月「店舗におけるHR課題をテクノロジーで解決する総合研究所」として、StoreHR総合研究所を設立し、所長に就任しました。
研究所の設立にあわせ、弊社がなぜ本研究所を立ち上げたのか、またどんな世界観を目指すのかなど、お伝えしておりますのであわせて御覧ください。