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
『SUUMO』における行動履歴ログの品質担保の取り組み / techplay221101_03...
Search
Recruit
PRO
November 01, 2022
Technology
1
3.3k
『SUUMO』における行動履歴ログの品質担保の取り組み / techplay221101_03_niibori
2022/11/01_リクルートが考える『意思決定に効くデータマネジメント』~アナリティクスエンジニア組織の立ち上げと事例紹介~での、新堀の講演資料になります
Recruit
PRO
November 01, 2022
Tweet
Share
More Decks by Recruit
See All by Recruit
まなび領域における生成AI活用事例
recruitengineers
PRO
2
160
AI時代にエンジニアはどう成長すれば良いのか?
recruitengineers
PRO
1
260
AIを用いたカスタマーサポートの業務プロセス・組織変革の実現
recruitengineers
PRO
1
150
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
240
「Air ビジネスツールズ」のクライアントサポートにおける生成 AI 活用
recruitengineers
PRO
0
110
AI活用のためのアナリティクスエンジニアリング
recruitengineers
PRO
2
150
SaaS事業のデータマネジメント事例
recruitengineers
PRO
0
140
Kaggleで鍛えたスキルの実務での活かし方 競技とプロダクト開発のリアル
recruitengineers
PRO
1
470
LLM のプロダクト導入における開発の裏側と技術的挑戦
recruitengineers
PRO
1
190
Other Decks in Technology
See All in Technology
SaaSに宿る21g
kanyamaguc
2
180
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
620
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
230
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
0
340
私がよく使うMCPサーバー3選と社内で安全に活用する方法
kintotechdev
0
140
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
450
FastMCP OAuth Proxy with Cognito
hironobuiga
3
220
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
230
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
OCI技術資料 : 証明書サービス概要
ocise
1
7.1k
Bref でサービスを運用している話
sgash708
0
210
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
14k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Paper Plane (Part 1)
katiecoart
PRO
0
6.1k
A better future with KSS
kneath
240
18k
Abbi's Birthday
coloredviolet
2
6k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
330
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Transcript
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』における行動履歴ログの品質担 保の取り組み 1
データ推進室 データテクノロジーユニット D3M 部 HR/住まいD3Mグループ 新堀 秀和 2022/11/01
© Recruit Co., Ltd. All Rights Reserved 自己紹介 新堀 秀和
(にいぼり ひでかず) データ推進室 データテクノロジーユニット D3M 部 HR/住まいD3Mグ ループ グループマネージャー 2017年にリクルート住まいカンパニーに中途入社し、開発ディレクション 組織に配属。 入社して間もなく、データの利活用を推進する目的で、D3M 部の前身となるデータマネジメントグループの立ち上げに参画。 2021年 の会社統合後はHR領域と住まい領域のD3Mグループのマネージャーを 務めている。 好きな言語はPHP/JavaScript、好きなことはチームビルド/アジャイル カルチャー 2 #recruitdata
© Recruit Co., Ltd. All Rights Reserved まなび 領域 住まい
領域 データ推進室の組織構成 3 データテクノロジー ユニット SaaS 領域 データプロダクト ユニット HR 領域 データサイエンス部 データエンジニアリング部 … D3M (Data Driven Decision Making) 部 1. 白子 3.林田 2.新堀 山邉 データソリューションユニット #recruitdata
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』サービス 不動産クライアントとカスタマーを繋ぐメディア 4
#recruitdata
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』でのデータ利活用: 『SUUMO』では、メディア(Webサイト/アプリ)から取得できる行動履歴ログ(主に Webビーコン型のログ)を使って、
・機械学習を用いたリコメンドサービス開発 ・モニタリング(データマート/BI) 等に利活用している 5 Webサイト/アプリ Webビーコンロ グ 収集・加工・蓄積 (ETL, DWH,...etc) リコメンド サービス モニタリング #recruitdata
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』でのデータ利活用: 『SUUMO』では、メディア(Webサイト/アプリ)から取得できる行動履歴ログ(主に Webビーコン型のログ)を使って、
・機械学習を用いたリコメンドサービス開発 ・モニタリング(データマート/BI) 等に利活用している 6 Webサイト/アプリ Webビーコンロ グ 収集・加工・蓄積 (ETL, DWH,...etc) リコメンド サービス モニタリング #recruitdata アナリティクスエンジニアの主たる活動範囲
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』のフロント開発,データ開発 • フロント開発:
サイト/アプリメディアでは、マッチング向上(利便性向上等)の目的で、高頻度か つ継続的にSUUMOのUI/UX改善を実施 • データ開発: 行動履歴ログを使って、リコメンド/モニタリングなどを通してマッチング精度向 上 7 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』のフロント開発,データ開発 • フロント開発:
サイト/アプリメディアでは、マッチング向上(利便性向上等)の目的で、高頻度か つ継続的にSUUMOのUI/UX改善を実施 • データ開発: 行動履歴ログを使って、リコメンド/モニタリングなどを通してマッチング精度向 上 8 高頻度のUI/UX改善によりサイト/アプリが変更され、取得される行動履 歴ログが改変、リコメンドやモニタリングの障害原因となっていた #recruitdata
© Recruit Co., Ltd. All Rights Reserved Webサイト/アプリ Webビーコンロ グ
収集・加工・蓄積 (ETL, DWH,...etc) リコメンド サービス モニタリング なぜ、障害が発生するのか? • 行動履歴ログの埋め込みは、フロント開発で実施するが、フロント開発では行動 履歴ログがどのように使われているか把握できない • 結果、狙ったテストが実施できず、意図せずして、行動履歴ログが改変され、後続 のデータサービス障害が発生 9
© Recruit Co., Ltd. All Rights Reserved Webサイト/アプリ Webビーコンロ グ
収集・加工・蓄積 (ETL, DWH,...etc) リコメンド サービス モニタリング なぜ、障害が発生するのか? • 行動履歴ログの埋め込みは、フロント開発で実施するが、フロント開発では行動 履歴ログがどのように使われているか把握できていない • 結果、狙ったテストが実施できず、意図せずして、行動履歴ログが改変され、後続 のデータサービス障害が発生 10 【今日の話】 アナリティクスエンジニアが、フロントエンジニアと連 携して、行動履歴ログの品質担保
© Recruit Co., Ltd. All Rights Reserved 行動履歴ログの品質担保方法 ログ仕様(正解データ)を用意してテストする 11
#recruitdata
© Recruit Co., Ltd. All Rights Reserved 行動履歴ログの品質担保方法 ログ仕様(正解データ)を用意してテストする ただし、問題が、、、
• テストを実施すれば良いが、高頻度かつ継続的にサイト/アプリ開発を実施して いる中に、アナリティクスエンジニアが入ってテストを実施すると、改善スピード が阻害される 12 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 行動履歴ログの品質担保方法 ログ仕様(正解データ)を用意してテストする ただし、問題が、、、
• テストを実施すれば良いが、高頻度かつ継続的にサイト/アプリ開発を実施して いる中に、アナリティクスエンジニアが入ってテストを実施すると、改善スピード が阻害される → 自動テストで解決すれば良い 13 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 行動履歴ログの品質担保方法 ログ仕様(正解データ)を用意してテストする ただし、問題が、、、
• テストを実施すれば良いが、高頻度かつ継続的にサイト/アプリ開発を実施して いる中に、アナリティクスエンジニアが入ってテストを実施すると、改善スピード が阻害される → 自動テストで解決すれば良い 14 フロント開発で使えるE2E自動テストを組んで、行動履歴ログの品質担保 を実施 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 実際の取り組み内容と課題 E2Eテストフレームワークを使って、サイト/アプリの生成するWebビーコン型の行動 履歴ログが仕様通りの内容か、自動でテスト
①行動履歴ログの仕様管理 ②①を使って行動履歴ログの生成機能を自動テスト 15 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 実際の取り組み内容と課題 E2Eテストフレームワークを使って、サイト/アプリの生成するWebビーコン型の行動 履歴ログが仕様通りの内容か、自動でテスト
①行動履歴ログの仕様管理 ②①を使って行動履歴ログの生成機能を自動テスト 一般的なE2E自動テストと何が違うのか? 16 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 一般的な自動テスト 17 仕様書を作成
する テストコードを書 く テストを通す サイト情報 (URL/DOM) ログ 情報 結果確認 テスト 実行 テスト コード JS #recruitdata
© Recruit Co., Ltd. All Rights Reserved 課題(1) 仕様が更新されない 18
仕様書を作成 する テストコードを書 く テストを通す サイト情報 (URL/DOM) ログ 情報 結果確認 テスト 実行 テスト コード JS 更新されない #recruitdata
© Recruit Co., Ltd. All Rights Reserved 課題(1)の対応 : 仕様をテストコード管理
19 仕様をコード管 理 テストコードを書 く テストを通す 結果確認 テスト 実行 テスト コード JS サイト情報 ログ情報 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 課題(1)の対応 : 仕様をテストコード管理
20 仕様をコード管 理 テストコードを書 く テストを通す 結果確認 テスト 実行 テスト コード JS サイト情報 ログ情報 仕様を更新しないと、テストが通らないプロセス #recruitdata
© Recruit Co., Ltd. All Rights Reserved 課題(2) メンテナンスコストの高騰 21
仕様をコード管 理 テストコードを書 く テストを通す 結果確認 テスト 実行 テスト コード JS サイト情報 ログ情報 サイト改修のたび にエンハンス #recruitdata
© Recruit Co., Ltd. All Rights Reserved 課題(2)の対応 : テストコードの自動生成
22 仕様をDBに登 録 テストコードの 自動生成 テストを通す 結果確認 テスト 実行 テスト コード JS サイト情報 (URL/DOM) ログ情報 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 課題(2)の対応 : テストコードの自動生成
23 仕様をDBに登 録 テストコードの 自動生成 テストを通す 結果確認 テスト 実行 テスト コード JS サイト情報 (URL/DOM) ログ情報 テストコードの作成を不要にし、メンテナンスコストを抑制 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 実際の取り組み内容と課題 E2Eテストフレームワークを使って、サイト/アプリの生成するWebビーコン型の行動 履歴ログが仕様通りの内容か、自動でテスト
①行動履歴ログの仕様管理 → 仕様を更新しないと、テストが通らないプロセスを構築 ②①を使って行動履歴ログの生成機能を自動テスト → テストコードの作成を不要にし、メンテナンスコストを抑制 24 #recruitdata
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』における行動履歴ログのテストフロー 25 仕様をDBに登
録 テストコードの 自動生成 テストを通す 結果確認 テスト 実行 テスト コード JS サイト情報 (URL/DOM) ログ情報 ログ仕様をDBに登録するだけで、テストコードの作成が不 要で、テストを実行できるフロー #recruitdata
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』における行動履歴ログのテストフロー 26 仕様をDBに登
録 テストコードの 自動生成 テストを通す 結果確認 テスト 実行 テスト コード JS サイト情報 (URL/DOM) ログ情報 UI/UX改善による、行動履歴ログの予期せぬ改変なし 改善スピードをほぼ損なうことなく、データサービスの障害も0件 #recruitdata
© Recruit Co., Ltd. All Rights Reserved まとめ • データ開発:
◦ 行動履歴ログを使って、リコメンド/モニタリングなどを通してマッチング精度向上 • フロント開発: ◦ マッチング向上(利便性向上等)の目的で、高頻度かつ継続的にSUUMOのUI/UX 改善を実施 行動履歴ログの予期せぬ改変により、データプロダクトの障害発生 27 このコンフリクトを解消するために、アナリティクスエンジニアが、フロント エンジニアと連携して、行動履歴ログの品質担保を実施 #recruitdata
© Recruit Co., Ltd. All Rights Reserved この後のセッション 28 講演資料などのハッシュタグ
#recruitdata イベント終了後にアンケートのご案内もあ りますので、是非ご回答をお願いします! #recruitdata