こんにちは、Shibayamaと言います。私たちの会社は、CodatumというSQLファーストなデータ分析ツールを開発しています。
今日は、なぜこのプロジェクトを始めたのか、その背景をお話ししたいと思います。
データに関わった15年の経験
私は15年近く、はじめは研究者として、そのあとはエンジニア、プロダクトマネージャー、そして経営者としてプロダクト開発に関わるデータ加工・分析に携わってきました。レポート画面用のクエリを作成したり、ユーザー行動を分析したり、障害対応でログを分析したり。さらには会社のコストやSaaSの利用状況を分析する際にもデータを活用してきました。
特に、Codatumの親会社であるPLAIDで、顧客データや自社データ、あらゆるデータをBigQueryに集めて利用できるようにしている経験は、データ加工・分析の重要性とその課題を深く理解する機会となりました。
これまでその重要性を活かすため、課題を解決するために、ありとあらゆるツールを使ってきました。Jupyter Notebook, Google Colab, BigQueryのコンソール、Mode Analytics、Looker、Domo、Google Spreadsheet、またはNode.jsやGolang等でのアプリケーションへの組み込み、などです。現状でもその多くのツールにはお世話になっていますし、会社にとって欠かせないパーツになっています(特に、Looker、Mode Analytics、Google Spreadsheetに関しては常に助けられています)。
しかし、強く課題を感じる部分もあります。
1. BIツールを使う人、構築する人、メンテナンスする人が限られる
多くの組織では、「コードが書ける人」をデータ分析に効果的に巻き込めていません。これは大きな機会損失です。エンジニアやSQL熟練者は、データを見ることも、そこから示唆を得ることも、それを共有することも好きです。彼らはデータの抽出と分析に高い能力を持っています。
しかし、多くのBIツールやドラッグ&ドロップ式のツールに馴染めず、壁を感じています。複雑な分析を行おうとすると、中間データの構築が必要になり、「コードで書けばすぐできるのに」というフラストレーションを感じています。
2. 結果データの新鮮さ、信頼性の判断がつかない
データが古くなっていたり、間違っていた時、若しくは新しい軸で分析したい時に、多くの場合データの加工やモデリングの世界と、分析の世界が分かれていて、しかも担当が異なっていることで、一気通貫で確認することができません。また、確認することができないため更新もできません。ここには、複数のツールを跨ぐデータ同期やパイプラインの問題と、ツール独自のGUIやDSL (Domain-Specific Language)によるブラックボックス性の問題が絡んでいます。
どちらも思考停止するほど勿体無い問題です。データから他では得難い示唆を得られることは、ここで書くまでもないでしょう。そこに、それを最も得意とするであろう人たちが距離を置いていたり、そのデータ自体が信頼できない状態にあること、は非常に勿体無い、若しくは悲しい状態であると思います。
私は、データ駆動を会社組織全体に広げるためには、この課題を解決する必要がある、と強く考えるようになりました。
エンジニア目線でのツールの背後にある課題感
このような組織的課題の背景には、ツールが抱えているいくつかの問題があると考えています。
1. 特有のGUIやDSLによるロックイン、学習コスト、制約、ブラックボックス化
多くの人は学習コスト自体を支払うことに抵抗はないと思いますが、そのツールでしか利用できない知識を得ることには後ろ向きになりがちです。また自由度が制限されたツール特有のGUIやDSLを学ぶことにも抵抗があります。
2. 複数ツール/言語を跨いだデータ定義、同期、パイプライン
データの加工・モデリングと分析が分離されることで、データの新鮮性と信頼性が失われます。
3. not エンジニアフレンドリー
3つ目はなんともシンプルな理由ですが、無視できないものだと考えています。エンジニアは、コードファーストでキーボードベースのUIが大好きです。多くのBIツールのメインターゲットがSQLを書かないビジネスユーザーであるが故に、SQLを書く体験は劣後しがちです。
これらの問題は、どれもエンジニアの世界でよく言われる課題意識です。ロックインされることを忌み嫌い、ブラックボックス化されることを嫌い、できる限り冗長性を排除し、そのデータが「本当に正しい」 のかを自分の手元に常に置いておきたい。そして誰に対してもオープンでありたいと考える、そのような課題意識です。
どう解決しようとしているのか
このような課題を解決するため、私たちはSQL (とMarkdownベースのBlock Editor) を中心に据え、そこからシームレスにデータ定義や加工、探索、ダッシュボード作成、共有まで行えるプロダクト「Codatum」を開発することにしました。
Codatumでは次のようなコンセプトを持っています。
1. 世の中の共通言語を利用したツール
独自のGUIやDSLベースではなく、SQLやMarkdown (Block Editor) をベースに、それらを隠蔽せずに使えるようにすることで、”誰でも必要な時にすぐ” 使えることを目指します。また、他の人が作っているもの、が誰でも読めて意見できて、ブラックボックス化させないことも目指します。
2. 一気通貫して同一言語で取り扱えるツール
SQLの保存やカタログ化の機能から、クエリの実行、チャートの作成まで対応します。つまり、SQLをベースにデータの加工・探索・分割が一気通貫してできるようにします。そうすることで、データの新鮮性と信頼性をできる限り保つことを目指しています。
3. コードファーストなUIデザイン
コードファーストでキーボードベースなUIを作ることでエンジニアが自ら使いたくなるツールを目指しています。また、サブクエリの分割、参照、クエリの実行、プレビュー、段階的な分析を可能にします。キーボードで一貫して操作でき、強力な補完機能や、データセットの横断的な検索機能を持っています。
どのような世界を目指しているのか
私たちの目標は、単なるツール提供を超えて、組織全体のデータ駆動文化を醸成することです。Codatumを通じて、エンジニアやSQL熟練者など「コードを書ける人」がデータ分析に積極的に参加し、その力を最大限に発揮できる環境を作りたいと考えています。
また、近年は、SQLを会社内の多くのメンバーに学んでもらう動きも一般的になってきています。LLMの大きな進捗によって、コードの生成や修正をAIに依頼することもできるようになっている昨今、Codatumにおいても、強力にLLMとの結合を、あらゆるところで行なっています。LLMの手を借りながら、若しくは熟練者の既存のコードを見ながら、初学者が「コードを書ける・データ分析をする人」になれる環境を提供したいと考えています。
Codatumは、「コードを書く人が嬉しい」、そして「コードを書く人が増えていく」最高のデータ分析・BIツールを目指しています。このビジョンに共感してくださる方々とともに、製品を進化させていきたいと考えています。
ぜひCodatumを試してみてください。そして、あなたの声を聞かせてください。データ駆動の未来を、ともに創造していきましょう。
無償アーリーアクセスプログラムの提供
Codatumでは、有償版の正式リリース(年末予定)まで、アーリーアクセスプログラムを提供しています。アーリーアクセスプログラムは、データ分析の基本機能に加え、チームスペース管理や権限管理など、上位プランに含まれる機能までを、15エディタまで無償で利用することができるプログラムです。(しかも使い始めてしまえば、有料版がリリースされても6ヶ月間は無償です!)
是非以下のURLからアーリーアクセスプログラムに登録お願いします!
また、Codatumは現在活発に開発をしています。今後も開発秘話などを流していく予定なので、是非Twitterアカウントの方をFollowして続報をお待ちください。