AWS Startup ブログ

Amazon Personalize 導入後、CTR が 3.78 倍に向上。ルームクリップ社の AWS 活用事例

3 社のスタートアップ企業による Amazon Personalize の活用事例を 3 日間連続でご紹介します!

第 1 弾は 部屋のレイアウトや大型家具、小物・雑貨など 500 万枚以上の写真を掲載する日本最大の部屋のインテリア実例共有サイト「RoomClip(ルームクリップ)」です。

このサービスを運営するルームクリップ株式会社は、パーソナライズされたレコメンデーションの機能を提供する AWS のマネージドサービス Amazon Personalize を活用しています。

同社は「RoomClip」内でおすすめの投稿をユーザーに表示する機能を実現するために、Amazon Personalize を導入しました。そうすると、機能のリリース後にユーザーの反応が大きく改善。アプリのホーム画面に表示された投稿をユーザーがクリックする割合(CTR*)が、導入前と後とで最大 3.78 倍ほど増えたのです。

ルームクリップ社へのサポートを行うアマゾン ウェブ サービス ジャパン スタートアップ事業本部 アカウントマネジャーの井上 遼が、ルームクリップ 執行役員 CTO 平山 知宏 氏とテクノロジー室エンジニアの冨田 寿弥 氏にお話を伺いました。

*…Click Through Rate の略語で、ユーザーに画面が表示された回数(インプレッション数)のうち、ユーザーがクリックした回数の割合を計算したもの。

住居や暮らしを良くする工夫やノウハウ、商品を紹介するサービス

井上:ルームクリップ社が提供するサービスの概要をお話しください。

平山:私たちはインテリア実例共有サイト「RoomClip」を提供しています。これは住居のインテリアの写真を投稿・閲覧する機能のほか、フォローやいいね、保存などの機能がある SNS で、日本全国のさまざまな住空間を知り、つながることができます。サービス開始から 10 年以上が経過しており、ユーザーの方々から長く愛されています。

かつて弊社の経営陣は「『衣・食・住』のうち、衣と食はユーザーが気軽に投稿できる SNS が世の中にあるが、住にはない」と考えました。そこで、住居や暮らしを良くするための工夫やノウハウを、場所や時間を超えて伝播させられるサービスを作ろうと「RoomClip」を立ち上げたのです。

また、2021 年には新しく「RoomClip ショッピング」をリリースしました。これは「RoomClip」に投稿されている実例写真を参考にしながら、ユーザーが「RoomClip」のサービス内で商品を購入できるサービスです。「RoomClip ショッピング」には、全国のさまざまな店舗が出店し、商品を提供しています。「RoomClip」「RoomClip ショッピング」ともに、さらなるサービスの成長を目指して事業を推進しています。

ルームクリップ 執行役員 CTO 平山 知宏 氏

AWS を活用したレコメンドデータ生成・呼び出しのアーキテクチャ

井上:今回の事例インタビューでは、Amazon Personalize に関連したエピソードを伺います。どのような機能に Amazon Personalize を活用していますか。

冨田:「RoomClip」のホーム画面では、各ユーザーの投稿した画像が表示されます。そして、ユーザーがログインしている場合には、この画面におすすめの投稿が表示されるのですが、そのレコメンドデータを生成するために Amazon Personalize を用いています。

井上:Amazon Personalize の導入を考えたきっかけはあるでしょうか。

冨田:かつて、私たちがおすすめの投稿の機能を構想していた頃に、ちょうど Amazon Personalize がリリースされました。このマネージドサービスを使うことで、それほど工数をかけずにおすすめ機能を実現できると考えて、導入を決めました。

井上:Amazon Personalize に関連したシステムのアーキテクチャもご説明ください。

 

冨田:まずデータ生成の箇所についてお話します。私たちはレコメンドデータ生成のためのバッチを Amazon ECS 上で動かしています。この処理で Amazon Personalize のバッチレコメンドを呼び出してデータを作り、結果を Amazon DynamoDB に格納します。

次にレコメンドデータを呼び出す箇所について説明します。私たちは Amazon API GatewayAWS Lambda を用いて、特定ユーザーのおすすめ情報を返却する API を構築しています。そして、本体の API からおすすめ情報の API を呼び出し、データを取得します。

井上:それらのマネージドサービスを採用している意図は何でしょうか。

冨田:もともとプロジェクトの初期フェーズでは、データを格納するためにリレーショナルデータベースを用いようと構想していました。ですが、「RoomClip」で扱うレコメンドデータの量は膨大ですし、データの更新が頻繁に行われます。

「ユーザーに一度表示した投稿を、その後はユーザーに表示しない」という仕様にしているため、ユーザーが閲覧したかどうかの情報を、データに反映させるため頻繁に更新を行うのです。リレーショナルデータベースでは、パフォーマンスの課題が生じると考えました。そこで、大量データの扱いやデータの頻繁な更新に向いている Amazon DynamoDB を採用しています。

また、Amazon API Gateway と AWS Lambda を用いて API を構築したのにも理由があります。アプリ本体の API とレコメンド系の処理とを、疎結合にしておきたかったためです。また、処理内容が「Amazon DynamoDB からデータを取得して呼び出し元に返却する」というシンプルなものであることや、インフラの運用コストを最小限に抑えたいことから、AWS Lambda が適していました。

ルームクリップ テクノロジー室 エンジニア 冨田 寿弥 氏

Amazon Personalize はすぐに導入できて、大きな効果がある

井上:Amazon Personalize の機能で、特に便利さを感じたものはありますか。

平山:Amazon Personalize にはバッチレコメンド機能があるため、アプリ本体とは別の専用環境で、データをあらかじめ生成できるのが大きかったです。もしも、アプリ本体の API から Amazon Personalize を呼び出す設計にしたならば、SDK などを入れる必要が生じ、ライブラリの依存関係が発生してしまいます。

開発・運用の負荷を下げるために、なるべく依存を増やす選択をしたくありませんでした。バッチレコメンド機能があったことで、Amazon Personalize とアプリとを疎結合にでき、導入のハードルが大きく下がりました。これにより、万が一レコメンドがうまく作用しなかった場合でも、設計を変えやすくなります。

井上:おすすめ機能のプロジェクトを推進するのに必要とした人員と開発期間を教えてください。

冨田:担当者はほぼ私一人で、プロジェクト全体にかかった期間は 3 ~ 4 か月くらいでした。もともと、おすすめ機能そのものが全くない状態からのスタートだったため、仕様や設計を考えたり、A/B テストの仕組みやおすすめ API を実装したりという作業に、ほとんどの工数を割きました。

Amazon Personalize の導入そのものは、コンソールを少し操作するのみで、相当に短い時間で完了しました。導入コストを抑えられることは、Amazon Personalize の大きな利点だと感じます。

アマゾン ウェブ サービス ジャパン スタートアップ事業本部 アカウントマネジャー 井上 遼

井上:おすすめ機能の導入後、ユーザーからの反応は良くなりましたか。

冨田:かなり改善しました。アプリのホーム画面に表示された投稿をユーザーがクリックする割合が、導入前と後を比較すると最大で 3.78 倍ほどになりました。

井上:大きな違いですね。AWS のサービスが御社の事業に貢献できて、非常に嬉しく感じます。

レコメンデーションにより、サービスをさらに進化させていく

井上:今後はシステムのアーキテクチャをどのように発展させたいですか。

平山:インタビュー冒頭でもお話ししましたが、弊社は 2021 年から「RoomClip ショッピング」を開始し、それに伴って扱うデータの種類も増えています。もともとは「ユーザー」と「投稿写真」という 2 つの重要なエンティティがありましたが、新たに「商品」というエンティティが加わりました。

これからのフェーズでは、投稿のおすすめ機能に加えて商品のおすすめ機能も実現していきたいと考えています。これは非常に難易度が高く、かつユーザーへの提供価値に直結する重要な仕事です。

井上:どのような点に、難易度の高さがありますか。

平山:「RoomClip ショッピング」では、さまざまな店舗が出店し、商品を提供しています。それらの商品のなかには「ある店舗と別の店舗が別の名前をつけているが、実は同じメーカーの同じ商品」というケースもあります。そうした場合に、いかにして名寄せの処理を行うかを考えなければなりません。

また、商品のおすすめを行ううえで、“時間”という軸も考慮する必要があります。たとえば、あるユーザーが子どもの誕生をきっかけに引っ越したことを投稿したならば、机や椅子などの家具をおすすめするのが有効になるかもしれません。その数年後に、ランドセルをおすすめするのが効果的になる可能性もあります。つまり、ユーザーの生活に寄り添いながら機能を設計し、提供していく必要がある。これは、私たちのサービスならではの難しさであり、エンジニアリングの醍醐味でもあります。

冨田:私はいま商品のレコメンデーションに携わっており、平山が話したように“時間”を考慮した設計はチャレンジングだと考えています。データ分析を扱うエンジニアにとって、非常にモチベーションが上がる仕事です。今後は、Amazon Personalize で得られるデータを有効活用しながら、さらなるサービス改善につなげていきたいです。

井上:将来が楽しみなフェーズですね。システムのさらなる進化のために、どのようなエンジニアを採用したいですか。

平山:インフラエンジニアにぜひ来てほしいです。現在は、2 ~ 3 人ほどのエンジニアが他の業務を兼務しつつ、インフラを担当する状況が続いています。インフラをさらに盤石な体制にするために、スキルの高いインフラエンジニアに参画してもらえたらありがたいです。

今後、私たちのサービスは扱うデータの量や種類も増え、より規模の大きなシステムに成長しようとしています。また、商品データのレコメンド設計のように、新しいチャレンジにも積極的に取り組みます。開発組織が大きな転機を迎える、貴重なタイミングです。ぜひ、意欲の高い AWS フリークのインフラエンジニアがいらっしゃれば、一緒に働きましょう。

井上:今後さらなるアーキテクチャの進化が楽しみです。今回はありがとうございました。


導入支援・お見積り・資料請求等に関するご質問、ご相談に日本担当チームがお答えします。平日 10:00〜17:00 はチャットでもお問い合わせいただけます。お問い合わせはこちら