LayerX エンジニアブログ

LayerX の エンジニアブログです。

SQLは口ほどにものを言うーRedashによるクエリ共有、監視、データ連携によるチーム効率化ー

f:id:naomasabit:20210704162817p:plain

こんにちは。DX事業部の花村(@naomasabit)です。先日の投稿でユーザーの利用状況確認のためにAWSのQuickSightを利用していると書きましたが、並行して分析ツールのRedashも利用しています。Redashの良い点としてクエリベースでの分析、監視アクション、スプレッドシートとのデータ連携が存在します。

SaaSチームの運営において、これらを活用したユースケースについて伝えていきます。

アドホックな分析クエリの共有によるコミュニケーション効率化

Redashでは、まずクエリベースでアドホックな分析クエリの共有が可能です。アドホックにデータ状況を見たいケースなどで、SQLを書いて分析が可能です。

f:id:naomasabit:20210702143207p:plain

書いたSQL文はURLベースでチーム内に共有できます。LayerXではBizメンバーがSQLを叩くことが日常となっているため、クエリを書いてささっと共有してコミュニケーションをしています。

f:id:naomasabit:20210704162434p:plain
Bizメンバーがクエリを書いてチーム内に共有する図

SQLがなければ、「調査したところX%のユーザーがYのアクションを行い〜」という文章で説明しなければいけませんが、SQLという共通言語を持つことでこのように「ほしい情報出せたろう(残りはクエリとデータセットを見て個々人それぞれコメントしよう)」という言葉だけでコミュニケーションが完了します。

エンジニア、カスタマーサクセス、セールスと多くのロールが混じり合うSaaS組織において、コミュニケーションの効率化に非常に役立ちます。SQLは口ほどにものを言います。

監視アクション設定によりデータ不整合にすぐ気づける体制整備

f:id:naomasabit:20210702110715p:plain

Redashはチェッククエリに基づいてアラートを設定することができ、設定した閾値条件になると指定した場所へ通知します。画像はアラート設定画面で、分析のためのクエリを別途設定し、その結果に基づいてアラートの閾値条件を設定します。通知先は様々設定できますが、LayerX インボイスではSlackを通知先に設定しています。

f:id:naomasabit:20210702135838p:plain

監視対象の通知が動くとSlackには画像のようなアラートが飛んできます。修正を施してアラート条件から脱すると、回復の通知も飛んできます。このような仕組みによりデータ不整合の検知と対応を素早くエンジニアができるようにしています。データ不整合は新たなデータ不整合を呼びがちなため、素早い監視が重要になる領域です。

システムエラーの監視にはDataDogを用いていますが、エラーの結果や意図していないオペレーションなどでデータ不整合が起きることが存在します。業務用SaaSであるLayerX インボイスでは、データ不整合が起きてはいけない箇所にチェッククエリを投げ、不整合があった場合はslackに適宜通知を投げるようにしています。データ不整合はそもそも起きないのがベストですが、あったとしても早め早めに気づいて対応し、素早く修正して傷口を最小限に防ぎ、改善していくサイクルを起こすことが肝要です。

複数チームからのデータソース連携によるヘルススコアダッシュボード作成

カスタマーサクセスにおいて、ユーザーがサービスをうまく活用してくれているかを測る「ヘルススコア」も監視しています。LayerX インボイスにおいてヘルススコアのインプットはサービス活用状況を集約したDBに限らず、成約前にセールスが得たユーザー企業の基礎情報なども含みます。

そのため、サービス活用状況のDBとセールスからの情報を合わせてヘルススコアを記録する必要があります。多くのサービスではS3などストレージとの連携には対応していますが、セールスチームが関連情報をCSVにしてアップロードしてS3に上げて連携…というのは非常に手間です。セールスチームにとって扱いやすいデータ形式のインプットを用意してあげる必要があります。

f:id:naomasabit:20210702132746p:plain Supported Databases, APIs and Integrations

redashは多くのIntegrationが用意されており、特にGoogle Spreadsheeetsとの連携は非常に便利です。Redashではスプレッドシートと連携することで、DBと同様のデータソースとして扱うことができます。セールスチームが慣れ親しんだスプレッドシートにデータを入れることで、情報が即時反映されます。

f:id:naomasabit:20210702134144p:plain

セールスチームから、成約した新規ユーザーをカスタマーサクセスチームに連携するとき、ユーザーの基礎情報をスプレッドシートに記入します。カスタマーサクセス業務においては、その基礎情報と分析用DBを突き合わせてヘルススコアを確認し、対策をカスタマーサクセスチームで練ってアクションに落とし込むことができます。

最後に - Redashと他の分析ダッシュボードツールの併用について

Redashを用いたデータの監視、複数のインテグレーションによるモニタリング効率化について書きました。Redashはリアルタイムのデータ監視や、データ連携が得意な一方、ドリルダウン分析などはRedashの得意な分野ではありません。簡単なダッシュボードを並べることは可能ですが、全体傾向から個別ユーザーの状況へ、複数のダッシュボードを組み合わせて深掘りするような分析においては、QuickSightやTableau、Lookerといったツールの方が適しています。いずれも予算帯との相談ではありますが、LayerX インボイスでは素早い分析や監視のためのRedashと、深掘りするための分析ダッシュボードツールも併用する運用にしています。

分析ツールと一言でいっても特性が様々に異なり、インテグレーションのサポートも様々です。そのような特性を見ながら、分析といってもケースを分けて最適なツールをそれぞれ選定していくことが重要なのだと思います。