SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Women Developers Summit 2022 セッションレポート(AD)

すべてが一点物だから難しい、メルカリのパーソナライズ機能とその開発体制

【A-3】メルカリのパーソナライズを支えるエンジニアリング

  • X ポスト
  • このエントリーをはてなブックマークに追加

 一人ひとりお客さまのニーズに合わせてコンテンツを提供するパーソナライズ機能。メルカリのような出品数が多く、かつそのほとんどが一品モノの商品を扱っているC2Cマーケットプレイスの場合、お客さまが「欲しい」と思っている商品を一度の検索で見つけ出すのは、なかなか難しい。そこでメルカリではパーソナライズ機能を提供して、お客さま一人ひとりがニーズを満たせるよう買い物を支援している。どんなパーソナライズ機能を提供しているのか、またその開発体制はどうなっているのか。メルカリでパーソナライズ機能の開発に取り組んでいる、マシンラーニング(ML)エンジニアのalpicola氏が解説した。

  • X ポスト
  • このエントリーをはてなブックマークに追加

株式会社メルカリ Machine Learning Engineer alpicola氏
株式会社メルカリ Machine Learning Engineer alpicola氏

「メルカリ・パーソナライズ機能」における最適化のチャレンジ

 日本最大のフリマサービス「メルカリ」。一般的に私たちは購買行動をする際、さまざまな情報をインプットして、こういうものが欲しいというニーズを認知するところから始まる。そして商品を比較検討し、最も気に入ったモノを購入する。

 一見、普通の購買行為に思えるが、「メルカリ」でパーソナライズ機能を開発するalpicola氏は、その難しさと解決策についてこう話す。「出品される商品がたくさんあり、お客さまも多く、そのニーズはさまざまです。多くの商品の中から、お客さま一人ひとりが本当に欲しい商品を見つけるのは難しい。そのニーズの認知と商品の探索というフローをお手伝いするのがパーソナライズ機能です。お客さま一人ひとり、ニーズに合った商品の発見を手助けして買い物を楽しんでもらうために提供しています」(alpicola)

 ではどんなパーソナライズ機能を提供しているのか。alpicola氏は2つの取り組み事例を紹介した。1つ目は「パーソナライズド商品レコメンド」。一般的なパーソナライズド商品レコメンドは「お買い物履歴から推測して、パーソナライズし商品をレコメンドしています」とalpicola氏は語る。

 「例えばAさん、Bさん、Cさんという3人のお客さまがいたとします。それぞれの購入履歴を調べると、Aさんは子ども服と子どもの靴、Bさんはタブレット、Cさんは子ども服とタブレットでした。これらの買い物傾向から、Aさんと同じように子ども服を購入しているCさんは、子どもの靴も欲しいのではと推測できます。このように個人の買い物履歴に基づいて、潜在的ニーズを推測するのが、よくあるパーソナライズド商品レコメンドの方法です」(alpicola氏)

 だがこの方法は、「メルカリ」のようなフリマアプリ(C2Cマーケットプレイス)では難しい。なぜなら「メルカリ」に出品されている商品は1点モノだから。「まったく同じ状態の同じ商品はありません。AさんとCさんの購買履歴から、CさんにAさんの購入した靴をお勧めしたいと思っても、既に売り切れている商品なのでレコメンドすることはできない。そういう問題が『メルカリ』ではあります」(alpicola氏)

 ではどのように商品レコメンドをすればよいのか。そのアイデアが商品トピックの作成である。

 「トピックとは個々の商品ではなく、興味のある商品のまとまりです。例えば、先の例であればトピック1が子ども服や子ども靴。トピック2はタブレット端末。このようなトピックからキーワードを抽出したり、商品カタログ情報とのひも付けからトピックを商品に割り当てたりして、トピック単位でレコメンドモデルを作成します。トピックの情報とユーザーの情報からマッチング度を予測するというモデルです」(alpicola氏)

 そしてこの商品トピックを使ったパーソナライズドレコメンデーションは、通常の商品単位の場合と同様のレコメンドアルゴリズムが適用できるのだ。後はマッチング度の高い順にトピックとその商品をレコメンドしていくだけである。

 「商品トピックを使ったレコメンドだと、商品の売り切れに対してよりロバスト性(外的な要因に影響されにくい性質)が高められます。そこがメリットです」(alpicola氏)

 加えて、「アプリのホーム画面にレコメンドコンポーネントが組み込まれています」とalpicola氏は明かす。アプリの上部から一つずつトピックをキーワード付きで提示することで、トピックに関してお客さまがニーズを認知する助けになっている。

 またもう一つ、「メルカリ」が提供しているのがホーム画面のパーソナライズ機能である。ホーム画面はレコメンドした商品やいいねした商品、閲覧した商品など、複数のコンポーネントで構成されている。「ホーム画面に求められる機能はお客さまによって異なるのではという仮説がありました。そこでお客さまが必要としている機能をパーソナライズして提供するにはどうすれば良いかを考えました」とalpicola氏は続ける。

 alpicola氏たちが取り組んでいるのが、「バンディットアルゴリズムを用いた表示レイアウト最適化」である。バンディットアルゴリズムとは、探索的に最適なものを発見するアルゴリズム。特に「メルカリ」のホーム画面のように複数のコンポーネントを組み合わせることができる場合、たくさんの組み合わせの中から表示パターンを一つずつABテストで比較検証するのは、膨大な時間がかかる。だがバンディットアルゴリズムなら表示パターンごとにABテストをすることなく、全パターンに対する最適化ができるのだ。

 具体的には、ある表示パターンを提示し、お客さまがどんなコンポーネントをタップしたのか、その行動ログをフィードバックする。その情報を元にバンディットアルゴリズムがさらに良いパターンを提示し、レイアウトの最適化を行っていく仕組みである。

 だが、バンディットアルゴリズムを採用する際に重要になるのは、最適化目標を適切に設定すること。alpicola氏も最初の実験では、最適化目標としてコンポーネントのタップ数を設定していた。「タップされていることは、ニーズにマッチして使ってもらえていると考えたため」とalpicola氏。

 しかし、結果はホーム画面経由での購入が減少した。理由を分析したところ、表示する候補の一つに閲覧履歴コンポーネントがあったことだ。「閲覧履歴コンポーネントはよくタップされていましたが、結局、購入しなかった商品。そこから新たな商品の発見がなく、結果的に購入につながりませんでした」(alpicola氏)

 このことから、新しい商品や本当に欲しい商品が発見でき、購入に結び付けられることが大事だとわかったalpicola氏たちは、それを踏まえて次の実験では、タップや「いいね」など各種フィードバックを元に購入を予測する指標を作成した。それを最適化目標とすることで、ホーム画面経由の購入増加という結果が得られたのだ。

購買行動のフローとパーソナライズによる支援範囲
購買行動のフローとパーソナライズによる支援範囲

次のページ
パーソナライズ機能を開発するためのスキルセットと開発体制

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Women Developers Summit 2022 セッションレポート連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16872 2022/12/13 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング