LIFULL Creators Blog

「株式会社LIFULL(ライフル)」の社員によるブログです。

データの民主化を目指して ~ データ基盤ができるまで ~

こんにちは、データプラットフォームグループの樋口です。エンジニアとしてデータ基盤の構築・運用を約4年ほど担当しています。 今回は私達が「データの民主化」を目指してこれまでに取り組んできた事を振り返りながらご紹介したいと思います。

はじまり(2017年10月〜)

当時社内では以下のようなキーワードがトレンドでした。

  • データドリブン経営
  • データの民主化
  • データウェアハウス

しかしデータが十分に活用されているのは一部の部署や施策に限られており、「データの民主化」と呼ぶには程遠い状態でした。

データのサイロ化

データはLIFULL HOME'Sなどのサービスのために最適化されており、セキュリティやシステム保護の観点からデータにアクセスできる人は必要最小限に抑えられています。 また複数のデータベースやクラウドサービスに散在していて、いわゆる「データがサイロ化している」状態でした。

このような中でデータを活用しようと思うと、まずはデータの抽出をエンジニアに依頼する必要があります。しかしデータが容易に見られる環境ではないので、データ抽出の適切な要件を考える事がそもそも難しいのです。依頼を受けたエンジニアとしても特に面白くない作業に時間が取られる事になり、しかもデータを出してみたら「なんか違った・・」「もう一度データ抽出お願いしますー」なんて事がよくありました。

どう考えても効率が悪いです。こんな状態ではデータ活用は進みません。

データドリブンを推進する部署の発足

そんな状況を変えるためにデータドリブングループという部署が新設されました。グループのミッションは「社内のデータ活用を推進する事によって、各種業務の効率化を図り、経営を後押しする」です。メンバーは企画/マーケター×2名、エンジニア×1名(私)の3名体制でした。

ゼロからの手探りの状態でしたが、3人で下記のような事に取り組んでいきました。

社内のデータの調査

社内にある分析に使えそうなデータをリストアップし、データがどこにあるのか?どのような連携が可能か?を調査していきました。LIFULL HOME'Sなどのサービスのデータはもちろん、営業関連のデータや会計システム、既存のBIのツールの中身などを調査していきます。特にバックオフィス系では様々なSaaSや外注しているシステムが存在していて「データのエクスポートには追加の費用が必要かも?」という物もあったりしました。

データ分析のトライアル

営業部門と一緒にデータ分析による営業戦略の立案に取り組んでみました。 仮説を立てる → 関連データを集めてきて仮説を検証 → 筋がよさそうなら営業戦略に落とし込んで実行 → 結果を検証 というサイクルを回していきます。 具体的に作業を進めてみると「キーとなる情報がなくてデータが結合できない」「そもそもデータが無い」などの問題が浮き彫りになってくるので、今後のDWHやデータマート作成時に考慮すべきポイントが見えてきました。

DWHの構築

サイロ化しているデータを一箇所に集めて分析者が利用しやすい環境を作るために、データウェアハウス(DWH)を構築します。DWHにはGCPのBigQueryを採用しました。LIFULLではGoogle Workspaceを導入しており、社員全員がGoogleアカウントを持っているのでBigQueryへの権限付与も非常に手軽に実現できました。 BigQuery自体にも積極的に機能追加・改善が行われており安心感がありますね。個人的には殆ど非の打ち所のないサービスだと思ってます。

2期目(2018年10月〜)

非エンジニア向けの勉強会を実施

データ活用を進めるにはデータを扱える人も増やしていく必要があります。エンジニアへ依頼する事なく誰でもデータを取り扱える状態を目指しているので、非エンジニアの人を対象にSQLの勉強会を行いました。クエリの向き先は分析用のBigQueryなので、SQLに不慣れな人が多少無茶なクエリを実行しても大きな問題にはなりません。実際に実行しながら試せる環境があるのはとてもいいと思います。ただしクエリのコストの面では不安が残るので「ユーザー一人あたりのクエリ上限(Query usage per day per user)」などのキャップを設定しています。

Tableau

BIツールとしてはTableauを導入しています。こちらも利用者を増やすための勉強会を実施したり、各部署で追っている指標をTableauで可視化するサポートを行いました。 当初はTableau Desktop × Tableau Onlineの組み合わせで使っていましたが、利用アカウントの増加に伴いこの時期にTableau Serverへの切り替えを行っています。

Tableauは直感的なマウスの操作で綺麗なデータビジュアライゼーションができるのが売りですが、サッとデータを見たい時のビューワーとしても重宝しています。

3期目(2019年10月〜)

これまでは非エンジニア部門をメインのターゲットに置いてDWHを中心としたシステムを構築していましたが、エンジニア部門からもDWHのデータを使いたいという声が聞こえてくるようになりました。また各部署ごとにデータの準備にコストが割かれているという問題も表面化してきました。そこでデータの集積はデータ基盤に統合していく方針とし、データプラットフォームグループというエンジニアリング組織で管理していく体制になりました。

データレイクを備えたデータ基盤の構築

LIFULLではAWS上で稼働しているサービスが多いため、これらデータソースの一番近くに位置するデータレイクにはAWSのS3を採用することにしました。これまでもBigQueryの前段にあったCloud Storageが同等の役割を果たしていたのですが、これからは明示的にデータレイクを構築していきます。 同時にETLの実行環境もAWSのECSやStep Functionsを利用した構成にリプレイスしていきました。

これまでの構成

DWHを中心にGCPで構成

現在の構成

データレイクにS3を採用しAWS側にリプレイス

現在(2020年10月〜)

現在、データ基盤では約2,000のエンティティ、約4,000億レコードを管理しています。取り扱うデータ量や種類の増加に伴って運用コストも増加傾向なので、より効率化を図りながら規模を拡大していくことが目下の課題です。

まとめ

今回は「データの民主化」に向けて取り組んできたこれまでの流れを大まかに紹介させていただきました。システムの詳細や運用の仕組み、Tableau Server、失敗談など、個別の具体的な内容についてはまた別の記事でご紹介できればと思います。

最後にLIFULLでは一緒に働く仲間を募集しています。(※データ基盤開発のポジションもあります!) カジュアル面談も行っていますので興味のある方はぜひご応募ください!

hrmos.co

hrmos.co