目次
レコメンドエンジンとは
そもそもレコメンドとは何なのでしょうか。 この記事では、Konstan(2001)やResnick(1997)の定義に習い、レコメンドとは「ユーザー視点では違いがよく分からないものの中から、どのコンテンツがそのユーザーにとって価値があるか、の特定を支援すること」と定義します。Konstan(2001)の「どれに価値があるかを特定するのを手助けする手段」とResnick(1997)の「自分の経験だけでは違いがあまりよくわからないものの中からでも, どうしてもどれかを選ばなければならない…(中略)…推薦システムは, こうした社会で普通に行われている一連の行為を補助したり,促進したりする.」をもとにしています。出典:Konstan et al.(2001), The GroupLens Research Project: Collaborative Filtering Recommender Systems 出典:Resnick et al.(1997), Recommender systems コンテンツプラットフォームにおけるレコメンドの重要性は、昨今急速に増してきています。 例えば、レコメンドはAmazonのようなECサイト、Netflixのような動画サービスなど、今日人々が利用するほぼ全ての、コンテンツを提供するサービスで欠かせない役割を担っています。 レコメンドエンジンは、ユーザーの行動ログやコンテンツ情報から各ユーザーに届けるべき最適なコンテンツをアルゴリズムによって決定づけます。 それにより、より良いユーザー体験を実現し、結果としてサービスのKPIを大きく向上させることができます。
レコメンドエンジンでできること
レコメンドエンジンによって、例えば以下のようなレコメンドを実現することが出来ます。- 人気コンテンツのレコメンド
- 好みの似たユーザーが好きなコンテンツのレコメンド
- 購入・閲覧したコンテンツと似たコンテンツのレコメンド
- アルゴリズムの設計:どのようなロジックでコンテンツを決めるか
- UI/UXの設計:どのような画面でどう見せるか
- ランダム:ランダムにコンテンツをレコメンド
- ランキング:人気順にコンテンツをレコメンド
- 運営のおすすめ:手動でコンテンツをレコメンド
- 協調フィルタリングモデル(ユーザーベースとコンテンツベースの2種類)
- ユーザーベース:各ユーザーに対して「どんなコンテンツを見たか」の行動ログを元に、自分(orその人)に似たユーザーを探し、似たユーザーが好きなコンテンツをレコメンド
- コンテンツベース:各コンテンツに対して「そのコンテンツを見た人が他にどんなコンテンツを見ているか」の行動ログを元に、関連するコンテンツをレコメンド
- 機械学習モデル:ユーザーの行動ログだけでなく、デモグラ情報等のユーザー属性や、サムネイル情報等のコンテンツの特徴量も活用したレコメンド。協調フィルタリングモデル同様、ユーザーベースとコンテンツベースがある。
- ECサービスにおいて、コンシェルジュのような個別の接客を演出するために、起動時の画面で、好みに合わせたレコメンドを行う。
- 動画サービスにおいて、連続視聴を促すために、視聴後画面で、類似コンテンツのレコメンドを行う。
レコメンドエンジンの成功事例
レコメンドエンジンで大きく成果を上げた会社には、Amazon、Netflix、TikTokなどがあげられます。 ここでは各社の成功を支える、「実現したいユーザー体験」を追求したレコメンド設計の事例を紹介します。Amazon
Amazonでは、創業者Jeff Bezos氏の発言にもある通り、ユーザーごとにパーソナライズしたオンラインストアを目指しています。“If I have 3 million customers on the Web, I should have 3 million stores on the Web.” (Webに300万の顧客がいるなら、300万のWebストアを用意すべきだ。)出典:E-Commerce Recommendation Applications 具体的には、以下のような購買体験でレコメンドが活用されています。
- ついで買い(表示メッセージ:「よく一緒に購入されている商品」)
- リピート購入(表示メッセージ:「もう一度買う」)
- 好みに合わせた接客(表示メッセージ:「あなたのお買い物傾向から」)
購買体験 | レコメンドの表示メッセージ | 活用可能な主なアルゴリズム例※ |
ついで買い | 「よく一緒に購入されている商品」 | コンテンツベース |
リピート購入 | 「もう一度買う」 | ルールベース |
好みに合わせた接客 | 「あなたのお買い物傾向から」 | ユーザーベース |
Netflix
Netflixでは、多数の映画やドラマの中から「興味を持っている作品を見つける」体験を、様々なおすすめ理由(Netflixでは「行」と呼ばれています)の表示でサポートします。 具体的には、ホーム画面において、様々なおすすめ理由(Netflixでは「行」と呼ばれています)ごとに作品を表示するというUI/UX設計がなされています。 「行」には、「視聴中コンテンツ」「話題の作品」「受賞歴のあるコメディ」などがあります。 これらの「行」の表示順や「行」の中に表示される作品は、視聴情報を用いた高度なレコメンドアルゴリズムによって、ユーザーごとに最適化されています。 出典:Netflixのレコメンド機能のご利用方法TikTok
TikTokでは、たくさんのショートムービーから「好きなものや新しいものが次々出てくる」体験を、レコメンドによって実現しています。 具体的には、「ForYou」フィードと呼ばれる独自のタブをUI/UX設計に取り入れていて、そこでスワイプを起点に次々と動画をレコメンドしています。 レコメンドの質を高めるために、以下のようなアルゴリズム設計が取り入れられています。- 視聴時間や「いいね」といった行動データをもとにしたパーソナライズ
- 興味のありそうな動画に限定せず、多様なコンテンツを表示
レコメンドエンジンの重要性と提供価値
コンテンツプラットフォームにおけるコンテンツ数は拡大していて、多様な選択肢からユーザーに合ったレコメンドすることの重要性も増しています。 例えば、YouTubeでは毎分500分のペースで動画がアップロードされていて、約70%の視聴者がYouTubeのアルゴリズムによるレコメンド動画を視聴しています。 出典:YouTube at 15: My personal journey and the road ahead 出典:CES 2018: YouTube’s AI recommendations drive 70 percent of viewing – CNET また、人々の好みが多様化し、企業は性別や年代などの単純な属性だけからユーザーの嗜好を測ることが難しくなってきました。 そのため、高度なレコメンドエンジンによる最適なコンテンツの決定が、サービスのKPIを高める上でも重要になってきており、レコメンドエンジンの導入によって、売上・リテンションといったKPIの大幅な向上が期待できます。 具体的には、以下のようなKPIの向上が期待できます。売上向上
- 顧客単価
- リピートユーザー数
- クロスセル
- アップセル
- サブスクリプションの課金ユーザー数
リテンション向上
- 閲覧数
- 滞在時間
- サブスクリプションの継続率
レコメンドエンジンのよくある落とし穴
レコメンドエンジンのアルゴリズム自体は、実はありふれたものです。 例えば、現在主流のアルゴリズムである協調フィルタリングは、Amazonによって発表されてから20年近く経っています。 事実、数多くの事業者がレコメンドエンジンを汎用ツールとして提供しています。 出典:Linden et al.(1998), Collaborative recommendations using item-to-item similarity mappings しかし、レコメンドエンジンは正しく導入できず、失敗につながるケースもあります。 その主な原因は、レコメンドで成果を上げるための「設計」「開発」「運用」のフェーズのうち、「設計」「運用」のフェーズで見落としが発生することにあります。 そうならないためにも、レコメンドエンジンの導入時点で、利用形態や事業者の十分な検討が必要になります。 ここでは、レコメンドエンジンの導入で失敗につながる、よくある2つの落とし穴を紹介します。- 落とし穴①:サービスに合わせた設計が出来ていない
- 落とし穴②:リリース後に継続的な改善が出来ない
落とし穴①:サービスに合わせた設計が出来ていない
レコメンドの成果は、サービスに合わせた設計が出来るか、に大きく左右されます。 なぜなら、レコメンドの成功は「より良いユーザー体験の提供」によって達成されるものであり、「より良いユーザー体験」はサービスによって様々だからです。 そのため、レコメンドエンジンの導入においては、設計段階での十分な検討が必要になります。 ここでは、サービスに合わせた設計が出来ない要因と、そうならないための注意点をご紹介します。失敗の要因
・ユーザー体験の改善仮説がなく、設計の方針がたてられない 具体例:ECアプリでレコメンドを導入してみようと、とりあえずホーム画面で過去の購買に似た商品をレコメンドしてみたが、機能しなかった。よくよくユーザー体験を考え直してみると、過去に購買したものは既に持っていて不要なため、実は「購買していないが、購買しそうなもの」のレコメンドが求められていた。 ・アルゴリズムの実装方針など、設計が難しい 具体例:初期ユーザーの定着率向上のためにレコメンドエンジンを導入したが、コールドスタート問題に対する適切な実装が出来なかった。 なお、上記のコールドスタート問題のように、レコメンドエンジンには考慮すべき難しい問題がいくつかあります。 コールドスタート問題 行動ログが溜まっていないユーザーは、ユーザーの嗜好が掴みづらく、ユーザーベースレコメンドの精度が出ない問題。 少カバー率問題 ニッチコンテンツのような一部のユーザーにしか見られないものは、特徴が掴みづらく、ユーザーにうまくレコメンドされない問題。 こうした問題に対しては、行動ログ以外のデータを用いて設計する等の、サービスごとの個別の対処が必要になります。失敗しないために
上記のようなサービスに合わせた設計での失敗をしないために、レコメンドエンジンの導入時には、具体的に以下の点に気をつける必要があります。 ✔ 導入目的を明確にできているか- 達成したいKPIや、あるべきユーザー体験を明確化できているか
- コールドスタート問題や少カバー率問題への対処などに対して、技術的な解決策を立案・実行できるか
落とし穴②:リリース後に継続的な改善が出来ない
レコメンドにおいて精度の高さは重要ですが、リリース後の精度に特に注意が必要です。 なぜなら、レコメンドの精度には以下の特性があるからです。- リリースして実際のユーザーで評価するまで精度がわからない
- サービスの成長によって設計の見直しが必要で、放置しておくと精度が落ちる
失敗の要因
・実際のユーザーに対する精度を見ずにプロジェクトを終了する 具体例:委託先から「過去の行動ログを用いた評価では精度が出た」と言われ納品・リリースしたところ、実際のユーザーに対する精度が低かった。しかし、プロジェクトを終了した後だったので改善ができなかった。 ・モニタリングの仕組みがない 具体例:既存のユーザー構成では主婦層が主だったが、ターゲットの拡大により、徐々に社会人の構成比が大きくなった。顧客層ごとに好みの傾向が違ったため、次第に既存のレコメンドの精度が落ちていったが、精度のモニタリングをしていなかったため、気づくのが遅くなった。 ・改善できる人材がいない 具体例:モニタリングの結果、レコメンドの見直しが必要と気づけたが、改善できる人材がおらず、対応できなかった。失敗しないために
上記のような継続的な改善での失敗をしないために、レコメンドエンジンの導入時には、具体的に以下の点に気をつける必要があります。 ✔ オンライン評価・分析ができるか- 実際のユーザーに対してレコメンドをリリースし、その結果を踏まえて、事業性の評価や改善のための分析ができるか
- レコメンド結果やKPIの改善幅が下がっていないかをチェックするための、長期的な監視体制を構築できるか
- 精度悪化やUI/UX変更などに応じて、レコメンドエンジンの再設計・実装・評価ができるか
レコメンドエンジンの利用形態
レコメンドエンジンの導入で失敗しないために、利用形態の違いを十分に理解することが重要です。 ここでは、レコメンドエンジンで主要な、以下の3つの利用形態をご紹介します。- 手軽な既製品の「ASP型」
- 設計を任せられる「納品型」
- 簡易に内製できる「オープンソース型」
導入のしやすさ | 質の高さ | |||
料金 | 手軽さ | サービスに合わせた設計 | 継続的な改善 | |
ASP型 | ◯〜△(機能を絞れば安い) | ◯(マニュアル操作) | △(アルゴリズムが固定) | △(既製品) |
納品型 | △(比較的高い) | ◯(事業者に委託してお任せ可) | ◯(※事業者の見極めが 必要) | △(納品の時点で開発が終了) |
オープンソース型 | ◯(無償) | △(社内で開発が必要) | △(使えるアルゴリズムが限定的) | ◯(※社内のリソース次第) |
手軽な既製品の「ASP型」
ASPとは、Application Service Providerの略で、インターネット上で利用できるサービスを一般的に指します。 レコメンドエンジンにおける「ASP型」では、汎用のアルゴリズムを内部に持つレコメンドエンジンを利用します。 メリット- 基本機能に絞り込んだサービスを選べば、安価に利用可能
- 既製品であり、マニュアル操作で手軽に利用可能
- アルゴリズムが固定のため、どれだけカスタマイズ※しようと、設計の範囲に限界
- 既製品のため、実際のユーザーの反応に合わせたチューニングが困難
- レコメンドの質の高さよりも導入のしやすさ(料金の安さや手軽さ)を優先
設計を任せられる「納品型」
レコメンドアルゴリズムの開発に長けた専門家に開発を発注し、自社のサービスに合ったレコメンドエンジンの納品を受けます。 メリット- 特定のアルゴリズムに依存しないため、サービスに合わせた設計が可能
- 一般的には納品によって開発プロジェクトが終了するため、その後の改善が難しい
- 自社のサービスに適した設計を提案してくれるかどうか、事業者の実力の見極めが難しい
- レコメンドの質を求め、自社のサービスに合わせたレコメンドエンジンの設計に費用をかけられる
簡易に内製できる「オープンソース型」
無償で利用できるオープンソースのアルゴリズムを使い、レコメンドエンジンを内製化できます。 設計や改善を自社で行うことになるため、社内のリソースに余裕があり、かつレコメンドに関する一定の知識があることが前提になります。 メリット- 無償で利用できる
- 内製のため、リリース後の改善まで実行が可能
- 設計や改善の質は、社内のレコメンド人材の質に依存
- オープンソースだけでは利用可能なアルゴリズムが一定限られるため、設計の範囲に限界
- 社内リソースに余力がある、レコメンドに長けたエンジニアがいる、等の理由で、レコメンドの設計・開発・運用チームを自社で抱えたい
ここまで、レコメンドエンジンの主要な利用形態について紹介しました。 特に質の観点で「サービスに合わせた設計」や「継続的な改善」への対応可能性を整理すると、以下の図のようになります。

設計も改善も任せられる「伴走型」
Algoageでは、「サービスに合わせた設計」「継続的な改善」の両方を任せられ、継続的にレコメンドで成果を出し続けたいというお客様のニーズにお答えする、「伴走型」レコメンドエンジンを提供しています。
- レコメンドエンジンの設計・開発に長けた専門家が開発を行う
- お客様の長期的な事業成果を目標にし、運用・改善までをサポートする
- 「サービスに合わせた設計」や「継続的な改善」を任せ、継続的にレコメンドで成果を出し続けたい
- 内製によるチーム組成の工数を省略しつつ、手軽に専門性の高いチームを活用したい
◆「伴走型」レコメンドエンジンの開発事例紹介 いかにして「サービスの主要KPIを大幅改善するレコメンド機能」を生み出すか
レコメンドエンジンの導入の流れ
「伴走型」や「納品型」の場合は、開発プロジェクトとして提案を受けることになるため、以下が基本的な導入の流れになります。- 問い合わせ
- 事前ヒアリング
- プロジェクト内容の提案
- プロジェクト開始
- 初期リリース
- 改善のための活動(「伴走型」の場合)
- 申し込み
- (事前ヒアリング・カスタマイズ対応)
- 利用開始
レコメンドエンジンの導入費用
レコメンドエンジンは、利用形態や事業者によって、レコメンドの質および事業成果へのインパクトが様々なため、費用単体で比較するのではなく、費用対効果での比較が重要です。 しかし、導入前の段階でレコメンドによる事業成果を推定することは難しく、最初は研究開発的に予算を投じることになります。 理想は内製によって専門家チームを抱えることですが、成果が不透明な段階で、高い人件費や採用活動の工数を割くことは難しいでしょう。 そのため、事業者への外注を検討する企業が多いのではないでしょうか。 事業者選びの注意点ですが、単に費用の安さだけで事業者を選んでしまうと、レコメンドの質が度外視され、「レコメンドエンジンのよくある失敗」でご紹介したような失敗に陥ってしまう恐れがあります。 本記事「レコメンドエンジンのよくある落とし穴」で紹介した見極めるためのポイントを再掲します。ぜひ参考にしてみてください。「サービスに合わせた設計」ができるか
✔ 導入目的を明確にできているか- 達成したいKPIや、あるべきユーザー体験を明確化できているか
- コールドスタート問題や少カバー率問題への対処などに対して、技術的な解決策を立案・実行できるか
「継続的な改善」ができるか
✔ オンライン評価・分析ができるか- 実際のユーザーに対してレコメンドをリリースし、その結果を踏まえて、事業性の評価や改善のための分析ができるか
- レコメンド結果やKPIの改善幅が下がっていないかをチェックするための、長期的な監視体制を構築できるか
- 精度悪化やUI/UX変更などに応じて、レコメンドエンジンの再設計・実装・評価ができるか