BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース アプリ内メッセージングプラットフォームを構築する方法:Lyftの事例

アプリ内メッセージングプラットフォームを構築する方法:Lyftの事例

原文(投稿日:2022/04/11)へのリンク

モバイルアプリ用のアプリ内メッセージングプラットフォームの構築を考えたことがある場合には、Lyftの経験がそれを正しく行うための役に立つ可能性がある。Lyftのエンジニアは、MVP、スケーリング、最適化の3段階のアプローチを適用した。

Lyftは独自のアプリ内メッセージングプラットフォームを構築するという決定をしたが、その推進要因として、SMS、電子メール、プッシュ通知などの外部メッセージングプラットフォームを使うことに対する2つの大きな欠点があった。別のアプリでは、メッセージ配信が遅れたり、ユーザエクスペリエンスが中断したりする可能性があった。

最初に決定したいことは、メッセージをどのように配信するかである。Lyftの場合、アプリ内バナーは、浸食ではないが目立つ方法で乗客にメッセージを配信する方法が正しいようであった。その決定が下されると、チームは、最小実行可能製品(MVP)の実装から始まり、次に採用とスケーリングのフェーズ、そして最後に最適化の取り組みまで、3段階のプロセスを定義した。

最初の段階では、MVPの作成を目指して、Lyftチームは、目下の問題の複雑さを軽減するために多くの決定を下した。彼らがMVPに望んでいたのは、州、場所、市場の状況に基づいてユーザをターゲティングする方法であった。そして、バナーの割合を制限し、メッセージの頻度が高すぎることでバナーの関連性が低下することを防ぐ方法であり、実験を遂行する方法であり、バナー間の競合に対処する方法であった。

ユーザを効果的にターゲティングするために、Lyftのエンジニアはメッセージングプラットフォームを顧客データプラットフォームと統合した。当初、バナーはスケーラブルではない方法で手動で作成されており、ターゲットを絞ったバナーであった。メッセージの重複は、メッセージを表示できる最大回数を制限することで対処された。競合の影響を減らすために、Lyftはシンプルなヒューリスティックを定義した。それは、少数を対象としたメッセージに対してより高い優先度を割り当てるものである。さらに、物事をさらにシンプルするために、バナーはメイン画面にのみ表示できるようにした。

これらすべてが整ったので、Lyftはプラットフォームの実験を開始し、機能の採用、アクティブな乗客、ユーザエンゲージメント指標のいくつかについて材料となる統計を収集した。

第2段階では、チームは、スケーラビリティを妨げるボトルネックをいくつか取り除くことを試みた。例えば、バナーの手動作成やバナー配置場所の制限である。そこで、チームは、プログラマーが介入せずに新しいバナーを作成するための内部ツールを実装した。そして、増え続けるメッセージに対処するために、競合を回避するためのより優れたランキング戦略を実装した。具体的には、個々のメッセージをランク付けする代わりに、バナーカテゴリを作成してランク付けし、いわゆるトランザクションメッセージを最優先し、プロモーションメッセージを低優先にした。ユーザターゲティングを改善する時期でもあり、ジオフェンスとイベント固有のメッセージのサポートを追加した。最後に、チームはバナーをより効果的に統合するために、表示できる場所の数を増やした。

第3段階では、Lyftチームはメッセージの効果を最適化することを目指した。そのためには、適切なメッセージを適切なユーザに適切なタイミングで配信することを確実に実施するために、いくつかの重要な質問に対する回答を与える必要があった。

これは、関連するコンテキストデータに基づいてメッセージをランク付けするMLモデルを作成し、ユーザにバナーを表示することで期待される報酬を予測することで解決された。

これにより「ロングテール問題」と呼ばれる別の問題が発生した。これは、時間の経過とともに人気のあるバナーのみが表示される傾向にあり、一方で人気のないバナーにはチャンスが訪れないことを意味する。ロングテールを回避するための解決策は、バンディット強化学習アルゴリズムを使うことであった。

バンディット最適化は、Lyftチームがどのバージョンのバナーを表示するかを決定するための実験を行う方法を改善するためにも活用された。これにより、最適なメッセージバージョンを見つけるまでの時間が短縮された。

Lyftの記事には、ここで説明されている内容よりも詳細な情報が記載されている。それを見逃さずに全体像を掴んでください。

作者について

この記事に星をつける

おすすめ度
スタイル

BT