クラウド会計ソフトをリードするfreee 株式会社では、徹底したデータ経営を実践しています。製品戦略、マーケティング戦略、カスタマーサクセスのモニタリングなどすべてデータで検証可能にし、全社員がデータを共通言語にオペレーションをしています。今回、Amazon Redshift に保存された複数システムの業務データをSalesforce のダッシュボードからリアルタイム参照する仕組みをCData API Server にて実現されました。ビジネスサイド全員が使い慣れているSalesforce ダッシュボードから、営業関連データのみならずfreee サービスの利用状況、サポートといったデータを探索的にドリルダウンできることでデータ経営の高度化につながりました。
Challenges:
- Salesforce からDWH のリアルタイム参照
- 利用者によって異なるデータの粒度
- 速いスピードで変わるKPI へのフレキシブルな対応
Solutions:
- CData API Server + Redshift JDBC Driver でDWH をOData エンドポイント化
- Salesforce Connectを使い、ノーコーディングでリアルタイムクエリ
本件を企画・実装された、経営管理本部分析グループマネージャの鎌田さんとプロダクト基盤本部データエンジニアの中山さんにお話を伺いました。
Q: どういった背景で今回のプロジェクトが生まれたのでしょうか?
鎌田氏: freee では、経営はデータをベースに行われています。どんな機能を追加するべきか、どんなキャンペーンを打つべきかなどの意思決定はデータを使って検討され、その結果をモニタリングしながら短いサイクルでプロジェクトを回します。経営サイドやビジネスサイドから「こういうデータがほしい。このKPI のデータがほしい。」というリクエストが分析・基盤チーム来るので、それに対して素早く分析可能なデータを提供することが私たちのチームの役割です。
たとえば、freee では、仕分け入力の負担を削減するために多くの銀行口座やクレジットカードとの連携機能を提供しています。カスタマーサクセス担当は「どれだけのユーザーが銀行・カード連携機能をつかっているか?」という指標をKPI としてモニタリングします。そしてキャンペーン担当はどんなユーザーにキャンペーンを打てばよいかを知り、結果を比較することができます。サブスクリプションベンダーとして、このようなデータによる細かいフォローを絶えず行う必要があります。
Q: 分析データの提供においてボトルネックは?
鎌田氏: 1)ダッシュボードを別のBI ツールではなく、ビジネスサイドが使い慣れているSalesforce に一元化したい。Salesforce Connectは、メタデータ定義が不要でクエリも定型化されていて大変便利です。ただし、OData API という特定のデータしかフィードできないので実装方法に悩みました。2)ビジネスサイドで異なる粒度のデータを探索的に使う点。ビジネスサイドでは決して定型のレポートを求めているわけではないです。全体のKPI を個別のアカウントにブレイクダウンしたり、構成する要素のデータを見に行くこともあります。3) 必要となる切り口が速いスピードで変わる点。ビジネスサイドからはデータの切り口について多くのリクエストがあり、かつ頻繁に変わります。特定のデータセットをバッチで物理的にSalesforce に書き込む作業には多くの時間がかかり、目まぐるしい変化に対応することで無駄が生じていました。
Q: CData API Server で実現できたことは?
鎌田氏: 実装のポイントは、CData API Server を使ってSalesforce Connect外部オブジェクトにRedshift データをAPI でリアルタイムでフィードしたことです。Salesforce ダッシュボードで使いたいデータを選択するだけで、リアルタイムにAPI Server 経由でDWH であるRedshift にクエリが可能です。Redshift からバッチ処理でSalesforce 側に書き込むETL 処理を組む必要がなくなりました。結果として従来新しい切り口のデータをSalesforce ダッシュボードで利用できるようにするまでに1週間程度かかっていたのですが、1-2 日で提供できるようになりました。データセットの微修正もRedshift 側の修正だけで済むので対応が早くなりました。
Q: 実際にAPI Server を使われた感想は?
中山氏: Salesforce に詳しい社員からCData API Server について知り、スムーズに検証、開発を行うことができました。Salesforce Connect のフレームワークや標準I/Fをノーコーディングで活用できるAPI Server を使うことで、高い開発効率を達成できました。現状は重要度の高いKPI からリアルタイム連携を組みましたが、今後どんどんバッチからリアルタイムの仕組みにシフトしていきたいです。