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
Big Dataで価値を生み出すためのSmall Trial & Method
Search
Recruit Technologies
February 13, 2019
Technology
0
280
Big Dataで価値を生み出すためのSmall Trial & Method
2019/02/13 みんなのPython勉強会#42での、河野・内田の講演資料になります
Recruit Technologies
February 13, 2019
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
640
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
11k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
41k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
50k
TypeScript Bootcamp 2020
rtechkouhou
9
45k
Other Decks in Technology
See All in Technology
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
620
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
170
TypeScript、上達の瞬間
sadnessojisan
46
13k
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
190
The Rise of LLMOps
asei
7
1.7k
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
Lexical Analysis
shigashiyama
1
150
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
190
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
243
12k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
BBQ
matthewcrist
85
9.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Done Done
chrislema
181
16k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
We Have a Design System, Now What?
morganepeng
50
7.2k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
1 Big Data で 価値を生み出すため Small Trial & Method 2019-02-13
みんな Python勉強会#42 https://www.pexels.com/photo/adult-apple-device-business-code-340152/
お話しする内容 データを活用したプロダクト開発案件 について ・ど ようなシステムやプロセスを採用したか ・どういう工夫をしてきたか これらを踏まえて、ご紹介いたします。 2
各案件担当者と 共同発表という形でお伝えします 関心 あるトピックが見つかりましたら、ぜひとも交流タイムで各発表者とマッチングして リアルな目線で ディスカッションを楽しんでいただけたらと思います 内田 臣了 共同発表 3
河野 晋策 twitter / @lapis_zero09
1. じめに 2. レコメンド機能開発 3. 不正行為・規約違反行為対策 4. Jupyter Notebook Tips
4
1. じめに 5
今回ご紹介するプロダクト事例 6 婚活 恋活 http://www.recruit-mp.co.jp/service/zexy.html
市場 グロース期 ・米国で 結婚したカップル 1/3がオンラインで 出会い ・他ドメイン 大規模サービスに比べて、チームやプロダクトとして まだ発展途上 フェーズ
7
ほか:スタッフ用 業務管理ツールなど サブシステム システム概略(カスタマー向けアプリ) 8
データ基盤 9
データ基盤 BigQueryというクラウドDWHソリューションを利用 ・他ツールで そ まま再現できない手法も出てきます ・各自 環境に照らしながら聞いていただけれ と思います 10 Google
Cloud 発表資料より引用
データ活用(一部抜粋) 色々やっています 11
本日 これら2つ 案件開発についてご紹介します データ活用事例 12 レコメンド機能 不正行為・規約違反行為対策 http://image.itmedia.co.jp/l/im/ait/articles/1804/23/l_news011_04.jpg https://zexy-koimusubi.net/ https://www.irasutoya.com/2018/07/blog-post_403.html
2. レコメンド機能開発 Trial 13
自己紹介 内田 臣了 (Shinryo Uchida) リクルートテクノロジーズ ITエンジニアリング本部 プロダクトエンジニアリング部 APプロダクト開発グループ 2017年4月
新卒入社 リクルート 運営するサービス 検索改善業務に従事 柴犬が好き 14
Small Trial for Big Data ケーススタディを通してお伝えしたいこと ビッグデータを扱う案件であっても 1つ1つ 小さな分析・検証 積み重
である 15
サービス 16
ご利用 流れ 1. 異性を探す 2. いい !を送る 3. マッチングしたらメッセージを交換 4.
お見合い・デートを申し込み 5. 交際開始(退会) 17
ご利用 流れ 1. 異性を探す 2. いい !を送る 3. マッチングしたらメッセージを交換 4.
お見合い・デートを申し込み 5. 交際開始(退会) 18
おすすめ順 「異性を探す」ステップに関連 検索結果 並び順 ひとつ ユーザー プロフィール内容や行動に基づき スコアを算出しランキング お客様 出会いに大きく影響を与えるため
非常に重要な役割 19
おすすめ順 開発プロセス 今回 おすすめ順 開発プロセス 話をします (ロジック 中身 話 しません)
各工程 開発コストを下げて 高速にサイクルを回す工夫 誰でも 手軽に 開発 • 特定 開発者に縛られない • 素早いリリース • リスク 小さく 20 分析 実装 検証
おすすめ順 開発プロセス 21 分析 実装 検証
1. 分析 22 分析 実装 検証
Google BigQueryとJupyter Notebookによる分析 23 おすすめ順ロジック 改良 直感で なく必ずデータに基づいて行う 主要なデータ(個人情報除く) Google
BigQuery上に格納されており、 分析者 それにアクセスし作業する マッチング率 改善につながる 特徴量 作り込みや 施策 効果 見立てを行う
データ分析ハッカソン 24 4月に入社した新入社員たちを対象に データ分析ハッカソンを開催 入社数か月 新人でも すぐに分析に取りかかれる環境 詳しく こちら:リクルートテクノロジーズ 新人研修特別版(データ分析編) https://recruit-tech.co.jp/blog/2018/05/29/data_bootcamp2018/
2. 実装 25 分析 実装 検証
マイクロサービス化による高速リリース 26 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド クライアント サービス
バックエンドから検索エンジンに 直接クエリを投げる で なく、 おすすめ順ロジックを適用する機能をAPIとして切り出しそれを仲介
メリット:更新時 コスト・リスク 軽減 27 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド
クライアント 更新不要 更新不要 更新不要 更新 デプロイ 規模を小さくしてコスト・リスクを軽減 • ロジック 適用・切り戻しが容易 • 万が一 障害時、切り離しが容易 直接検索エンジンにリクエストする経路も用意
メリット:誰でもおすすめ順をカスタマイズ可能 28 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド クライアント レコメンド定義をJSONファイルに切り出し
➔ 誰でも容易にロジックを変更可能 • エンジニアに依頼せずとも企画者が直接定義を編集できる (実際にプロダクトマネージャや企画者がロジックを調整している)
3. 検証 29 分析 実装 検証
A/Bテストによる効果検証 30 定義A 定義B A群 B群 それぞれ 群で測定指標を比較 レコメンド API
A群 B群 • マッチング率 • いい !送信率 など • マッチング率 • いい !送信率 など 無作為に分け、異なるロジックを適用 比較 新ロジック適用前にA/Bテストでオンライン評価 ➔ 良い効果が観測された場合、新たなロジックを全適用する もし大きな毀損があった場合 、 即座に測定を中止し元 ロジックに切り戻しを実施
Redashを介したBigQueryクエリ共有 31 比較 測定用 クエリ 即実行可能な状態でRedashで共有 パラメータを指定して ボタンを押すだけで誰でも実行可能 データ基盤チームによる 主要KPI日次レポート
仕組みも存在
まとめ 32 小さく作って小さく試しながら 堅実にレコメンド機能を磨き込んでいる 速く作るために各工程で コストを小さくし 改善サイクルを高速に回す仕組みを整えている 分析 実装 検証
ビッグデータを扱う案件であっても 1つ1つ 小さな分析・検証 積み重 である
3. 不正行為・規約違反行為対策 Trial 33
' $%("!#&(
https://zexy-enmusubi.net/promise/
• • FS • '"$ • FS
• (&#'"$ • 2
• Recruit Technologies Co., Ltd. •
• @lapis_zero09 lapis-zero09 https://www.lapis-zero09.xyz/profile/ 3
4 FS 1 F( • KPI( •
C-E( 2 8G5 • ( 3 A8D • ! ) '" • 8G5'&%A8D( 4 A8D6BG9E0 • :C@G56BG9E0 • ,E1E>D • ROI'&%6BG9E0 5 247? • Minimum Viable Product*$ 1G<4.E39,'247?
https://zexy-koimusubi.net/static/promise.html5
6 ! • •
!
8<, 7 42:<9 ! • • "
&%' ! #0<7 42:<9' ! ' #-/17' +<6/*;.3)
1. 8 ;9?B>("+$/! * AKPI %*&,)8B7A .
3B=62@5:1 → A .#-
2. 9
2. 10
3. 4. 3. $' •
$' • ) 11 4. %)( • &#)%)( • (("' F 9 !! http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html (("'https://www.slideshare.net/ShinsakuKono/introduction-to-ensemble-methods-for-beginners
5. Feasibility Study5,6 12 READMEJ) 8:I • ?BQLZ]N=[S\B •
* • -J9I3 OY]U=7F1A • argparse MVP= DI • ! J+A • BOPTJG9 • %&#=[S\B'4 @7<EH/<!A • % B;DB • ^XT\VRMA@I C@ 03 _($J2<".
13 "(! FB
(% &# &# 'KPI
14 FS ( ) 1 F( • KPI( •
C-E( 2 8G5 • ( 3 A8D • ! ) '" • 8G5'&%A8D( 4 A8D6BG9E0 • :C@G56BG9E0 • ,E1E>D • ROI'&%6BG9E0 5 247? • Minimum Viable Product*$ 1G<4.E39,'247?
15 FS 1 2
3 " "!
-,03/! " (%/3+1'& 1. )$
2. #!)$ .03!2 16
17 &$,.+',.- p&$,.+#.) - p(%*"+
p"#! p 18
3;/9;:4)+, 1. &0158-" 2. 6;2 79;&* 3. $(#$*
ü0158 ü! ü 19
• ü"#$ ü%#! ü
• 20
%(" 21 $#'(& ! • •
! !!
Amazon EC2 $& * • * •
• )#'DB *!) 22 Web#% (*&
($@&/2?3=: 1. F; • )Deep Learing46>579A8,06*7<9+ 2. DCE;
• ($<: 3. /.1 • ($< -+ • #<!"'%-+ 23
4. Method編 34
35 ご清聴ありがとうございました https://www.pexels.com/photo/adult-apple-device-business-code-340152/