弊社では5月頃から、開発の施策立案と効果測定のためにRedashの導入を進めているので、その活用方法を紹介します。
Redash導入前の課題
そもそも、開発チームとして以下のような課題がありました。
- 開発チームの成果が事業貢献ではなく、リリースした機能の数で評価されがち。
- リリースした機能の貢献が分からない。
- リリースした機能が、開発されっぱなしで、その後ユーザーに受け入れられているかどうか確認するサイクルがなく、その後の細かいチューニングもされたりされなかったりしている。
これらの問題は、
- 事業上の目標(売上等)が数値ベースでプロダクトの指標(PV、UU、登録数、クリック数)に落とし込めていないこと
- 指標を継続的に計測する手軽な仕組みがないこと
が原因です。
1が出来るようになるためにも、とりあえず2の計測の仕組みが必要になります。計測の仕組みが整備されてようやく事業の数字とプラットフォーム上の指標がどう連動しているかが見えてくるようになるからです。
このために導入したツールがRedashでした。
Redashとは
RedashはオープンソースのBIツールで、SQLを使って様々なデータソースからデータの取得、整形、可視化ができます。
Redashの導入
RedashはAWS上で構築しました。 Setting up a Redash Instance こちらからAMIを選択して起動すると設定無しでログインするところまで行けます。
マネージドのRedashについて
こちらでRedashを簡単に試すことが出来ます。料金もそれほどではないので、インスタンスのお世話をしない分こちらの方が楽なんじゃないか?と初期はこちらを検討しました。
しかし、少し試してみたところ、
- 外部のサービスをRDSに直接繋がなくてはいけない
- redash.ioのリージョンがアメリカ?にあるので、日本にあるRDSにつなげると地味に遅い
などの問題があったため、自前でインスタンスを設定することにしました。
Redashのログイン周り
RedashにはGoogleログインがあり、弊社では全てのメンバーがGSuiteのアカウントを持っているため、とても簡単にログインの設定をすることが出来ました。また、GSuiteのアカウント自体に多要素認証が設定されています。
また、Redashではデフォルトユーザーの権限が大きいのですが、社員誰でもなんでも見られるというようにはしたくなかったので、デフォルトの設定を変更しています。
詳しくはこちらの記事を御覧ください。
Redashの活用
データへのアクセスは
- 手軽であること
- 即時性があること
- 1箇所にまとまっていること
がとても大事だと実感しています。 Redashでは簡単にこれらを達成することが出来ます。
どんなサービスと連携させているか
弊社ではRedashでいろんなデータソースからデータを取っています。 Redashの便利な機能として複合クエリーという複数のデータソースから取ってきた結果に対して更にクエリーを書くという機能があるのですが、それを活用すればGoogleAnalyticsのデータとMySQLのデータをJoinしてグラフ化するといったことも可能になります。
主に以下のようなデータソースと連携させています。
- RDS(MySQL)
- GoogleAnalytics
- Googleスプレッドシート
- AmazonElasticsearchSearvice(アクセスログをElasticSearchに入れています)
- Salesforce
どんなダッシュボードを作っているか
弊社では
の2種類に分けて運用しています。
定期的に数値を確認するためのダッシュボードは、目標として置いている数字を追いかけるのに使ったり、サービス上の異常を検知するのに使います。
施策の結果を見るためのダッシュボードは、最上段にどんな施策をいつ実行して、どの指標がどれくらい向上するのを期待するのかというリストがあり、その下に実際の計測指標があります。
リリースした機能を週次で確認し、ユーザーに受け入れられているか、期待した効果が出ているかを確認しています。
どうやって運用しているか
RedashをSlack連携することによって、定時にRedash内の指標をSlackに通知してもらようにしています。
これはGunosyさんのブログを参考にしていて、手軽にSlackで定期的に数字を見るようになります。
社内布教活動について
Redashの導入とともに布教活動を行いました。
- エンジニア向けRedashの使い方
- 非エンジニア向けデータベースの構造とSQLの書き方
- 非エンジニア向けRedashの使い方
エンジニア向けのものはもちろんですが、これを機に非エンジニアにもSQLに触れてもらうことにしました。
導入した結果と今後
Redashの導入により、指標を継続的に計測する手軽な仕組みを手に入れることは達成できたのではないかなと思います。 目標の数値が毎日更新され定期的にSlack通知される事により、メンバーの数値への意識も向上しました。
また、開発メンバー以外にもSQLを書くメンバーが出始めたのはとても良い兆候だと思っています。
これからは、Redashでの可視化をより精緻化するとともに、より事業理解を深めて、事業の目標とサービス上の指標の紐付けを進めて行くことで、事業貢献が見える開発が出来るようにしていきます。