顧客はアプリケーションと別の分析ツールの間で切り替えることを望んでいません。彼らは、すでに使用している製品内で、視覚化され、インタラクティブで、実用的なデータを確認したいと考えています。これが組み込み分析の約束です。分析機能はアプリケーションにシームレスに統合されているため、ユーザーはワークフローから離れることがありません。
データ分析とBIシリーズの一部
完全ガイドを読む顧客はアプリケーションと別の分析ツールの間で切り替えることを望んでいません。彼らは、すでに使用している製品内で、視覚化され、インタラクティブで、実用的なデータを確認したいと考えています。これが組み込み分析の約束です。分析機能はアプリケーションにシームレスに統合されているため、ユーザーはワークフローから離れることがありません。
SaaS 企業にとって、組み込み分析は、離脱を減らし (価値を感じたユーザーが長く滞在する)、プレミアム価格設定を可能にし (分析機能により上位階層が正当化される)、継続性 (ユーザーがダッシュボードを中心にワークフローを構築すると切り替えコストが増加します) を生み出す差別化要因となります。
Odoo またはカスタム プラットフォーム上に構築された社内ビジネス アプリケーションの場合、組み込み分析により、運用システムと BI ツール間のコンテキスト切り替えが不要になり、データに基づいた意思決定が自然なワークフローの一部になります。
重要なポイント
- 埋め込まれた分析により、データの洞察を別個のツールではなく製品エクスペリエンスの一部にすることで、ユーザー エンゲージメントが 2 ~ 3 倍に増加し、チャーンが減少します
- 3 つの埋め込みアプローチ (iframe、JavaScript SDK、ヘッドレス API) により、開発コストが増加しながらカスタマイズが増加します
- SaaS 製品では行レベルのセキュリティとマルチテナンシーは交渉の余地がありません --- すべての顧客はクエリ レベルで保証された自分のデータのみを参照する必要があります
- パフォーマンスの最適化 (キャッシュ、遅延読み込み、事前集計) により、埋め込みダッシュボードによるアプリケーションのユーザー エクスペリエンスの低下を防ぎます。
分析を埋め込む理由
ビジネスケース
SaaS 製品の場合:
- SaaS 購入者の 62% は、分析機能が購入決定に影響を与えると回答 (Logi Analytics)
- 埋め込みダッシュボードを操作するユーザーの維持率は 2.5 倍高い
- 分析機能により、上位層では 20 ~ 30% のプレミアム価格が正当化されます
- 埋め込みダッシュボードにより切り替えコストが発生 --- カスタム レポートと保存されたビューは移行が困難
内部アプリケーションの場合:
- 運用ツールと BI ツール間のコンテキスト切り替えを排除します。
- 意思決定の際に洞察を提供します (倉庫管理者は在庫分析を在庫リストと同じ画面で確認できます)
- 個別の BI ツール ライセンスの必要性を軽減します。
- すべてのユーザーが同じ管理された最新データにアクセスできるようにします
埋め込んではいけない場合
組み込み分析が常に正しい選択であるとは限りません。
- 初期段階の製品: 製品がまだ製品市場に適合しているかどうかを判断している場合、組み込み分析を構築するのは時期尚早です。ユーザーが実際に必要とする分析がわかるまでは、スタンドアロン BI ツールを使用してください。
- 強力なアナリスト: 一部のユーザーは、専用の分析ツール (カスタム SQL、複雑な結合、R/Python 統合) のフル機能を必要とします。組み込み分析は通常、完全な BI 機能のサブセットを提供します。
- データ量が少ない: 各顧客のレコードが 100 件未満の場合は、正式な分析レイヤーがなくても、アプリケーション内の単純なテーブルと概要カードで十分な場合があります。
埋め込みアプローチ
アプローチ 1: Iframe の埋め込み
最もシンプルなアプローチ。 BI ツールは各ダッシュボードの URL を生成し、アプリケーションはそれを iframe でレンダリングします。
仕組み:
- 埋め込みダッシュボードの署名付き URL または認証トークンを生成します。
- その URL を指す
<iframe>をアプリケーション内でレンダリングします。 - BI ツールは、すべてのレンダリング、対話性、およびデータ クエリを処理します。
利点:
- 実装が最も早い(数週間ではなく数時間)
- 完全な BI ツール機能が利用可能
- BIツールの機能追加時の自動更新
短所:
- 視覚的なカスタマイズが制限されている (ダッシュボードはアプリケーションではなく BI ツールのように見えます)
- クロスオリジン制限により認証が複雑になる可能性がある
- パフォーマンスはBIツールのレンダリング速度に依存します
- ユーザーは iframe をエスケープして完全な BI ツールにアクセスできる可能性があります
最適な用途: 社内アプリケーション、MVP、ラピッド プロトタイピング。
アプローチ 2: JavaScript SDK
多くの分析プラットフォームは、アプリケーション内のネイティブ コンポーネントとしてグラフやダッシュボードをレンダリングする JavaScript SDK を提供します。
仕組み:
- SDK (npm パッケージまたはスクリプト タグ) をインストールします。
- 認証資格情報を使用して初期化します。
- 個々のチャートまたは完全なダッシュボードを React/Vue/Angular コンポーネントとしてレンダリングします。
- アプリケーションの CSS テーマをコンポーネントに適用します。
利点:
- ネイティブのルック アンド フィール (アプリケーションの設計システムと一致)
- レイアウトとインタラクティブ性をきめ細かく制御
- 認証統合の改善 (既存のセッション トークンを渡す)
- 個別のチャートの埋め込み (完全なダッシュボードだけでなく)
短所:
- iframe よりも多くの開発労力がかかる
- SDK の機能と更新サイクルに関連付けられています
- バンドル サイズが大きい (SDK によりアプリケーションの JavaScript ペイロードが追加されます)
最適な用途: ブランド化された統合分析を必要とする SaaS 製品。
アプローチ 3: ヘッドレス / API ベース
分析プラットフォームのクエリ API を使用して、独自の視覚化レイヤーを構築します。独自のグラフ作成ライブラリ (Recharts、Chart.js、D3.js) を使用して、クエリの送信、データの受信、グラフのレンダリングを行います。
仕組み:
- 分析プラットフォームのデータ モデルに対して、またはウェアハウスに対して直接クエリを定義します。
- REST/GraphQL API 経由でクエリを実行します。
- JSONデータを受信します。
- 独自のフロントエンド チャート コンポーネントを使用してレンダリングします。
利点:
- 完全なデザイン制御 (アプリケーションにピクセル単位で完全に一致)
- バンドルへの影響が最小限 (SDK をロードしない)
- インタラクティブ性とユーザーエクスペリエンスにおける最大限の柔軟性
- 同じデータ ウェアハウスを直接使用できます
短所:
- 最大の開発労力 (独自の視覚化レイヤーの構築と維持)
- キャッシュ、状態のロード、エラー処理を自分で実装する必要がある
- エンド ユーザー向けのドラッグ アンド ドロップ ダッシュボード ビルダーはありません
最適な用途: 分析が中核機能であり、完全な設計制御が不可欠な製品。
組み込み分析ツールの比較
| 特集 | メタベース (埋め込み) | スーパーセット (埋め込み) | Cube.js (ヘッドレス) | プリセット (スーパーセット クラウド) |
|---|---|---|---|---|
| 埋め込み方法 | iframe + SDK | インフレーム | API + SDK | インフレーム |
| ホワイトレーベル | プロレベル ($85/月) | はい (OSS) | はい | はい |
| 行レベルのセキュリティ | JWT の主張 | 内蔵 | 内蔵 | 内蔵 |
| マルチテナント | JWT経由 | セキュリティルール経由 | データスキーマ経由 | ワークスペース経由 |
| カスタマイズ | 中程度 | 中程度 | フル | 中程度 |
| 自己ホスト型 | はい | はい | はい | いいえ(雲) |
| 価格設定 (ミッドマーケット) | $85-500/月 | 無料(OSS) | 無料(OSS) | $500+/月 |
| こんな方に最適 | 単純な埋め込み | 技術チーム | カスタムビジュアライゼーション | クイックスタート |
ほとんどの中堅企業にとって、Metabase の組み込み製品は、機能とシンプルさの最適なバランスを提供します。完全な設計制御が必要な製品の場合、ヘッドレス セマンティック レイヤーとしての Cube.js をカスタム React チャート (Recharts などを使用) と組み合わせることで、最大限の柔軟性が得られます。
行レベルのセキュリティ
行レベルのセキュリティ (RLS) により、各ユーザーまたはテナントがアクセスを許可されたデータのみを参照できるようになります。これは、マルチテナント アプリケーションの組み込み分析にとって最も重要な要件です。
実装アプローチ
JWT ベース (メタベース): アプリケーションは、ユーザーの ID と権限を含む JWT トークンを生成します。 Metabase はこれらのクレームを使用してデータを自動的にフィルタリングします。
JWT payload:
{
"user_id": 42,
"organization_id": "org_abc",
"role": "manager",
"department": "sales"
}
メタベースはフィルターを適用します: WHERE organization_id = 'org_abc' AND department = 'sales'。
クエリレベル (Cube.js): セキュリティ フィルターはデータ モデルで定義され、すべてのクエリに自動的に適用されます。
データベースレベル (PostgreSQL RLS):
PostgreSQL に組み込まれた行レベルのセキュリティ ポリシーは、データベース エンジン レベルでデータをフィルタリングし、最も強力な保証を提供します。クエリを実行する前に、SET app.current_org_id = 'org_abc' を介して現在のユーザー コンテキストを設定します。
マルチテナンシーのパターン
共有データベース、フィルターされたクエリ: すべてのテナントのデータは同じテーブル内にあります。クエリは organization_id でフィルタリングされます。管理が最も簡単で、数千の小規模テナントにとって最も効率的です。
共有データベース、個別のスキーマ: 各テナントには独自の PostgreSQL スキーマがあります。行レベルのフィルタリングよりも分離性が高くなりますが、大規模な管理は困難です。
個別のデータベース: 各テナントには独自のデータベースがあります。最大限の分離性を備えていますが、運用が複雑で高価です。厳格なデータ保存要件を持つ企業顧客向けに予約されています。
ほとんどの SaaS アプリケーションでは、行レベルのフィルタリングを備えた共有データベースが正しい選択です。すべてのクエリが例外なくテナント識別子でフィルタリングされるようにします。フィルターされていない単一のクエリはデータ侵害です。
パフォーマンスの最適化
埋め込みダッシュボードは、アプリケーションの残りの部分と同じ速度で読み込まれる必要があります。ユーザーは、フルページのダッシュボードの読み込み時間は 2 ~ 3 秒程度であれば許容できますが、個々のグラフや KPI のレンダリングは 1 秒未満であることが期待されます。
キャッシュ戦略
クエリ結果のキャッシュ: 一般的なクエリの結果を Redis または Memcached にキャッシュします。基礎となるデータが変更されると無効になります。ほとんどの BI ツールは、組み込みのクエリ キャッシュをサポートしています。
事前集計: 高トラフィックのダッシュボードの場合、集計 (日次収益、時間別注文数) を事前に計算し、マテリアライズド ビューに保存します。これにより、クエリの実行時間が数秒からミリ秒に短縮されます。
クライアント側キャッシュ: 最近取得したデータをブラウザーにキャッシュします。ユーザーが移動して戻ってきたときに、バックグラウンドで更新しながらキャッシュされたデータをすぐに表示します。
遅延読み込み
すべてのダッシュボード ウィジェットを同時にロードしないでください。表示されているウィジェットを最初に (スクロールせずに見える部分の上に) ロードし、ユーザーがスクロールすると、スクロールせずに見えるウィジェットを遅延ロードします。これにより、体感的なパフォーマンスが大幅に向上します。
ウィジェットの優先順位
ユーザーの行動に基づいて読み込み順序に優先順位を付けます。
- KPI カード: 最初にロードします (データが小さく、影響が最も大きい)
- プライマリ チャート: 2 番目の読み込み (ユーザーが注目するメインの視覚化)
- 2 番目のチャート: 3 番目をロードします (コンテキストをサポート)
- 詳細テーブル: 最後に読み込みます (大きなデータ、通常はスクロールせずに見える範囲の下にあります)
パフォーマンス予算
| コンポーネント | 目標ロード時間 | 戦略 |
|---|---|---|
| KPI カード | < 500ms | 事前に集約、キャッシュ |
| シンプルなチャート | < 1 秒 | キャッシュされたクエリ結果 |
| 複雑なチャート | < 2 秒 | 事前集計 + 遅延ロード |
| 詳細テーブル | < 3 秒 | ページネーション + 遅延ロード |
| フルダッシュボード | < 3 秒 | 並列ロード + 優先 |
実装ガイド
フェーズ 1: 基礎 (1 ~ 2 週目)
- 埋め込みアプローチを選択します (MVP には iframe、運用環境には SDK)。
- 分析プラットフォーム (Metabase または Cube.js) をセットアップします。
- データ ウェアハウス に接続するか、アプリケーション データベースに直接接続します。
- JWT クレームまたはデータベース レベルの RLS を使用して行レベルのセキュリティを実装します。
- 3 ~ 5 つのウィジェットを備えた 1 つの埋め込みダッシュボードを構築します。
フェーズ 2: 統合 (第 3 ~ 4 週)
- アプリケーションの設計システムに合わせて、埋め込みコンポーネントのスタイルを設定します。
- ユーザーが別の分析資格情報を必要としないように、SSO を実装します。
- アプリケーションのページと埋め込みダッシュボードの間にナビゲーションを追加します。
- パフォーマンスのためにクエリのキャッシュと事前集計を設定します。
- 複数のテナントを使用してテストして、データの分離を確認します。
フェーズ 3: ユーザー エクスペリエンス (第 5 ~ 6 週目)
- アプリケーションのコンテキストに応答する対話型フィルターを追加します (例: アプリで顧客を選択すると、埋め込みダッシュボードがフィルターされます)。
- 遅延読み込みとウィジェットの優先順位付けを実装します。
- エクスポート機能を構築します (PDF、CSV、スケジュールされた電子メール レポート)。
- 管理された境界内のパワー ユーザー向けに セルフサービス探索 を追加します。
- エンゲージメントを測定する: どのダッシュボードが、誰によって、どのくらいの頻度で使用されるか。
フェーズ 4: 上級 (2 ~ 3 か月目)
- 予測分析 ウィジェット (解約リスク スコア、需要予測) を追加します。
- アラートを実装します (KPI がしきい値を超えたときにユーザーに通知します)。
- ドメイン固有の視覚化のためのカスタム グラフ タイプを構築します。
- ユーザーが独自のダッシュボード ビューを作成して保存できるようにします。
- 維持、エンゲージメント、アップセル コンバージョンへの影響を測定します。
よくある質問
分析を埋め込むとアプリケーションの速度が低下しますか?
慎重に実装しないと、そうなってしまう可能性があります。 Iframe を埋め込むと、アプリケーションの読み込み時間に加えて BI ツールの読み込み時間が長くなります。 SDK を埋め込むとバンドル サイズが追加されます。 API ベースの埋め込みにより、API 呼び出しのレイテンシーが追加されます。軽減戦略 (キャッシュ、遅延読み込み、事前集約、静的資産の CDN 配信) により、影響は最小限に抑えられます。ダッシュボード全体の場合は 3 秒未満、個々の KPI カードの場合は 500 ミリ秒未満を目標にします。
ダッシュボードをカスタマイズしたいユーザーにどのように対処すればよいでしょうか?
段階的なアプローチを提供します。ほとんどのユーザー向けにインタラクティブなフィルターを備えた固定ダッシュボード、パワー ユーザー向けの構成可能なウィジェット レイアウト、アナリスト向けの完全なセルフサービス探索です。ほとんどの組み込み分析プラットフォームは、ある程度のエンドユーザーのカスタマイズをサポートしています。ユーザーごとのカスタマイズを BI ツールではなくアプリケーションのデータベースに保存すると、セッション間でカスタマイズが保持され、ユーザーのアカウントが追跡されます。
既存のメタベースまたはスーパーセット インスタンスから分析を埋め込むことはできますか?
はい。 Metabase の埋め込み機能 (Pro 層) は、JWT を介して行レベルのセキュリティを備えた署名付き iframe URL を生成します。スーパーセットは、埋め込みダッシュボード機能による認証による iframe 埋め込みをサポートしています。どちらも CORS ヘッダーと認証エンドポイントを構成する必要があります。新しい実装の場合、組み込み分析が内部分析と同じインスタンスを使用する必要があるか、分離とパフォーマンスのために専用のインスタンスを使用する必要があるかを評価します。
モバイルについてはどうですか?埋め込みダッシュボードはモバイル アプリでも機能しますか?
iframe の埋め込みはモバイル WebView でも機能しますが、エクスペリエンスは劣悪なことがよくあります (グラフが小さく、インタラクションが難しい)。 SDK と API のアプローチにより、モバイル レンダリングを完全に制御できます。モバイルの場合は、複雑な視覚化よりも KPI カードと単純な傾向グラフを優先します。デスクトップのダッシュボードを縮小するのではなく、モバイルに最適化されたレイアウトで最も重要な指標を表示する専用のモバイル分析ビューを構築することを検討してください。
次は何ですか
組み込み分析は、アプリケーションを人々が使用するツールから人々が依存するプラットフォームに変換します。これは、ETL パイプライン で始まり、データ ウェアハウス を経由して、セルフサービス探索 と 予測的洞察 を可能にする分析スタックの最後のレイヤーです。これらすべてが、組織全体でデータに基づいた意思決定を推進する、より広範な BI 戦略 をサポートします。
ECOSIRE は、SaaS 製品および社内ビジネス アプリケーション向けの組み込み分析ソリューションを構築します。当社の OpenClaw AI プラットフォーム はヘッドレス分析レイヤーを提供し、Odoo コンサルタント チームはダッシュボードを ERP ワークフローに統合します。顧客向け製品に分析を追加する場合でも、社内運用ツールに分析を追加する場合でも、当社はデータ ウェアハウスからレンダリングされたダッシュボードまでのフルスタックを処理します。
アプリケーションに分析を組み込むには、お問い合わせ してください。
ECOSIRE によって発行 --- Odoo ERP、Shopify eCommerce、OpenClaw AI にわたる AI を活用したソリューションで企業のスケールアップを支援します。
執筆者
ECOSIRE Research and Development Teamテクニカルライティング
ECOSIRE のテクニカルライティングチームは、Odoo ERP、Shopify による EC、AI エージェント、Power BI による分析、GoHighLevel による自動化、そしてエンタープライズソフトウェアのベストプラクティスを扱っています。私たちのガイドは、企業が十分な情報に基づいてテクノロジーを判断できるよう支援します。
関連記事
ビジネス インテリジェンスのためのデータ ウェアハウス: アーキテクチャと実装
ビジネス インテリジェンスのための最新のデータ ウェアハウスを構築します。 Snowflake、BigQuery、Redshift を比較し、ETL/ELT、ディメンション モデリング、Power BI 統合について学びます。
GoHighLevel ホワイトラベル SaaS: 独自のブランド マーケティング プラットフォームを構築
GoHighLevel を使用してホワイトラベル SaaS を構築するための完全なガイド。カスタム ドメイン、ブランディング、価格戦略、クライアントのオンボーディング、100 を超えるクライアントへの拡張。
Odoo Python 開発: 初心者とプロのための完全ガイド
モジュール構造、ORM API、ビュー、コントローラー、継承パターン、デバッグ、テストを網羅したこの完全なガイドで、Odoo Python 開発をマスターしましょう。
データ分析とBIのその他の記事
会計 KPI: すべての企業が追跡すべき 30 の財務指標
収益性、流動性、効率性、粗利益、EBITDA、DSO、DPO、在庫回転数などの成長指標を含む 30 の重要な会計 KPI を追跡します。
ビジネス インテリジェンスのためのデータ ウェアハウス: アーキテクチャと実装
ビジネス インテリジェンスのための最新のデータ ウェアハウスを構築します。 Snowflake、BigQuery、Redshift を比較し、ETL/ELT、ディメンション モデリング、Power BI 統合について学びます。
Power BI 顧客分析: RFM セグメンテーションとライフタイム バリュー
DAX 数式を使用して、RFM セグメンテーション、コホート分析、チャーン予測の視覚化、CLV 計算、カスタマー ジャーニー マッピングを Power BI に実装します。
Power BI と Excel: ビジネス分析をアップグレードする時期
データ制限、視覚化、リアルタイム更新、コラボレーション、ガバナンス、コスト、移行をカバーするビジネス分析に関する Power BI と Excel の比較。
ビジネスのための予測分析: 実践的な実装ガイド
販売、マーケティング、運営、財務全体にわたって予測分析を実装します。モデルの選択、データ要件、Power BI 統合、およびデータ文化ガイド。
Power BI を使用した財務ダッシュボードの構築
Power BI で財務ダッシュボードを構築するためのステップバイステップ ガイド。会計システムへのデータ接続、KPI の DAX 測定、損益の視覚化、ベスト プラクティスをカバーします。