Da Vinci Studio インフラ基盤部データ分析チームの濱口です。
Da Vinci Studio のデータ分析チームでは、グループ内に溜まっている膨大なデータを日々分析・集計しています。そうして得られた学びについては、公開可能なものに限り Redash のダッシュボードとしてグループ内で確認できるようにしています。
ただ公開して終わりではなく、ダッシュボードがどれくらい見られているのかも計測して、グループ内のデータへの関心の把握やダッシュボードの改善などに繋げたいですよね。
というわけで今回は Redash 内のクエリやダッシュボードの閲覧状況を可視化した話についてまとめておこうと思います。
Redash の metadata
閲覧状況を可視化するにあたって Redash の内部データベースに貯まっている metadata を利用しました。 Redash の metadata には、登録ユーザーやユーザー権限、追加されたクエリやダッシュボードなど色々なデータが貯まっています。
events
というテーブルがあり、その中にユーザーの閲覧履歴や操作履歴が記録されるようになっています。
これを利用して閲覧状況を可視化してみましょう。
Redash で Redash の metadata にクエリを投げられるようにする
metadata に今回必要そうなデータが入っていることが確認できたので、次に Redash の metadata をデータソースに接続します。 今回は docker のコンテナに立てているので、それぞれ設定した値から host, port, user, password などを入力していきます。
設定を完了して、以下のようにテーブル一覧が確認できたら接続完了です。
events テーブル
ここまできたらあとはいつものごとくクエリを書いて events
テーブルのデータを集計します。
先ほどテーブル内容を紹介しましたが、その中の action に何の操作が行われたか、object_type に action の対象物が記録されています。ダッシュボードの閲覧であれば action = 'view' and object_type = 'dashboard'
の条件で絞り込むことでデータを確認できます。ここに users
テーブルや dashboards
テーブルを join すれば、誰が何のダッシュボード見ているのかを集計できます。
with t_base_events as ( select u.name user_name, e.action, d.name dashboard_name, e.created_at from events e join users u on e.user_id = u.id join dashboards d on cast(e.object_id as integer) = d.id where action = 'view' and object_type = 'dashboard' ) select dashboard_name, count(*) view_dashboard_count from t_base_events group by dashboard_name order by view_dashboard_count desc
action には他にも create, update, load_favorites, execute_query など、object_type は dashboard, query, page などが入っていて、色々な対象物の様々な操作履歴を把握できます。閲覧状況以外にも、誰がどれくらいクエリを書いているかやどれくらいダッシュボードを作成しているかもモニタリングできそうです。
ダッシュボード完成
大きく伸びている日は、新しくダッシュボードを追加して周知した日です。それ以外の期間では、あまり継続して見られていないことが分かります。何の情報をどういう見せ方にすれば興味を持って継続的に見てもらえるのか、まだまだ改善の余地があります。
また会社別に見てみると、直近でダッシュボードを見ている会社と見ていない会社で大きく差があることが分かりました。追加したダッシュボードに対して強く興味を示している会社は良いですが、あまり興味を示していない会社に対してはどういった情報だとより興味が惹かれるのかをもう少し深ぼりして考える必要があります。
まとめ
- Redash の metadata には様々な使えるデータが入っている
- events テーブルにありとあらゆるものの操作履歴が入っている
- Redash に接続して集計して可視化すると、閲覧状況や利用状況などをモニタリングできる
分析結果を Redash のダッシュボードで公開するのはもちろんですが、公開内容が見られているかどうか、しっかり計測までできるようになりました。今後のダッシュボードの公開内容やまとめ方の改善に繋げていきたいと思います。
最後までご覧いただきありがとうございました。
We are hiring!!
Da Vinci Studio では一緒に働ける仲間を絶賛大募集中です!募集職種と詳細に関しては、以下のリンクからそれぞれ確認できます。