Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
タイミーのレコメンドにおける ABテストの運用
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ozeshun
September 19, 2024
Technology
960
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
3
1.2k
タイミーにおける H3を活用したレコメンドの改善事例
ozeshun
5
4.5k
Other Decks in Technology
See All in Technology
SLOを阻む不安
sraku2159
0
200
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
220
Lint の層を組み直した話
bengo4com
1
280
新卒エンジニア、 介護士になる
ryu1013
1
660
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
120
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
3
610
2拠点SRE活動始めてみた | sogaoh's LT @ ホンマでっかSRE勉強会 #3
sogaoh
PRO
0
230
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
720
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
150
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
370
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
2.1k
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
180
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
640
Docker and Python
trallard
47
4.2k
Automating Front-end Workflow
addyosmani
1370
210k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Producing Creativity
orderedlist
PRO
348
41k
Claude Code のすすめ
schroneko
67
230k
Embracing the Ebb and Flow
colly
88
5.2k
Making the Leap to Tech Lead
cromwellryan
135
10k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
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