レコメンドサービス「AiReco」に迫る!

はじめに

初めまして、ecbeingのふっきーです。

配属当初よりマイクロサービス開発統括部のAiReco(アイレコ、旧:LightningRecommend)チームに所属しており、4月で3年目となりました。
AiRecoとは、ecbeingが提供するレコメンドツールです。
サービス名称にもついているようにAiRecoではAIを活用しており、AIがお客様に合う最適な商品を提案してくれます!
今回はそんなAiRecoのご紹介と、レコメンドの仕組みを簡単に説明したいと思います。

目次

ECサイトにおけるレコメンドとは

ECサイトにおけるレコメンドとは、お客様に最適な商品を提案する重要な機能です!
商品や会員の属性、過去の購買履歴や閲覧履歴を分析し、お客様に合った商品をレコメンドします。これにより、利便性が向上し、購買率が増加することが期待されます。
よく、Amazonなどで買い物しているときに表示されますよね?気になってのぞいてみた...そしてついつい一緒に買ってしまった...!なんて経験も少なくないのではないでしょうか?

ECサイトのレコメンド

AiRecoについて

ここからは、当社マイクロサービスのAiRecoについてご紹介させていただきます!

レコメンドタイプ

レコメンドといえば「あなたへのおすすめ」というイメージが強いかもしれません。
が、実はレコメンドにはその他にも色々な種類があるんです。
プランごとに利用可能なレコメンドタイプは異なりますが、AiRecoでは現時点(2024年4月)でなんと12種類ものレコメンドタイプがあります!
その中でも、AIを利用したレコメンドは5つになります。

レコメンドタイプ 概要 AI利用
あなたへのおすすめ ユーザーの行動や好みに基づき個別に選定された商品を提案する。
似た商品 ユーザーが閲覧または購入した商品に類似した商品を提案する。
セレンディピティ 普段は見ない商品をあえて提案し、新たな商品の発見を促す。
PVレコメンド 表示中の商品を見た人が、他に見た商品を提案する。
「この商品を見た人は、こちらの商品も見ています。」
CVレコメンド 表示中の商品と合わせ買いされた商品を提案する。
「この商品を買った人は、こちらの商品も買っています。」
PVランキング 商品閲覧回数ランキング
「よく見られている商品」
CVランキング 商品購入回数ランキング
「よく購入されている商品」
新着商品 新着の商品を提案する。
今売れた商品 直近で購入されている商品を提案する。
閲覧履歴 過去に閲覧した商品を表示する。
ルールベース 商品を事前に設定したルールに基づき表示する。
閲覧商品に基づく合わせ買いなどを目的とする。
関連コンテンツ 商品に関連しているコンテンツ(記事) を表示する。

※PV(Page View) ...ここでは商品が閲覧された回数とする。
 CV(Conversion)...ここでは商品が購入された回数とする。

オプション

オプション契約をすると、以下の機能も使えます。

  • レコメンドメール
    あなたへのおすすめやランキングをメールで配信!ECサイトへの導線を作ります。

  • コンテンツのレコメンド
    レコメンドできるのは商品だけではありません。記事のレコメンドもできます!
    ※コンテンツで使えるレコメンドタイプには一部制限があります。

仕組み

ここからは、AiRecoがどういった仕組みで商品を提案しているのかご紹介します。
冒頭でも説明したようにAiRecoではAIを活用しているのですが、その中でも機械学習を使っています。
機械学習とは、コンピューターがデータからパターンや規則を学習し、新しいデータに対する予測や意思決定を行う人工知能(AI)の一部です。統計学やアルゴリズムを用いて、データから自動的に学習することで、さまざまな問題を解決するために利用されます。

機械学習は、データをもとに「学習」するプロセスと、その学習結果をもとに「推論」するプロセスに分かれています。

機械学習のイメージ

データを用意する

まずは学習に必要なデータを準備します。商品をおすすめするために以下のようなデータを使っています。

  • 商品や会員の属性
  • 商品を閲覧/購入など、ユーザーの行動履歴

行動履歴はわかると思いますが、属性って何のこと?と思う方もいらっしゃるかもしれませんので、いくつか例を紹介します!

◆アパレルのECサイト

  • 商品属性:

    • 素材: コットン、ポリエステル、ウールなど
    • カテゴリ: Tシャツ、パンツ、ジャケットなど
    • カラー: 黒、白、青、赤など
  • 会員属性:

    • 購買頻度: 週1回以上、月1回以上など
    • 年齢層: 10代、20代、30代など
    • 趣味・嗜好: アウトドア好き、ファッションマニアなど

◆テクノロジーグッズのECサイトの例:

  • 商品属性:

    • ブランド: Apple、Samsung、Sonyなど
    • カテゴリ: スマートフォン、ノートパソコン、ウェアラブルデバイスなど
    • スペック: RAM容量、ストレージ容量、解像度など
  • 会員属性:

    • 技術的知識レベル: ビギナー、エンスージアスト、プロフェッショナルなど
    • 購買目的: 自己利用、プレゼント、ビジネス利用など
    • 好みのブランド: Appleファン、Android愛好家など

◆食品のECサイトの例:

  • 商品属性:

    • 産地: 国内産、海外産、地方産など
    • カテゴリ: 果物、野菜、肉類、加工食品など
    • 賞味期限: 製造日からの日数、賞味期限の長さなど
  • 会員属性:

    • ダイエット意識: カロリー計算、食事制限を行っているか
    • 食の嗜好: ベジタリアン、グルメ、ローカルフード愛好家など
    • アレルギー情報: 小麦アレルギー、乳製品アレルギーなど

ざっくりいうと、商品や会員の特徴ということですね。
レコメンドの「ユーザーの行動や好みに基づき...」といっているのは、この属性や行動履歴のことを指しています。
属性に何の項目を利用するかはECサイトごとに異なり、変更することが可能です。

学習する

必要なデータがそろったら、次はそのデータをもとに学習します。
AiRecoではAzure Machine Learningの自動機械学習を使っています。Azure Machine Learningの詳しい使い方については、以前おとさんが執筆された『AzureとAWSの自動機械学習』を読んでみてください。 blog.ecbeing.tech
学習では先ほどあげたデータをもとに、
「この人はこういう商品見てるんだ~買ってるんだ~」
「この商品とこの商品は似ているんだな~」
とか、
先ほどのアパレルのECサイトであげた例をもとに具体例をあげると、
「このYシャツを購入した人は、よくスカーフとか細身のパンツを一緒に購入しているな~」 などなど、とにかく熱心にお勉強してくれます。

学習イメージ

推論する

最後に推論です。学習モデル(学習結果)をもとに、最適な商品を探し出します。
先ほどと同じくアパレルのECサイトであげた例でいうと、対象データとしてYシャツを見ている人にスカーフとかパンツをオススメするときっと合わせ買いしてくれるだろう、と考えだしてくれます。

推論イメージ

こんな工夫をしています

学習と推論はどちらも夜間に行ってあらかじめレスポンスを考えておくことで、パフォーマンスにも強い工夫をしています。
なぜこんなことをしているのかというと、お勉強をした次の日に「この人に最適な商品は?今すぐ考えて教えて!早く!!」と聞かれても、即答できないからです。
推論をリアルタイムで行うと、データが膨大なのでどうしても考える時間が発生してしまい、レスポンスが遅くなってしまいます。
レスポンスが遅いと、ECサイトにレコメンドが表示される前に他のページに遷移してしまったり...これではレコメンドの意味がありません。
そこで、夜間にあらかじめ回答を複数用意しておきます。簡単にいうとカンペみたいなものです。
「はい、この人に最適な商品教えて~」⇒「はいは~い。(カンペチラー)商品Bと商品Eかな。」と答えてくれます。
これによりその場で考えだすよりも、はるかにレスポンスが速くなります。

まとめ

AiRecoについて理解していただけたでしょうか?
将来的には属性を利用して、話題の生成AIの活用もしていきたいと考えています!
レコメンドの精度を上げたり改善したり...まだまだできることは色々ありますので、今後もどんどん便利な機能を生み出していきたいと思います!

ここまで読んでいただき、ありがとうございました!

お知らせ

ecbeingでは新進気鋭なエンジニアを募集しております! careers.ecbeing.tech