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
910
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.4k
Other Decks in Technology
See All in Technology
エンタープライズInnerSourceと開発者ポータル
nogikazuma
1
110
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
140
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
360
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
1
1.1k
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
210
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
1.2k
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
360
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
2
2.8k
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
260
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
600
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
1
200
enechainの内製セルフサービスプラットフォーム
hiyosi
0
130
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
680
The agentic SEO stack - context over prompts
schlessera
0
910
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
450
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
GitHub's CSS Performance
jonrohan
1033
470k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
Crafting Experiences
bethany
1
300
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Scaling GitHub
holman
464
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
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