Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
タイミーのレコメンドにおける ABテストの運用
Search
ozeshun
September 19, 2024
Technology
890
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
タイミーのレコメンドにおける ABテストの運用
ozeshun
September 19, 2024
More Decks by ozeshun
See All by ozeshun
タイミーのBraze活用 ~PUSH通知を活用したレコメンド~
ozeshun
2
1.1k
タイミーにおける H3を活用したレコメンドの改善事例
ozeshun
5
4.3k
Other Decks in Technology
See All in Technology
WebGIS AI Agentの紹介
_shimizu
0
610
初めてのDatabricks勉強会
taka_aki
2
220
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
210
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
7.9k
GitHub Copilot運用のリアル ~AI Credit時代にどう向き合うか~
takafumisu2uk1
0
600
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
390
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
250
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
240
cccccc
moznion
0
910
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
440
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
350
Terraform 101 (初心者向け) 資料
shuadachi
0
160
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Amusing Abliteration
ianozsvald
1
220
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
We Have a Design System, Now What?
morganepeng
55
8.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Chasing Engaging Ingredients in Design
codingconduct
0
230
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
230
How STYLIGHT went responsive
nonsquared
100
6.2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Technical Leadership for Architectural Decision Making
baasie
3
430
Transcript
2024/09/18 GENBA #4 データサイエンティストの現場 株式会社タイミー Shunsuke Ozeki タイミーのレコメンドにおける ABテストの運用 @ozeshun_
自己紹介 2 小関 俊祐(Shunsuke Ozeki)/ @ozeshun_ - お仕事 - 2022年にDSとしてタイミーに入社
- MLモデルの改善、ML pipelineの構築、 推薦API基盤の運用など幅広くやってます - 最近検索にも手を出し始めました - 趣味 - 野球全般。ロッテ、レンジャースが好き - 海外旅行 - 個人開発
目次 • サービス紹介 • レコメンド機能におけるABテスト • ABテストの設定方法 • ABテストで計測する指標のモニタリング •
ABテストの仮説と分析結果の管理方法 • まとめ
サービス紹介
None
6
レコメンド機能におけるABテスト
タイミーのレコメンド機能 さがすタブ おきにいりタブ おすすめのお仕事 アプリの「さがすタブ」と「おきにいりタブ」に表示されるバナーをタップすると、 パーソナライズされたおすすめの仕事が表示されるという形で、レコメンド機能は実装されています 8
レコメンド機能におけるABテスト レコメンド・プロダクト全体の指標を向上させるために、レコメンド機能に適用するアルゴリズムを高頻度 でアップデートしてABテストによるオンライン評価を実施しています 9 レコメンド機能 既存アルゴリズム 新規アルゴリズム VS
ABテストで計測している指標 AB テストの対象になったワーカーで下記指標を主に計測し、両群での差異を比較しています - レコメンド画面での指標 - レコメンド経由のお気に入り数 - レコメンド経由の申込数 -
全体の指標 - お気に入り数 (レコメンド経由のお気に入り数 + レコメンド経由以外のお気に入り数) - 申込数 (レコメンド経由の申込数 + レコメンド経由以外の申込数) 10 レコメンド機能のフロー
ABテストの設定方法
レコメンドシステムのアーキテクチャ データ基盤があるGoogle Cloudにアイテム推薦APIを立て、その中でABテストの振り分けを設定しています - プロダクト本体の基盤があるAWS上のリソースを変更せずに、DS組織内でABテストの設定が完結出来 るようになっています ABの振り分けはここで設定
アイテム推薦APIにおけるABテストの設定方法 下記のようなyamlファイルがアイテム推薦APIのソース内にあり、 設定したいABの内容を追記してデプロイする事で新規ABが簡単に開始出来るようにしています ab_tests : - duration : start_at :
'2024-09-01 00:00:00' # ABテストの開始時間 (JST) end_at: '2024-09-30 23:59:59' # ABテストの終了日 (JST) key: ab_240901_240930 # ABテスト名 variants : - algorithm_name : alg_a # A群のユーザーに割り当てるアルゴリズム weight: 0.5 # A群にどれぐらいの割合のユーザーを割り当てるか group: display: 1 # 割り当てたユーザーをどれくらい表示群にするか hidden: 0 # 割り当てたユーザーをどれくらい非表示群にするか - algorithm_name : alg_b # B群のユーザーに割り当てるアルゴリズム weight: 0.5 # B群にどれぐらいの割合のユーザーを割り当てるか group: display: 1 # 割り当てたユーザーをどれくらい表示群にするか hidden: 0 # 割り当てたユーザーをどれくらい非表示群にするか ab_tests : - duration : start_at : '2024-09-01 00:00:00' # ABテストの開始時間 (JST) end_at: '2024-09-30 23:59:59' # ABテストの終了日 (JST) key: ab_240901_240930 # ABテスト名 variants : - algorithm_name : alg_a # 割り当てるアルゴリズム weight: 1 # どれくらい の割合のユーザーを割り当てるか group: display: 0.5 # 割り当てたユーザーをどれくらい表示群( A群)にする か hidden: 0.5 # 割り当てたユーザーをどれくらい非表示群 (B群)にす るか alg_aとalg_bを5:5で割り振るABを設定する時 alg_aを表示群と非表示群に5:5で割り振るABを設定する時
ABテストで計測する指標のモニタリング
計測したい指標のモニタリング方法 下記のようなLooker Studioで計測したい指標を出来る限り可視化してモニタリングしています - 毎日確認したいグラフ(KPIをA群B群で比較したグラフ等)はslackに毎日通知するようにしています - 週に2回程可視化した指標を同期的に見る時間を作って、モデルが意図通りの推論をしているかを確認 したり、次の打ち手はどうすべきかを話したりしています ※ダミーデータを使用しています
モニタリングのためのDWH, DM設計 確認したい指標をすぐ見られるよう各種指標を集計したDMを構築しています - BIツールがDMを参照することで、クエリのスキャン量も削減する事が出来ます
ABテストの仮説と分析結果の管理方法
ABテストの仮説と分析結果の管理方法 仮説と実験結果をまとめたドキュメントは、NotionのDBで管理しています - アナリストのチームが、プロダクト組織横断で効果検証のドキュメントを管理するDBを構築してくれ ました (参考) ドキュメントには以下の項目を書くようにしています 1. TL;DR 2.
確かめたいこと 3. 仕様 4. 実験設計 → 詳細は右画像 5. 結果 6. 考察 7. 新たな疑問、次に確かめたいこと
ドキュメントを活用したABテスト前の仮説立て - 「確かめたいこと」に今回考えている仮説を書く - 「仕様」に今までのアルゴリズムが抱えていた課題と新規アルゴリズムで行った変更を書いておく アルゴリズムA アルゴリズムB アルゴリズムB: 中央値 アルゴリズムA:
中央値
まとめ
まとめ レコメンド機能におけるABテスト - タイミーにおけるレコメンド機能と実施しているABテストの概要について説明しました ABテストの設定方法 - レコメンド全体のアーキテクチャを紹介しながら、ABテストを簡単に開始できる仕組 みにしていることを紹介しました ABテストで計測する指標のモニタリング -
日々のモニタリング体制とモニタリング用のデータの管理方法について紹介しました ABテストの仮説と分析結果の管理方法 - ABテストで実施した内容をまとめたドキュメントの管理方法や活用事例について紹介 しました
データ系職種積極的に採用中です! 22 https://product-recruit.timee.co.jp/data
Thank you