Upgrade to Pro — share decks privately, control downloads, hide ads and more …

『SUUMO』における行動履歴ログの品質担保の取り組み / techplay221101_03_niibori

Recruit
November 01, 2022

『SUUMO』における行動履歴ログの品質担保の取り組み / techplay221101_03_niibori

2022/11/01_リクルートが考える『意思決定に効くデータマネジメント』~アナリティクスエンジニア組織の立ち上げと事例紹介~での、新堀の講演資料になります

Recruit

November 01, 2022
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. © Recruit Co., Ltd. All Rights Reserved
    『SUUMO』における行動履歴ログの品質担
    保の取り組み
    1
    データ推進室 データテクノロジーユニット D3M 部 HR/住まいD3Mグループ
    新堀 秀和
    2022/11/01

    View full-size slide

  2. © Recruit Co., Ltd. All Rights Reserved
    自己紹介
    新堀 秀和 (にいぼり ひでかず)
    データ推進室 データテクノロジーユニット D3M 部 HR/住まいD3Mグ
    ループ グループマネージャー
    2017年にリクルート住まいカンパニーに中途入社し、開発ディレクション
    組織に配属。 入社して間もなく、データの利活用を推進する目的で、D3M
    部の前身となるデータマネジメントグループの立ち上げに参画。 2021年
    の会社統合後はHR領域と住まい領域のD3Mグループのマネージャーを
    務めている。
    好きな言語はPHP/JavaScript、好きなことはチームビルド/アジャイル
    カルチャー
    2
    #recruitdata

    View full-size slide

  3. © Recruit Co., Ltd. All Rights Reserved
    まなび
    領域
    住まい
    領域
    データ推進室の組織構成
    3
    データテクノロジー
    ユニット
    SaaS
    領域
    データプロダクト
    ユニット
    HR
    領域
    データサイエンス部
    データエンジニアリング部

    D3M (Data Driven Decision Making) 部
    1. 白子 3.林田
    2.新堀
    山邉
    データソリューションユニット
    #recruitdata

    View full-size slide

  4. © Recruit Co., Ltd. All Rights Reserved
    『SUUMO』サービス
    不動産クライアントとカスタマーを繋ぐメディア
    4
    #recruitdata

    View full-size slide

  5. © Recruit Co., Ltd. All Rights Reserved
    『SUUMO』でのデータ利活用:
    『SUUMO』では、メディア(Webサイト/アプリ)から取得できる行動履歴ログ(主に
    Webビーコン型のログ)を使って、
    ・機械学習を用いたリコメンドサービス開発
    ・モニタリング(データマート/BI)
    等に利活用している
    5
    Webサイト/アプリ
    Webビーコンロ

    収集・加工・蓄積
    (ETL, DWH,...etc)
    リコメンド
    サービス
    モニタリング
    #recruitdata

    View full-size slide

  6. © Recruit Co., Ltd. All Rights Reserved
    『SUUMO』でのデータ利活用:
    『SUUMO』では、メディア(Webサイト/アプリ)から取得できる行動履歴ログ(主に
    Webビーコン型のログ)を使って、
    ・機械学習を用いたリコメンドサービス開発
    ・モニタリング(データマート/BI)
    等に利活用している
    6
    Webサイト/アプリ
    Webビーコンロ

    収集・加工・蓄積
    (ETL, DWH,...etc)
    リコメンド
    サービス
    モニタリング
    #recruitdata
    アナリティクスエンジニアの主たる活動範囲

    View full-size slide

  7. © Recruit Co., Ltd. All Rights Reserved
    『SUUMO』のフロント開発,データ開発
    ● フロント開発:
    サイト/アプリメディアでは、マッチング向上(利便性向上等)の目的で、高頻度か
    つ継続的にSUUMOのUI/UX改善を実施
    ● データ開発:
    行動履歴ログを使って、リコメンド/モニタリングなどを通してマッチング精度向

    7
    #recruitdata

    View full-size slide

  8. © Recruit Co., Ltd. All Rights Reserved
    『SUUMO』のフロント開発,データ開発
    ● フロント開発:
    サイト/アプリメディアでは、マッチング向上(利便性向上等)の目的で、高頻度か
    つ継続的にSUUMOのUI/UX改善を実施
    ● データ開発:
    行動履歴ログを使って、リコメンド/モニタリングなどを通してマッチング精度向

    8
    高頻度のUI/UX改善によりサイト/アプリが変更され、取得される行動履
    歴ログが改変、リコメンドやモニタリングの障害原因となっていた
    #recruitdata

    View full-size slide

  9. © Recruit Co., Ltd. All Rights Reserved
    Webサイト/アプリ
    Webビーコンロ

    収集・加工・蓄積
    (ETL, DWH,...etc)
    リコメンド
    サービス
    モニタリング
    なぜ、障害が発生するのか?
    ● 行動履歴ログの埋め込みは、フロント開発で実施するが、フロント開発では行動
    履歴ログがどのように使われているか把握できない
    ● 結果、狙ったテストが実施できず、意図せずして、行動履歴ログが改変され、後続
    のデータサービス障害が発生
    9

    View full-size slide

  10. © Recruit Co., Ltd. All Rights Reserved
    Webサイト/アプリ
    Webビーコンロ

    収集・加工・蓄積
    (ETL, DWH,...etc)
    リコメンド
    サービス
    モニタリング
    なぜ、障害が発生するのか?
    ● 行動履歴ログの埋め込みは、フロント開発で実施するが、フロント開発では行動
    履歴ログがどのように使われているか把握できていない
    ● 結果、狙ったテストが実施できず、意図せずして、行動履歴ログが改変され、後続
    のデータサービス障害が発生
    10
    【今日の話】
    アナリティクスエンジニアが、フロントエンジニアと連
    携して、行動履歴ログの品質担保

    View full-size slide

  11. © Recruit Co., Ltd. All Rights Reserved
    行動履歴ログの品質担保方法
    ログ仕様(正解データ)を用意してテストする
    11
    #recruitdata

    View full-size slide

  12. © Recruit Co., Ltd. All Rights Reserved
    行動履歴ログの品質担保方法
    ログ仕様(正解データ)を用意してテストする
    ただし、問題が、、、
    ● テストを実施すれば良いが、高頻度かつ継続的にサイト/アプリ開発を実施して
    いる中に、アナリティクスエンジニアが入ってテストを実施すると、改善スピード
    が阻害される
    12
    #recruitdata

    View full-size slide

  13. © Recruit Co., Ltd. All Rights Reserved
    行動履歴ログの品質担保方法
    ログ仕様(正解データ)を用意してテストする
    ただし、問題が、、、
    ● テストを実施すれば良いが、高頻度かつ継続的にサイト/アプリ開発を実施して
    いる中に、アナリティクスエンジニアが入ってテストを実施すると、改善スピード
    が阻害される
    → 自動テストで解決すれば良い
    13
    #recruitdata

    View full-size slide

  14. © Recruit Co., Ltd. All Rights Reserved
    行動履歴ログの品質担保方法
    ログ仕様(正解データ)を用意してテストする
    ただし、問題が、、、
    ● テストを実施すれば良いが、高頻度かつ継続的にサイト/アプリ開発を実施して
    いる中に、アナリティクスエンジニアが入ってテストを実施すると、改善スピード
    が阻害される
    → 自動テストで解決すれば良い
    14
    フロント開発で使えるE2E自動テストを組んで、行動履歴ログの品質担保
    を実施
    #recruitdata

    View full-size slide

  15. © Recruit Co., Ltd. All Rights Reserved
    実際の取り組み内容と課題
    E2Eテストフレームワークを使って、サイト/アプリの生成するWebビーコン型の行動
    履歴ログが仕様通りの内容か、自動でテスト
    ①行動履歴ログの仕様管理
    ②①を使って行動履歴ログの生成機能を自動テスト
    15
    #recruitdata

    View full-size slide

  16. © Recruit Co., Ltd. All Rights Reserved
    実際の取り組み内容と課題
    E2Eテストフレームワークを使って、サイト/アプリの生成するWebビーコン型の行動
    履歴ログが仕様通りの内容か、自動でテスト
    ①行動履歴ログの仕様管理
    ②①を使って行動履歴ログの生成機能を自動テスト
    一般的なE2E自動テストと何が違うのか?
    16
    #recruitdata

    View full-size slide

  17. © Recruit Co., Ltd. All Rights Reserved
    一般的な自動テスト
    17
    仕様書を作成
    する
    テストコードを書

    テストを通す
    サイト情報
    (URL/DOM)
    ログ
    情報 結果確認
    テスト
    実行
    テスト
    コード JS
    #recruitdata

    View full-size slide

  18. © Recruit Co., Ltd. All Rights Reserved
    課題(1) 仕様が更新されない
    18
    仕様書を作成
    する
    テストコードを書

    テストを通す
    サイト情報
    (URL/DOM)
    ログ
    情報 結果確認
    テスト
    実行
    テスト
    コード JS
    更新されない
    #recruitdata

    View full-size slide

  19. © Recruit Co., Ltd. All Rights Reserved
    課題(1)の対応 : 仕様をテストコード管理
    19
    仕様をコード管

    テストコードを書

    テストを通す
    結果確認
    テスト
    実行
    テスト
    コード JS
    サイト情報
    ログ情報
    #recruitdata

    View full-size slide

  20. © Recruit Co., Ltd. All Rights Reserved
    課題(1)の対応 : 仕様をテストコード管理
    20
    仕様をコード管

    テストコードを書

    テストを通す
    結果確認
    テスト
    実行
    テスト
    コード JS
    サイト情報
    ログ情報
    仕様を更新しないと、テストが通らないプロセス
    #recruitdata

    View full-size slide

  21. © Recruit Co., Ltd. All Rights Reserved
    課題(2) メンテナンスコストの高騰
    21
    仕様をコード管

    テストコードを書

    テストを通す
    結果確認
    テスト
    実行
    テスト
    コード JS
    サイト情報
    ログ情報
    サイト改修のたび
    にエンハンス
    #recruitdata

    View full-size slide

  22. © Recruit Co., Ltd. All Rights Reserved
    課題(2)の対応 : テストコードの自動生成
    22
    仕様をDBに登

    テストコードの
    自動生成
    テストを通す
    結果確認
    テスト
    実行
    テスト
    コード JS
    サイト情報
    (URL/DOM)
    ログ情報
    #recruitdata

    View full-size slide

  23. © Recruit Co., Ltd. All Rights Reserved
    課題(2)の対応 : テストコードの自動生成
    23
    仕様をDBに登

    テストコードの
    自動生成
    テストを通す
    結果確認
    テスト
    実行
    テスト
    コード JS
    サイト情報
    (URL/DOM)
    ログ情報
    テストコードの作成を不要にし、メンテナンスコストを抑制
    #recruitdata

    View full-size slide

  24. © Recruit Co., Ltd. All Rights Reserved
    実際の取り組み内容と課題
    E2Eテストフレームワークを使って、サイト/アプリの生成するWebビーコン型の行動
    履歴ログが仕様通りの内容か、自動でテスト
    ①行動履歴ログの仕様管理
     → 仕様を更新しないと、テストが通らないプロセスを構築
    ②①を使って行動履歴ログの生成機能を自動テスト
      → テストコードの作成を不要にし、メンテナンスコストを抑制
    24
    #recruitdata

    View full-size slide

  25. © Recruit Co., Ltd. All Rights Reserved
    『SUUMO』における行動履歴ログのテストフロー
    25
    仕様をDBに登

    テストコードの
    自動生成
    テストを通す
    結果確認
    テスト
    実行
    テスト
    コード JS
    サイト情報
    (URL/DOM)
    ログ情報
    ログ仕様をDBに登録するだけで、テストコードの作成が不
    要で、テストを実行できるフロー
    #recruitdata

    View full-size slide

  26. © Recruit Co., Ltd. All Rights Reserved
    『SUUMO』における行動履歴ログのテストフロー
    26
    仕様をDBに登

    テストコードの
    自動生成
    テストを通す
    結果確認
    テスト
    実行
    テスト
    コード JS
    サイト情報
    (URL/DOM)
    ログ情報
    UI/UX改善による、行動履歴ログの予期せぬ改変なし
    改善スピードをほぼ損なうことなく、データサービスの障害も0件
    #recruitdata

    View full-size slide

  27. © Recruit Co., Ltd. All Rights Reserved
    まとめ
    ● データ開発:
    ○ 行動履歴ログを使って、リコメンド/モニタリングなどを通してマッチング精度向上
    ● フロント開発:
    ○ マッチング向上(利便性向上等)の目的で、高頻度かつ継続的にSUUMOのUI/UX
    改善を実施
    行動履歴ログの予期せぬ改変により、データプロダクトの障害発生
    27
    このコンフリクトを解消するために、アナリティクスエンジニアが、フロント
    エンジニアと連携して、行動履歴ログの品質担保を実施
    #recruitdata

    View full-size slide

  28. © Recruit Co., Ltd. All Rights Reserved
    この後のセッション
    28
    講演資料などのハッシュタグ
    #recruitdata
    イベント終了後にアンケートのご案内もあ
    りますので、是非ご回答をお願いします!
    #recruitdata

    View full-size slide