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
900
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
ゼロをイチにする仕事が終わったあと
smasato
0
340
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
410
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
270
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
570
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.1k
世界、断片、モデル。そして理解
ardbeg1958
1
110
LLM/Agent評価:トップ営業の発言を「正解」にする 〜暗黙的正解による評価を営業資産に変える〜
takkuhiro
1
210
SRE Lounge Hiroshimaへの招待
grimoh
0
640
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
170
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
500
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
2
730
CIで使うClaude
iwatatomoya
0
240
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
A Soul's Torment
seathinner
6
3.1k
It's Worth the Effort
3n
188
29k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
650
Side Projects
sachag
455
43k
RailsConf 2023
tenderlove
30
1.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
New Earth Scene 8
popppiees
3
2.4k
Documentation Writing (for coders)
carmenintech
77
5.4k
The untapped power of vector embeddings
frankvandijk
2
1.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
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