はじめに

みなさん、Lookerはご存知でしょうか?

LookerとはBI (Business Intelligence) ツールの一つで、BigQueryやRedshiftなどのクラウドのデータウェアハウスはもちろん、オンプレミスのデータベースなどに接続しデータを可視化することができます。2019年に買収によりGoogle傘下となりました。

今回は、このLookerを用いてアイレットの人事データを可視化する施策を行いましたので、そちらの紹介をしていきたいと思います。

現状の課題

アイレットの人事データは原則CYDASで管理していますが、退職時に人事と面談した際(以下、退職インタビュー)のデータや人事にざっくばらんに相談した際(以下、何でも相談)のデータはスプレッドシートで管理しています。
退職インタビューのデータは退職理由や給料や労働時間、環境などの満足度点数を持っていて、何でも相談では相談内容のカテゴリ分類や改善状況のステータスなどのデータを持っています。

これらのデータを関連付けた管理ができていないため、以下のような課題が生じていました。

  • すべての人事データを1つに集約することが難しい
  • 個人情報が含まれるため、細心の注意を払ってデータを取り扱う必要がある
  • 異なるデータソースで異なる方式のアクセス制御を設定する必要がある

そのため、今回これらの課題を解決するため、以下の取り組みを実施しました。

可視化の取り組み

データ入力のアプリケーション化

退職インタビューは人事が面談を行った際にスプレッドシートに直接手入力していましたが、退職者名・所属事業部・入社日などの情報も毎回入力する必要があるため作業負荷が高まっていました。
そこでAppSheetを用いて退職インタビュー入力のアプリケーション化を行いました。AppSheetはGoogleにより提供されている、ローコード開発ツールです。ローコードというのは極力アプリケーションのソースコードを記述せずにアプリケーションを開発する手法を表します。

AppSheetはスプレッドシートやExcel、MySQLなどのデータベースやBigQueryなどのデータウェアハウスをデータソースとして指定することができます。管理画面からスプレッドシートの列に対応する項目を設定していくことで、AppSheet内のアプリケーションから入力した情報がスプレッドシートに反映されていきます。
また、CYDASに格納されている人事データのマスターを人事がスプレッドシートに転記し、このスプレッドシートをBigQueryの外部テーブルのデータソースとして指定しています。CYDASのマスターと退職インタビューの社員番号を同一キーとして紐付けることで、AppSheetで社員番号を入力するだけで自動的に社員名・所属事業部・入社日などの基本的な情報を補完することができ、入力作業の負荷を軽減することができました。

また、AppSheetの一覧画面ではスプレッドシートに格納されている退職インタビューの情報をリスト表示することが可能です。

データ可視化

さて本題に入りますが、Lookerはデータソースに対してデータの集計条件を指定しタイル(グラフ)を作成し、タイルを組み合わせてダッシュボードを作成していきます。


今回はLookerのデータソースとしてすべてBigQueryを利用しています。
すべてBigQueryに統一した理由としては、社内データの将来的な統合管理に向けての取り組みも兼ねており、またデータを集約する上で大量のデータが扱え、Lookerとの相性も良いDWHという点を評価したためです。サポートがGoogleで統一できる点もポイントです。

CYDASのマスターデータは前述した通り外部テーブルとしてBigQueryに取り込み、退職インタビューや何でも相談のデータもCYDASのマスターと同じくスプレッドシートをBigQueryの外部テーブルのデータソースとして指定しています。こうすることで、AppSheetでデータ入力があった際にスプレッドシートが更新され、そのスプレッドシートを外部テーブルとして参照しているLooker側にもデータの変更が自動で反映されます。(必要に応じてLooker側でキャッシュのクリアは必要となります)

以下に今回作成したダッシュボードの一部を紹介します。


個人情報を含むためダッシュボードのすべてをお見せすることはできませんが、ここでは会計年度(FY〇〇)ごとの各満足度の割合や前年度との各満足度の平均点の比較を行っています。このような分析を行うことで、今年度はどの満足度が増加・低下しているのか、またその割合はどういった比率なのか、どの事業部でその傾向が顕著なのかといったことを把握することができます。
ダッシュボード上部にあるフィルタを設定することで、役職や所属事業部ごとに結果をフィルタすることが可能です。

他にも退職理由のポジティブ・ネガティブの割合の分析や、どの媒体を経由した入社なのかなどを分析しています。

どのような効果が得られたか

今回人事データをLookerで可視化したことにより、以下のような効果を得ることができました。

  • 退職傾向を把握することができ、退職防止策を講じる際の判断材料とすることができた
  • 人事データの閲覧をLookerで統一することができた
  • Lookerのロールにより人事データの閲覧権限を一元的に管理することが可能となった
  • 特定の満足度が著しく低下した際にSlackで通知を受け取り、迅速に把握することが可能となった
  • 役員へ定期的にダッシュボードを自動で配信することが可能になった

知っておきたいLookerの機能

最後に知っておくとよりLookerを活用できる機能について紹介をしていきます。
Lookerの一般的な使い方についてはすでに多くの記事が世の中に存在しますので、ここでは基本的な概念や使い方の解説は割愛しています。

スケジューリング機能

Lookerにはダッシュボードのスケジューリング機能があり、これによりダッシュボードをPDFなどのフォーマットで定期的に特定の宛先に配信することができます。
配信先としてはメールアドレスやWebhook、S3バケットなどがありますので特定時点でのレポート履歴を保存しておくといった使い方も可能です。

アラート

Lookerではダッシュボード内に作成したタイルごとにアラートを設定することができます。これにより特定の集計対象の値が、設定したしきい値を上回ったり逆に下回った際にSlackやEメールなどで通知を受け取ることができ、迅速な経営判断を下すことが可能となります。

ロール

Lookerはユーザーやグループの認証方式にRBAC (ロールベースアクセス制御) を採用しており、デフォルトで以下のロールが存在します。

  • 管理者
  • デベロッパー
  • ユーザー
  • 閲覧者

これにより特定のユーザーやグループごとにLooker上で実施できる操作を細かく制限することができます。また、これらのデフォルトのロールの他に権限を組み合わせてカスタムロールを作成することも可能です。

一点注意として、前述したアラートを作成するにはcreate_alerts権限が必要ですが、これはデフォルトのロールでは管理者にしか含まれません。

最後に

今回は、アイレットの人事データをLookerで可視化する取り組みを紹介しましたが、いかがでしたでしょうか?

Lookerのライセンス費用は決して安くはありませんが、使いこなすことで他のBIツールにはないユーザーエクスペリエンスを体験することができます。
今回は人事データを分析しましたがLookerは他にも、マーケティングデータやユーザーの動向分析などカテゴリ問わず様々なデータ分析を行うことが可能です。

この記事が皆さんのデータ分析を始める際の参考となれば幸いです。